Hadoop在执行start-dfs.sh时,会报“pdsh@localhost connect: Connection refused”的错误(其中的localhost也可以是hostname)
很多文章都提及export PDSH_RCMD_TYPE=ssh能解决问题,但该方法对新版无效。
新版有2个方法解决,都是通过修改$HADOOP_HOME/libexec/hadoop-functions.sh文件。
sudo vim $HADOOP_HOME/libexec/hadoop-functions.sh
方法一
把
if [[ -e '/usr/bin/pdsh' ]]; then
改成
if [[ ! -e '/usr/bin/pdsh' ]]; then
方法二
把
PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \
改成
PDSH_RCMD_TYPE=ssh PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \
也就是说,在前面加上PDSH_RCMD_TYPE=ssh