01 상황
- 리눅스 서버에서 Confluent (Kafka) 설치 시 zookeeper 등을 설치하려 dataDir을 잡아주는 설정 파일을 만들고자 함
- vi 명령어 사용
vi /opt/CONFLUENT-5.2.1_RHEL7.6/confluent-5.2.1/etc/kafka/zookeeper.properties
- 파일 내용 작성 후 :wq!로 저장하려 할 때 아래와 같은 에러가 남
~
~
~
"confluent-5.2.1/etc/kafka/zookeeper.properties"
"confluent-5.2.1/etc/kafka/zookeeper.properties" E212: Can't open file for writing
Press ENTER or type command to continue
- 여기서 ENTER를 누르면 파일이 생성되지 않고 다시 파일 내용 작성하는 화면으로 감
02 에러 이유
1. root 아닌 다른 사용자로 접속한 경우
- 파일을 생성할 권한이 없기 때문 (보통 root 사용자에게 파일 생성 권한이 있음)
2. 존재하지 않는 경로에 파일을 생성하려고 하는 경우
03 해결 방안
에러 이유 1 (root 아닌 다른 사용자로 접속한 경우)
- 방법 1: 파일 생성 시 "sudo vi 새파일명"으로 생성
- 즉, 앞에 "sudo" 붙여주므로서 파일을 생성할 권한이 있는 사용자로 파일 생성하기
- 방법 2: 파일 생성 후 저장 시 ":w !sudo tee % > /dev/null"로 저장하기
에러 이유 2 (존재하지 않는 폴더에 파일을 생성하려고 하는경우)
- 방법 1: 폴더 먼저 생성한 후 그 안에 파일 생성하기
참조