Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/hadoop/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
配置多模式Hadoop群集_Hadoop - Fatal编程技术网

配置多模式Hadoop群集

配置多模式Hadoop群集,hadoop,Hadoop,我正在尝试建立一个多节点集群,我有3台机器,其中一台作为namenode和datanode,另外两台作为datanode。我对所有机器都有不同的用户名,节点1有用户名hdfsadmin,节点2有用户名hduser,节点3也有用户名hduser。 问题是,当我尝试连接到datanode时,Hadoop抛出了一个连接拒绝错误,因为它希望datanodes的名称与namenode的名称相同,这在我的例子中是不同的。我如何解决这个问题 提前感谢否,不必为所有节点使用相同的主机名。 请核对以下各项: 1)

我正在尝试建立一个多节点集群,我有3台机器,其中一台作为namenode和datanode,另外两台作为datanode。我对所有机器都有不同的用户名,节点1有用户名hdfsadmin,节点2有用户名hduser,节点3也有用户名hduser。 问题是,当我尝试连接到datanode时,Hadoop抛出了一个连接拒绝错误,因为它希望datanodes的名称与namenode的名称相同,这在我的例子中是不同的。我如何解决这个问题


提前感谢

否,不必为所有节点使用相同的主机名。 请核对以下各项:

1) 确保您能够通过ssh连接到另一个节点

2) 确保在/etc/hosts文件中使用IP地址定义所有主机名

 hadoopmnmaster   192.168.56.11
 hadoopmnslave1   192.168.56.12
 hadoopmnslave2   192.168.56.13
 hadoopmnslave3   192.168.56.14
3) 在conf目录的master/slave文件中输入master/slave节点

4) 确保每个节点上都在运行守护进程


如果以上各项都符合要求,那么您的集群应该可以正常运行。

不,没有必要为所有节点提供相同的主机名。 请核对以下各项:

1) 确保您能够通过ssh连接到另一个节点

2) 确保在/etc/hosts文件中使用IP地址定义所有主机名

 hadoopmnmaster   192.168.56.11
 hadoopmnslave1   192.168.56.12
 hadoopmnslave2   192.168.56.13
 hadoopmnslave3   192.168.56.14
3) 在conf目录的master/slave文件中输入master/slave节点

4) 确保每个节点上都在运行守护进程


如果以上所有内容都符合要求,那么集群应该可以正常运行。

您应该更新每个ssh密钥 'ssh keygen-R用户名'
它将更新所有ssh密钥,并且u将被授权访问

您应该更新每个ssh密钥 'ssh keygen-R用户名'
它将更新所有ssh密钥,并且您将被授权访问

您可以共享确切的日志吗?您是否在这些节点和用户之间配置了无密码ssh?是的,我已经配置了它,但是为了在两台机器之间进行ssh,您还需要指定用户名,例如,ssh主机名将假定您当前登录的机器的主机名,为了使用不同的用户名ssh到另一台机器,我们需要运行sshusername@hostname,这就是问题所在。你能共享准确的日志吗?你在这些节点和用户之间配置了无密码ssh吗?是的,我配置了,但为了在两台机器之间进行ssh,你还需要指定用户名,例如ssh主机名将假定你当前登录的机器的主机名,为了使用不同的用户名ssh到另一台机器,我们需要运行sshusername@hostname,这就是问题所在。我说的是用户名,不是主机名。我说的是用户名,不是主机名。