Bob*_*ish 7 ssh debian hadoop hadoop3
我在 debian/stretch64 上有一个 vagrant box 我尝试使用文档http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.htm安装 Hadoop3
当我运行 start-dfs.sh 时,我收到了这条消息
vagrant@stretch:/opt/hadoop$ sudo sbin/start-dfs.sh
Starting namenodes on [localhost]
pdsh@stretch: localhost: connect: Connection refused
Starting datanodes
pdsh@stretch: localhost: connect: Connection refused
Starting secondary namenodes [stretch]
pdsh@stretch: stretch: connect: Connection refused
vagrant@stretch:/opt/hadoop$
Run Code Online (Sandbox Code Playgroud)
当然,我尝试使用以下命令更新我的 hadoop-env.sh:export HADOOP_SSH_OPTS="-p 22"
ssh localhost 工作(无密码)
我不知道我可以改变什么来解决这个问题
Hug*_*iro 11
pdsh默认情况下工作方式存在问题(请参阅编辑),但 Hadoop 可以没有它。Hadoop 检查系统是否pdsh开启/usr/bin/pdsh,如果开启则使用它。摆脱使用的一种简单方法pdsh是编辑$HADOOP_HOME/libexec/hadoop-functions.sh
更换线
if [[ -e '/usr/bin/pdsh' ]]; then
Run Code Online (Sandbox Code Playgroud)
经过
if [[ ! -e '/usr/bin/pdsh' ]]; then
Run Code Online (Sandbox Code Playgroud)
然后hadoop不用了pdsh,一切正常。
编辑:
一个更好的解决方案是使用pdsh,但ssh不是rsh作为解释在这里,因此从替代路线$HADOOP_HOME/libexec/hadoop-functions.sh:
PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \
Run Code Online (Sandbox Code Playgroud)
经过
PDSH_RCMD_TYPE=ssh PDSH_SSH_ARGS_APPEND="${HADOOP_SSH_OPTS}" pdsh \
Run Code Online (Sandbox Code Playgroud)
Obs:export PDSH_RCMD_TYPE=ssh正如我在评论中提到的,只做是行不通的。我不知道为什么...
我也打开了一个问题并提交了一个补丁来解决这个问题:HADOOP-15219
小智 0
检查您的 vagrant box 上是否正在运行防火墙
chkconfig iptables off
/etc/init.d/iptables stop
Run Code Online (Sandbox Code Playgroud)
如果没有,请查看底层日志 /var/log/...
| 归档时间: |
|
| 查看次数: |
6045 次 |
| 最近记录: |