[Hadoop] namenode HA 구성시 active namenode가 죽었을 때 다른 namenode가 자동으로 active로 선출되지 못하는 경우
Hadoop 2023. 12. 13. 18:06
nn1, nn2, nn3 이렇게 3대의 namenode를 구성하고,
failover 관련 hdfs-site.xml 설정은 아래처럼 sshfence로 구성.
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/exampleuser/.ssh/id_rsa</value>
</property>
failover 테스트를 위해 nn1 을 강제로 종료했는데,
다른 namenode가 자동으로 선출되지 않고 zkfc 로그에 아래와 같은 에러가 있음.
INFO org.apache.hadoop.ha.NodeFencer: ====== Beginning Service Fencing Process... ======
INFO org.apache.hadoop.ha.NodeFencer: Trying method 1/1: org.apache.hadoop.ha.SshFenceByTcpPort(null)
WARN org.apache.hadoop.ha.SshFenceByTcpPort: Unable to create SSH session
com.jcraft.jsch.JSchException: invalid privatekey: [B@7bb7a6d5
JSCH가 ssh 키를 PEM 포맷만 받아먹을 수 있어서 발생한 문제.
// id_rsa 생성할 때 이렇게 그냥 생성했었는데
ssh-keygen -t rsa
// 아래처럼 PEM 포맷으로 생성해주고 테스트하니까 failover가 정상 작동
ssh-keygen -t rsa -m PEM
'Hadoop' 카테고리의 다른 글
[Hadoop] hdfs, yarn 관련 데몬을 root로 실행할 때 에러 발생시 (0) | 2024.01.10 |
---|---|
[Hadoop] namenode 실행시 org.apache.hadoop.http.HttpServer2: HttpServer.start() threw a non Bind IOException port in use 9870 에러 발생하면서 실패 (0) | 2023.12.12 |
[Zookeeper] java.net.BindException: Cannot assign requested address (Bind Failed) 에러 발생시 (0) | 2023.12.06 |
[Hadoop] Streaming MapReduce (0) | 2015.05.21 |
[Hadoop] MapReduce 튜닝 (0) | 2015.05.15 |