nifi 에서 putHDFS 등의 프로세서를 사용하여 연결하려면
HDFS 에서 사용하는 config 파일(core-site.xml, hdfs-site.xml)들이 필요함.
HDFS 서버와 NiFi 서버가 같은 서버가 아니라면,
NiFi 가 읽을 수 있도록 HDFS 서버로부터 NiFi 서버로 config 파일들을 옮겨오자.
아래 이미지와 같이, hadoop configuration resources 의 value 에
nifi 에서 접근 가능한 core-site.xml, hdfs-site.xml 을 comma 로 구분해서 넣어주면 됨.
config 파일 내에서 abc.def 등 ip 대신 이름을 사용하고 있다면
NiFi 서버 내 /etc/hosts 에 ip 와 abc.def 이름을 같이 적어주어
NiFi 가 이름을 보고도 ip 를 알 수 있도록 한다.
hdfs 와 연결은 되었으나, 권한 문제로 NiFi 에서 다음과 같은 로그가 뜰 수 있음.
08:24:50 UTCERRORc23d39a9-a414-1aba-ffff-ffffd870d511nifi-....local:8..1 ListHDFS[id=c23d39a9-a414-1aba-ffff-ffffd870d511] Failed to retrieve HDFS listing for subdirectory hdfs://abc/def/.... due to Permission denied: user=nifi, access=READ_EXECUTE, inode="/.....":hive:hadoop:drwx------ at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:399) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:261) at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.checkPermission(FSPermissionChecker.java:193) at org.apache.hadoop.hdfs.server.namenode.FSDirectory.checkPermission(FSDirectory.java:1857) ...... |
해석해보면, 지금 HDFS 에 접근하고 있는 유저 이름이 'nifi'인데, 읽기 실행을 요청했지만
READ 권한이 없어서 permission denied 가 떴음.
왜냐하면 'nifi' 유저가 읽고싶어했던 파일의 권한이 hive:hadoop:rwx------ 였으니까.
'nifi' 유저가 파일을 읽도록 하기 위해선
HDFS 의 root 권한이 있는 유저로 접근해서 해당 파일의 권한을 nifi 로 바꿔주면 된다.
예를 들어 다음과 같은 명령어를 사용함
hdfs dfs -chown -R nifi:nifi /abc/def/my-data |
아니면 소유권은 그대로 두되 읽기 권한만 주는 것도 괜찮겠다.
즉 chown 이 아니라 chmod 로 읽기 권한을 주는 것임
근데 이 방법은 내가 직접 해보지 않음.
참고
community.cloudera.com/t5/Support-Questions/NiFi-putHdfs-Error/td-p/206947
community.cloudera.com/t5/Support-Questions/PutHDFS-permission-problem/td-p/239853
community.cloudera.com/t5/Support-Questions/how-to-read-my-hdfs-data-into-nifi-cluster/td-p/157623
'NiFi' 카테고리의 다른 글
[NiFi] 처음 flow 생성시 도움되는 참고 링크(영어) (0) | 2021.02.04 |
---|---|
[NiFi] Apache NiFi Crash Course 필기 (1) | 2021.01.29 |
[NiFi] HA 관련하여 찾아본 정보 및 내 생각 (0) | 2021.01.15 |
[NiFi] Kerberos protocol 동작 순서 및 NiFi 적용 방법 링크 (0) | 2020.12.30 |
[Nifi] NiFi Registry 공부 필기 (0) | 2020.12.30 |