docker搭建hadoop HA出錯問題總結記錄。


錯誤1:

ssh連接雲主機:

ssh root@39.106.xx.xx

報錯:THE AUTHENTICITY OF HOST XX CAN’T BE ESTABLISHED

 

解決辦法:

ssh -o StrictHostKeyChecking=no root@39.106.xx.xx

輸入密碼,鏈接成功

與ssh中Host key verification failed問題一樣。

網上很多的解決方案是:vi ~/.ssh/known_hosts 刪除與想要連接的主機相關的行;或者直接刪除known_hosts這個文件。 當然這個方案也是可行的,但並非解決問題的根本辦法,因為繼續使用,今后還會出現這樣的情況,還得再刪除。
下面簡單講一下這個問題的原理和比較長久的解決方案。
用OpenSSH的人都知ssh會把你每個你訪問過計算機的公鑰(public key)都記錄在~/.ssh/known_hosts。當下次訪問相同計算機時,OpenSSH會核對公鑰。如果公鑰不同,OpenSSH會發出警告,避免你受到DNS Hijack之類的攻擊。
SSH對主機的public_key的檢查等級是根據StrictHostKeyChecking變量來配置的。默認情況下,StrictHostKeyChecking=ask。簡單所下它的三種配置值:
1.StrictHostKeyChecking=no
#最不安全的級別,當然也沒有那么多煩人的提示了,相對安全的內網測試時建議使用。如果連接server的key在本地不存在,那么就自動添加到文件中(默認是known_hosts),並且給出一個警告。
2.StrictHostKeyChecking=ask #默認的級別,就是出現剛才的提示了。如果連接和key不匹配,給出提示,並拒絕登錄。
3.StrictHostKeyChecking=yes #最安全的級別,如果連接與key不匹配,就拒絕連接,不會提示詳細信息。

對於我來說,在內網的進行的一些測試,為了方便,選擇最低的安全級別。在.ssh/config(或者/etc/ssh/ssh_config)中配置:

StrictHostKeyChecking no
UserKnownHostsFile /dev/null

修改好配置后,重新啟動sshd服務即可,命令為:/etc/init.d/sshd restart (或 service sshd restart

 


錯誤2:
nohup: failed to run command 'java': No such file or directory
解決:

在zkServer.sh文件開頭添加如下內容:

Bash代碼  
  1. export JAVA_HOME=/usr/lib/jdk  
  2. export PATH=$JAVA_HOME/bin:$PATH  

錯誤3:
2018-10-16 08:56:19,814 INFO org.apache.hadoop.ha.SshFenceByTcpPort.jsch: Authentication succeeded (publickey).
2018-10-16 08:56:19,814 INFO org.apache.hadoop.ha.SshFenceByTcpPort: Connected to master
2018-10-16 08:56:19,814 INFO org.apache.hadoop.ha.SshFenceByTcpPort: Looking for process running on port 8020
2018-10-16 08:56:19,824 WARN org.apache.hadoop.ha.SshFenceByTcpPort: PATH=$PATH:/sbin:/usr/sbin fuser -v -k -n tcp 8020 via ssh: bash: fuser: command not found
2018-10-16 08:56:19,825 INFO org.apache.hadoop.ha.SshFenceByTcpPort: rc: 127
2018-10-16 08:56:19,825 INFO org.apache.hadoop.ha.SshFenceByTcpPort.jsch: Disconnecting from master port 22
2018-10-16 08:56:19,825 WARN org.apache.hadoop.ha.NodeFencer: Fencing method org.apache.hadoop.ha.SshFenceByTcpPort(null) was unsuccessful.
2018-10-16 08:56:19,825 ERROR org.apache.hadoop.ha.NodeFencer: Unable to fence service by any configured method.
2018-10-16 08:56:19,825 WARN org.apache.hadoop.ha.ActiveStandbyElector: Exception handling the winning of election
java.lang.RuntimeException: Unable to fence NameNode at master/172.17.0.11:8020
at org.apache.hadoop.ha.ZKFailoverController.doFence(ZKFailoverController.java:545)
at org.apache.hadoop.ha.ZKFailoverController.fenceOldActive(ZKFailoverController.java:517)
at org.apache.hadoop.ha.ZKFailoverController.access$1100(ZKFailoverController.java:61)
at org.apache.hadoop.ha.ZKFailoverController$ElectorCallbacks.fenceOldActive(ZKFailoverController.java:903)
at org.apache.hadoop.ha.ActiveStandbyElector.fenceOldActive(ActiveStandbyElector.java:991)
at org.apache.hadoop.ha.ActiveStandbyElector.becomeActive(ActiveStandbyElector.java:888)
at org.apache.hadoop.ha.ActiveStandbyElector.processResult(ActiveStandbyElector.java:473)
at org.apache.zookeeper.ClientCnxn$EventThread.processEvent(ClientCnxn.java:599)
at org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:498)
2018-10-16 08:56:19,825 INFO org.apache.hadoop.ha.ActiveStandbyElector: Trying to re-establish ZK session
解決:
提示未找到fuster程序,導致無法進行fence,所以可以通過如下命令來安裝,Psmisc軟件包中包含了fuster程序:

sudo yum install psmisc

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM