hadoop集群详解

hadoop集群详解

我这里是两台机子(可以n台),所以每台机子都给了相同的用户名和密码(最好是这样,放在root下更好)。Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程。
【1】: 安装和启动SSH协议
所有机器上安装SSH协议并启动服务,在所有机器上执行以下命令:

$ sudo apt-get install ssh 安装SSH协议

$ sudo apt-get install rsync

$ ssh sudo /etc/init.d/ssh restart 启动服务

命令执行完毕,各台机器之间可以通过密码验证相互登陆
【2】:配置Namenode无密码登录所有Datanode
<1> : 原理
Namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到 datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到 datanode上。
<2> : 所有机器上生成密码对
hadoop@user-desktop:~$ ssh-keygen -t rsa
Generating public/private rsa key pair.

Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): 默认路径

Enter passphrase (empty for no passphrase): 回车,空密码

Enter same passphrase again:

Your identification has been saved in /home/hadoop/.ssh/id_rsa.

Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.

这将在/home/hadoop/.ssh/目录下生成一个私钥id_rsa和一个公钥id_rsa.pub。

cat id_rsa.pub >> authorized_keys
<3> : 配置每个Datanode无密码登录Namenode
Namenode连接 datanode时namenode是客户端,需要将namenode上的公钥复制到datanode上,那么,如果datanode主动连接 namenode,datanode是客户端,此时需要将datanode上的公钥信息追加到namenode中的authorized_keys之中。(此时,由于namenode中已经存在authorized_keys文件,所以这里是追加)。
在namenode上把id_rsa.pub复制到datanode上并且重新给命名
scp id_rsa.pub hadoop@172.0.8.226:~/.ssh/id_rsa_xp.pub
在datanode上把id_rsa.pub复制到namenode上并且重新给命名
scp id_rsa.pub hadoop@172.0.8.232:~/.ssh/id_rsa_br.pub
【3】 : 在各个namenode和datanode --- 执行命令 vi /etc/hosts 进入编辑状态
添加IP-主机映射关系
172.0.8.232 user-desktop
172.0.8.226 br-desktop
【3】 :开始配置hadoop-0.19.2

<1> : hadoop-0.19.2/conf/hadoop-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://172.0.8.232:9090/</value> <!--启动namenode-->
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://172.0.8.232:9091/</value> <!--启动jobtracker-->
</property>
<property>
<name>dfs.name.dir</name>
<value>/hadoop/namedata</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/hadoop/temp</value>
</property>

<2> : masters 配置namenode
<3> : slavers 配置datanode

<4> : 在namdenode的根目录下执行一下命令实行同步
rsync -ave ssh --delete --progress hadoop-0.19.2 br-desktop:~/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值