最近hjc在自学Hadoop所以就在公司闲置的服务器上搭建了1主3从的Hadoop集群并且测试成功了,所以写下来和大家分享一下,同时也梳理一下思路。如果有什么问题欢迎留言一起讨论学习。
集群环境:
10.0.0.101 master
10.0.0.102 seg1
10.0.0.103 seg2
10.0.0.104 seg3
下面我就开始讲解怎么样部署。
1、修改hosts文件(每台机器上都要修改而且内容是一样的。)
将上面的集群环境的内容拷贝的 /etc/hosts 文件中并保存,结合自己的IP和需要可以修改,我相信有Linux经验的这个不会困难的。
2、创建Hadoop的用户
主节点和从节点的用户名必须是一样的。密码设置成一样的方便管理。
$useradd hadoop
$passwd hadoop
3、设置ssh免密码登录
1)在每台服务器上执行如下命令
//切换到/root
#ssh-keygen -t rsa
//一直回车选默认的就好了
#cd .ssh
#cp id_rsa.pub authorized_keys
2)将所有服务器上的authorized_keys文件的内容合并成新的authorized_keys文件,复制到每台服务器上,覆盖原来的文件。
安装JDK
我相信这一点你肯定会的。哈哈,我就不说了啊。配置好JAVA_HOME;
4、下载Hadoop包
在master上解压,找到一下几个文件:hadoop-env.sh,hdfs.site.xml,core.site.xml,mapred.site.xml.
分别做如下修改:
在hadoop-env.sh中添加export JAVA_HOME=jdk安装路径
在hdfs.site.xml中添加:
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
在core.site.xml中添加
<property>
<name>fs.default.name</name>
<value>hdfs://10.0.0.101:9000</value>
</property>
注意这个地址必须是master的IP地址;
在mapred.site.xml中添加
<property>
<name>mapred.job.tracker</name>
<value>10.0.0.101:9001</value>
</property>
同时也注意这个 IP地址;
修改masters和slaves这两个文件
masters文件删除默认将主节点的名字:master添加进去;
slaves文件删除默认将从节点的名字:seg1,seg2,seg3写三行添加进去;
5、将Hadoop复制到各个从节点
首先切换到/home/hadoop下,当前用户为Hadoop用户
$scp -r hadoop-1.2.1 seg1:/home/hadoop
$scp -r hadoop-1.2.1 seg2:/home/hadoop
$scp -r hadoop-1.2.1 seg3:/home/hadoop
6、格式化namenode
在master节点上切换到Hadoop的包下执行如下:
$./bin/hadoop namenode -format
7、启动Hadoop集群
同样是Hadoop的包下执行如下
$./bin/start-all.sh
如果没报错就说明没问题。
通过Java中JDK的jps查看线程;不多讲;