这篇blog主要是讲如何搭建Hadoop集群,是继我上一篇手把手教你如何使用阿里云搭建Hadoop环境
环境下进行的,如果你还没看过上一篇blog,建议你先看一下如何搭建Hadoop环境,在继续往下看。如果你已经在自己的服务器上搭建好hadoop环境,那么集群相对环境的配置来说要简单的多,下面就开始搭建集群。
准备工作
- 两台服务器,一台做master,一台做worker,worker就是slave。建议用之前配置好的服务器做master,新的主机做worker。
master上的工作
第一步通过vim hadoop /etc/hosts在master中添加worker的hostname
worker1
worker2
worker3
.....
第二步配置ssh无密码登陆
1. 将master上的公钥xxx.pub复制到worker上的authorized_keys里面。
scp xxx.pub worker_ip
2. 在worker中更改一下文件的权限。
chmod 600 authorized_keys
chmod 700 .ssh
第三步将master中的配置好的hadoop目录复制到worker中
首先,在master中压缩hadoop文件,在拷贝到worker中。网上很多教程是直接拷贝文件夹到worker中,这种做法的效率极低,文件的传输很慢,一定要压缩后再拷贝文件。
tar czvf hadoop-2.8.1.tar hadoop-2.8.1
scp hadoop-2.8.1.tar worker_ip
worker上的工作
第一步修改hostname为对应的worker,并修改对应的hosts中的IP映射。
第二步配置java环境。
第三步配置/etc/profile
1、2、3步参考我的上一篇博客进行完成。hadoop环境搭建。
第四步将从master中拷贝过来的hadoop压缩包进行解压,并移动到software目录下。
这次就完成了hadoop集群的搭建。
回到master中,使用./sbin/start-all.sh开启Hadoop集群。
在master中执行hadoop dfsadmin -report查看集群是否正常启动,下图表示启动成功:
worker中执行jps,能看到datanode跑起来了:
友情赠送
使用ssh连接阿里服务器是不是经常断开???是不是要经常输入密码?下面告诉大家一个解决的办法,在/etc/ssh/sshd_conf中添加如下代码即可解决:
ClientAliveInterval 30
ClientAliveCountMax 86400
service sshd restart
通常要再连接一次才会生效。