说明
配置单机的hadoop也有一些时间了,参考了许多的博客,也做了好多的尝试,最后终于成功了,这里写下自己配置过程中的步骤,只要按照这个步骤来应该是不会有问题的。如果有问题可以回帖提问,楼主这里已经解决了好多的遇到的问题。注:这里的大多数操作时按照michael-noll的博客来进行的。
这里使用的hadoop是1.2.1其它版本的hadoop于此类似。下面开始进行配置:
Step1: 创建hadoop的用户组和用户名
~$ sudo addgroup hadoop
~$ sudo adduser - -ingroup hadoop hadoop
至此创建了hadoop用户组和hadoop用户名,下面让hadoop用户具有管理员的权限,修改 /etc/sudoers
~$ sudo vim /etc/sudoers
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL
下面切换到hadoop用户:
~$ su hadoop
Step2: 配置SSH
hadoop使用SSH进行通信,所以我们需要配置SSH,并且为了保证各节点在访问的过程中不需要手动输入密码,所以要配置SSH为无密码。
SSH无密码原理:master(namenode/jobtrack)作为客户端,要实现无密码公钥认证,连接到服务器slave(datanode/tasktracker)上时,需要在master上生成一个公钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的slave上。当master通过SSH连接slave时,slave就会生成一个随机数并用master的公钥对随机数进行加密,并发送给master。Master收到密钥加密数之后再用私钥解密,并将解密数回传给slave,slave确认解密数无误后就允许master进行连接了。这就是一个公钥认证的过程,期间不需要用户手工输入密码。重要过程是将客户端master复制到slave上。2.1 安装SSH
通过下面的命令安装ssh的服务器,一般客户端已经在ubuntu中安装过了。
hadoop@micaelpc:$ sudo apt-get install openssh-server
下面启动并测试是否安装成功:
出现如下表示安装成功,然后进行无密码的SSH的配置,因为博客截图上传图片不方便所以在一起截了。
至此完成了无密码的SSH配置。
需要说明的是,在