Hadoop集群搭建
最近终于忙完了所以把hadoop简单集群的搭建也弄处来给大家参考,这个教程仅仅提供一个最简单的单纯的hadoop集群环境搭建并没有涉及到更多组建搭建例如zookeeper等等,因为是在前面单节点的基础上进行集群的搭建,其中基础环境的配置不再描述,请参见单节点构建文档http://blog.youkuaiyun.com/tyyytcj/article/details/76403380
基础环境准备
操作系统准备
采用virtualbox加ubuntu,5台虚拟机,地址信息如下,其中1台为master其余4台为slave,hosts文件如下
192.168.57.101 master
192.168.57.102 slave1
192.168.57.103 slave2
192.168.57.104 slave3
192.168.57.105 slave4
其中master为NameNode,slave1为SecondaryNameNode同时也充当DataNode
配置SSH免密访问
参见http://blog.youkuaiyun.com/tyyytcj/article/details/76036130
环境变量
jdk配置参见另外的linux下jdk配置文档
目录规划,在每个节点都如此设置:
软件目录:/home/hadoop/app
数据目录:/home/hadoop/data
同时创建hadoop用户和组
groupadd hadoop
useradd -d /home/hadoop -g hadoop hadoop
Hadoop部署
将下载好的hadoop软件加压到app目录
配置HDFS
修改hadoop common
hadoop@master:~ viapp/hadoop/etc/hadoop/hadoop−env.sh修改exportJAVAHOME= {JAVA_HOME} 为 export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
具体的要看所安装的jdk版本
修改master的core-site.xml文件,参考官方的配置手册进行配置
hadoop@node:~$ vi app/hadoop/etc/hadoop/core-site.xml
的
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!--默认HDFS路径-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/data/hadoop_${user.name}</value>
</property>
<!--设置hadoop临时目录为自定义目录-->
</configuration>
修改hdfs-site.xml
hadoop@master:~$ vi app/hadoop/etc/hadoop/hdfs-site.xml
<configuration>
<!-- 设置namenode的http通讯地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</value>
</property>
<!-- 设置secondarynamenode的http通讯地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>slave1:50090</value>
</property>
<!-- 设置namenode存放的路径 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/app/hadoop/name</value>
</property>
<!-- 设置hdfs副本数量 -->
<property>
<name>dfs.replication</name>
<value>4</value>
</property>
<!-- 设置datanode存放的路径 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data</value>
</property>
</configuration>
配置mapred
配置mapred-site.xml,首先需要做一步操作
hadoop@master:~ mvapp/hadoop/etc/hadoop/mapred−site.xml.templateapp/hadoop/etc/hadoop/mapred−site.xmlhadoop@master: vi app/hadoop/etc/hadoop/mapred-site.xml
<configuration>
<!-- 通知框架MR使用YARN -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
配置YARN
配置yarn-site.xml
hadoop@master:~$ vi app/hadoop/etc/hadoop/yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 设置 resourcemanager 在哪个节点-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!-- reducer取数据的方式是mapreduce_shuffle -->
<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>
这一步完成后需要将master配置好了的hadoop安装目录利用scp命令复制到slave节点
Master端配置Slave
在master节点配置相应的slave节点,这个只在master配置完成具体是一个slave文件
hadoop@master:~$ vi app/hadoop/etc/hadoop/slaves
slave1
slave2
slave3
slave4
配置好后master就能知道总共有4个slave节点进行控制
首次运行需要先格式化hdfs
hadoop@master:~$ ./app/hadoop/bin/hdfs namenode -format
然后再分别启动hdfs和yarn
hadoop@master:~ ./app/hadoop/sbin/start−hdfs.shhadoop@master: ./app/hadoop/sbin/start-yarn.sh
至此完成hadoop一个较为基础的集群环境搭建,可以通过一下地址访问到hadoop集群信息
http://192.168.57.101:50070
http://192.168.57.101:8088/cluster
后续将编写利用hadoop进行数据分析。