天天看点

CentOS7安装Hadoop集群

http://www.jianshu.com/p/a69972d8a119

安装Hadoop之前,请先安装好zookeeper集群并启动

参考

CentOS7安装Zookeeper集群

我这里准备了三台服务器,一台主机名为hadoop1(做NameNode),一台主机名为hadoop2(做DataNode),一台主机名为hadoop3(做DataNode)

192.168.1.186(hadoop1)

192.168.1.188(hadoop2)

192.168.1.18(hadoop3)

创建名为

hadoop

的用户,参考

CentOS7建立用户

将所有hadoop服务器,配置好

用户的免密码登录,让所有hadoop主机之间可以免密码互通

CentOS7配置ssh无密码登录

设置好zookeeper、hadoop所有服务器的

hosts

文件的内容

192.168.1.232   zookeeper1
192.168.1.200   zookeeper2
192.168.1.233   zookeeper3

192.168.1.186   hadoop1
192.168.1.188   hadoop2
192.168.1.18    hadoop3

           

切换到

用户,安装并配置hadoop,从

http://hadoop.apache.org/releases.html

找到一个你想要的版本,下载binary包(下载到hadoop1机上,配置完毕以后再复制到其他机器上),我这里下载的是hadoop-2.7.3.tar.gz

su hadoop

           
cd ~

           
wget http://119.90.25.43/mirrors.hust.edu.cn/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

           

解压缩,并重命名为hadoop

tar -zxvf hadoop-2.7.3.tar.gz

           
mv hadoop-2.7.3 hadoop

           

编辑

hadoop-env.sh

文件,修改JAVA_HOME部分,不知道java按照位置的请参考

CentOS7安装OpenJDK
vi ~/hadoop/etc/hadoop/hadoop-env.sh

           

[图片上传中...(image-6d2115-1513665884498-8)]

yarn-env.sh

文件,修改JAVA_HOME部分

vi ~/hadoop/etc/hadoop/yarn-env.sh

           

[图片上传中...(image-e6646e-1513665884498-7)]

slaves

文件,添加DataNode节点服务器的主机名,我这里添加了两个

vi ~/hadoop/etc/hadoop/slaves

           

[图片上传中...(image-f8ed7-1513665884498-6)]

建立临时文件夹

mkdir ~/hadoop/tmp

           

core-site.xml

文件

vi ~/hadoop/etc/hadoop/core-site.xml

           

添加如下内容

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop1:9000</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>zookeeper1:2181,zookeeper2:2181,zookeeper3:2181</value>
</property>
</configuration>

           

hdfs-site.xml

vi ~/hadoop/etc/hadoop/hdfs-site.xml

           
<configuration>
<property>
<name>dfs.http.address</name>
<value>hadoop1:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop1:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>

           

复制

mapred-site.xml.template

文件为

mapred-site.xml

cp ~/hadoop/etc/hadoop/mapred-site.xml.template ~/hadoop/etc/hadoop/mapred-site.xml

           

编辑其内容

vi ~/hadoop/etc/hadoop/mapred-site.xml

           
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop1:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>20</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1:19888</value>
</property>
</configuration>

           

修改

yarn-site.xml

vi ~/hadoop/etc/hadoop/yarn-site.xml

           

将其内容修改为

<configuration>
<!-- Site specific YARN configuration properties -->
<property>
 <name>yarn.resourcemanager.address</name>
<value>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
 <value>hadoop1:8030</value>
</property>
<property>
 <name>yarn.resourcemanager.webapp.address</name>
 <value>hadoop1:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

           

将配置好的hadoop文件夹复制到其他节点机器

scp -r ~/hadoop hadoop@hadoop2:~/
scp -r ~/hadoop hadoop@hadoop3:~/

           
cd ~/hadoop

           
./bin/hdfs namenode -format

           
./sbin/start-all.sh

           

[图片上传中...(image-237e8c-1513665884498-5)]

在NameNode机器中,使用jps命令,看到下面内容就说明成功了

[图片上传中...(image-f8865c-1513665884498-4)]

在其他DataNode节点查看jps

[图片上传失败...(image-ce60ab-1513665884498)]

[图片上传中...(image-264079-1513665884498-2)]

可以打开浏览器,查看

http://192.168.1.186:50070

一般我们是使用

http://hadoop1:50070

这个地址访问,因为hadoop1才是NameNode机器,当然,这需要你打开浏览器的那台机器配置hosts文件

[图片上传中...(image-41135c-1513665884498-1)]

[图片上传中...(image-315ed3-1513665884498-0)]

停止hadoop的命令

./sbin/stop-all.sh
           

继续阅读