Contents

遇到的问题如下:
网上的帖子一般比较重步骤,每一步都很详细,但没有说明为什么,读者容易因为不知道为什么,而忽视一些问题,安装出错也不知道如何解决。所以写上一些为什么还是必要的。
1.SSH问题
1)集群配置中需要配置Master和Slave间的ssh无密码访问。需要的是master能够无密码访问slave中的每台机器,slave也能无密码访问master。Slave间不需要无密码访问彼此。这是因为hadoop的中心管理机制,master需要向slave传送管理、控制信息,slave需要向master汇报节点的情况等。这期间需要无密码访问,而slave间没有直接的通信。
2)相同用户名和机器名的问题。如果集群中机器的用户名和机器名都相同会造成SSH无密码访问的失败。SSH无密码访问的机制,大概的说是目标机器将公钥传给主机,主机存在文件中,当主机想要访问目标机器时,直接从文件中读取密码,不需要再手动输入。而一台机器可能保存多台机器的公钥,这就需要key来查找。在安装时发现公钥中用“用户名@机器名”的字样。发现如果用户名和机器名完全相同会造成密码查找失败。说明key值可能和用户名和机器名有关。这时需要修改机器名,因为相同的用户名能够简化配置。
3)别名。可以修改/etc/hosts文件,将集群中的机器的ip与一个别名相对应,这样配置时只需记住别名,不需要记住ip。
4)相同用户名。很多安装步骤中都说要创建一个单独的用于hadoop的用户名。相同的用户名可以使配置简单。master和slaves的配置只需要配置ip,不需要再使用用户名@ip的形式。并且ssh时也不再需要用户名@ip的形式,直接ssh \即可。。
5)修改/etc/hosts。修改/etc/hosts会造成ssh无密码访问失效。重启可能能够解决问题。我是重新配置了无密码访问。重启是否起作用下次再试。
2.配置文件问题
必须要配置的几个xml中,\<>标签中配置的东西尽量不要有空格。配置地址和端口的地方,地址是已hdfs://开头。

Contents