Hadoop的集群搭建
主服务器 master --NameNode SecondaryNameNode ResourceManager
从服务器 slave1 --DataNode NodeManager
从服务器 slave2 --DataNode NodeManager
我们需要三个虚拟机 (做好一个后面克隆两个即可)
一、 关闭防火墙
关闭防火墙
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)
二、免密码登陆(配置)
三、 集群配置
1.上传安装包
JDK安装包
jdk-7u71-linux-x64.tar.gz
hadoop安装包
hadoop-2.8.0.tar.gz
2、安装解压 JDK Hadoop
tar -xvf jdk-7u71-linux-x64.tar.gz
tar -xvf hadoop-2.8.0.tar.gz
3、在跟目录中创建一个文件夹software 用来存放JDK和Hadoop
mkdir /software
4、配置环境变量 vi /etc/profile
以下代码 可以复制粘贴 (注意安装的版本)
JAVA_HOME=/home/hadoop/jdk1.7.0_71
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH
export HADOOP_HOME=/root/hadoop-2.8.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
5、退出当前用户 重新登陆 exit 检查JDK和Hadoop是否安装成功
java –version
hadoop –version
6、进入Hadoop的bin目录配置文件 (注意自己所安装的版本)
1)配置vi /hadoop-env.sh文件
export JAVA_HOME=/home/hadoop/jdk1.7.0_71
2)配置slaves文件,增加slave主机名
slave1
slave2
3)配置core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<!-- Size of read/write buffer used in SequenceFiles. -->
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<!-- 指定hadoop临时目录,自行创建 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/chenyun/hadoop/tmp</value>
</property>
/root/hadoop-2.8.0/etc/hadoop
7、配置hdfs-site.xml 需要创建一个文件夹 创建俩子文件 hdfs tmp
hdfs中创建name data 两个文件 mkdir …
(注意修改自己的路径)
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/root/Biglong/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/root/Biglong/hadoop/hdfs/data</value>
</property>
</configuration>
8、配置yarn-site.xml 以下代码不用修改
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- Configurations for ResourceManager -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
9、配置mapred-site.xml
注意: 先要copy一份
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
10、格式化节点
hdfs namenode –format (只需要安装的时候格式化一次即可 格式化多了会造成节点丢失)
11、hadoop集群全部启动 再sbin目录中输入
./start-all.sh
12、
15)通过web UI访问hadoop
http://192.168.80.128:50070 #整个集群
http://192.168.80.128:50090 #SecondaryNameNode的情况
http://192.168.80.128:8088 #resourcemanager的情况
http://192.168.80.128:19888 #historyserver(历史MapReduce运行情况)
13 、
Jps
如果节点如开头的一样 说明安装没有错误
启动JobHistoryServer 备注(查看MapReduce历史执行记录,和hadoop关系不大,可忽略此步骤)
cd hadoop-2.8.0/sbin
./mr-jobhistory-daemon.sh start historyserver
14、查看启动进程是否正常
在master节点输入 jps命令,将会显示以下进程:
3458 Jps
3150 SecondaryNameNode
2939 NameNode
3364 ResourceManager
在slave1、slave2上输入jps命名,将会显示以下进程:
2969 NodeManager
3191 Jps
2801 DataNode
如果进程不正常的话,进入hadoop-2.8.0/logs查看异常日志
master节点
1、hadoop-2.8.0/logs/hadoop-root-namenode-master.log #namenode日志
2、hadoop-root-secondarynamenode-master.log #SecondaryNameNode日志
3、yarn-root-resourcemanager-master.log #ResourceManager日志
slave1、slave2节日
4、hadoop-root-datanode-slave1.log #DataNode日志
5、yarn-root-nodemanager-slave1.log #NodeManager日志
15 、通过web UI访问
hadoop http://192.168.80.128:50070 #整个集群
http://192.168.80.128:50090 #SecondaryNameNode的情况
http://192.168.80.128:8088 #resourcemanager的情况
http://192.168.80.128:19888 #historyserver(MapReduce历史运行情况)
注意:
如果master节点一直没有namenode进程的话,集群可以分开启动
1)启动namenode:sbin/hadoop-daemon.sh start namenode
2)sbin/hadoop-daemon.sh start datanode