这个比赛我负责集群配置方向
集群配置如下:
| master | slave1 | slave2 | |
| ip地址 | 192.168.1.10 | 192.168.1.11 | 192.168.1.12 |
| 系统 | centos7.2 | centos7.2 | centos7.2 |
一、基础环境
1.修改主机名
master(192.168.1.10)上执行:
hostnamectl set-hostname master
slave1(192.168.1.11)上执行:
hostnamectl set-hostname slave1
slave2(192.168.1.12)上执行:
hostnamectl set-hostname slave2
2.关闭防火墙:
在三台机子上都执行(暂时关闭):
systemctl stop firewalld.service
systemctl disable firewalld.service(永久关闭)————>看情况使用这个命令
3.配置主机名:
在三台机子上执行:
vi /etc/hosts
然后按o换行进入编辑模式输入:
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
输入完之后摁esc键推出编辑模式,然后摁shift+;键输入wq推出即可。
如下图所示:
4.将时区更改为东八区(中国北京):
在三台机子上执行:
vi /etc/profile
在文件末尾输入:
TZ='Asia/Shanghai'; export TZ
退出/etc/profile文件后:
source /etc/profile
出现如下信息即可:
5.安装并配置ntp服务:
在三台机子上执行:
yum -y install ntp
在master上执行:
vi /etc/ntp.conf
在文件中注释所有server开头的文件:
在文件末端加上如下代码:
server 127.127.1.0 fudge 127.127.1.0 stratum 10
然后退出配置文件重启ntp服务:
systemctl restart ntpd
在slave1、slave2上执行:
ntpdate master
出现如下则成功
6.创建一个定时任务(从节点在早十-晚五时间段内每隔半个小时同步一次主节点时间)
在slave1、slave2上执行:
写定时任务:
crontab -e
在文件中输入:
*/30 10-17 * * * /usr/sbin/ntpdate master
7.远程免密登入
在master上执行:
ssh slave1
输入yes,然后输入slave1密码。 这一步是要生成.ssh/目录
cd /~/.ssh/
ssh-keygen -t rsa
然后摁三次回车
然后在依次输入命令:
ssh-copy-id master ssh-copy-id slave1 ssh-copy-id slave2
8.安装jdk软件包
在master上执行:
1.创建文件夹:
mkdir -p /usr/java
2.解压压缩包(注意压缩包所处的路径)
tar -zxvf /opt/software/jdk-8u141-linux-x64.tar.gz -C /usr/java/
3.修改/etc/profile文件:
vi /etc/profile
在文件末尾追加上
export JAVA_HOME=/usr/java/jdk1.8.0_141 export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
退出文件后:
source /etc/profile
然后分发文件到slave1,slave2机子上:
scp -r /usr/java/ slave1:/usr/ scp -r /usr/java/ slave2:/usr/
scp -r /etc/profile slave1:/etc/ scp -r /etc/profile slave2:/etc/
在slave1、slave2上执行:
source /etc/profile
二、Hadoop集群安装
在master上操作:
1.安装Hadoop安装包
mkdir -p /usr/hadoop tar -zxvf /opt/software/hadoop-2.7.2.tar.gz -C /usr/hadoop/
2.配置hadoop运行环境
vi /etc/profile 在文件末端输入如下内容: export HADOOP_HOME=/usr/hadoop/hadoop-2.7.2/ export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 退出文件后: source /etc/profile
3.配置全局参数:
cd /usr/hadoop/hadoop-2.7.2/etc/hadoop/ 进入到目录后: vi hadoop-env.sh
找到如下图:
修改为:
export JAVA_HOME=/usr/java/jdk1.8.0_141
然后修改全局文件:
vi core-site.xml 然后在和 中间加入以下配置文件:fs.default.name hdfs://master:9000 hadoop.tmp.dir /root/Hadoop_Data/tmp io.file.buffer.size 131072 fs.checkpoint.period 60 fs.checkpoint.size 67108864
4.配置hdfs参数:
在master上执行:
vi hdfs-site.xml 然后在和 中间加入以下配置文件:dfs.replication 2 dfs.namenode.name.dir /root/Hadoop_Data/name true dfs.datanode.data.dir /root/Hadoop_Data/data true dfs.namenode.secondary.http-address master:9001 dfs.webhdfs.enabled true dfs.permissions false dfs.datanode.use.datanode.hostname true
5.配置mapreduce参数:
cp mapred-site.xml.template mapred-site.xml vi mapred-site.xml 然后在和 中间加入以下配置文件:mapreduce.framework.name yarn
6.配置yarn框架运行环境:
vi yarn-env.sh 然后在文件末尾输入: export JAVA_HOME=/usr/java/jdk1.8.0_141配置集群资源管理参数:
vi yarn-site.xml 然后在和 中间加入以下配置文件:yarn.resourcemanager.address master:18040 yarn.resourcemanager.scheduler.address master:18030 yarn.resourcemanager.webapp.address master:18088 yarn.resourcemanager.resource-tracker.address master:18025 yarn.resourcemanager.admin.address master:18141 yarn.resourcemanager.aux-services mapreduce_shuffle yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.shuffleHandler yarn.nodemanager.aux-services mapreduce_shuffle
6.指定主节点和从节点,写入对应文件
在master上执行:
vi master 在文件写入: master
退出master文件后:
vi slave 将文件写成为: Slave1 Slave27.格式化集群,开启集群,查看 节点进程及集群状态 在master执行:
首先要分发文件: scp -r /usr/hadoop slave1:/usr/ scp -r /usr/hadoop slave2:/usr/ scp -r /etc/profile slave1:/etc scp -r /etc/profile slave2:/etc
在slave1、slave2上执行:
source /etc/profile
在master上执行:
hadoop namenode -format
出现0则表述初始化成功,如下图:
在master上启动集群:
start-all.sh
出现如下进程则显示正确:
三、Zookeeper 搭建
在master上执行:
1.安装 Zookeeper 软件包
mkdir -p /usr/zookeeper tar -zxvf zookeeper-3.4.9.tar.gz -C /usr/zookeeper/ cd /usr/zookeeper/zookeeper-3.4.9/conf
2.修改配置文件
在master上执行:
vi /etc/profile 在文件末端追加: export ZOOKEEPER_HOME=/usr/zookeeper/zookeeper-3.4.9/ export PATH=$PATH:$ZOOKEEPER_HOME/bin 退出文件后: source /etc/profile
修改zookeeper配置文件:
cp zoo_sample.cfg zoo.cfg mkdir /usr/zookeeper/zookeeper-3.4.9/zkdata mkdir /usr/zookeeper/zookeeper-3.4.9/zkdatalog vi zoo.cfg
然后找到如图所示的位置:
修改成为如下图:
代码如下:
dataDir=/usr/zookeeper/zookeeper-3.4.9/zkdata dataLogDir=/usr/zookeeper/zookeeper-3.4.9/zkdatalog server.1=master:2888:3888 server.2=slave1:2888:3888 server.3=slave2:2888:3888
保存退出文件后;
cd /usr/zookeeper/zookeeper-3.4.9/zkdata 分发文件: scp -r /usr/zookeeper slave1:/usr/ scp -r /usr/zookeeper slave2:/usr/ scp -r /etc/profile slave1:/etc/ scp -r /etc/profile slave2:/etc/ echo 1 >> myid
在slave1上执行:
source /etc/profile echo 2 >> /usr/zookeeper/zookeeper-3.4.9/zkdata/myid
在slave2上执行:
source /etc/profile echo 3 >> /usr/zookeeper/zookeeper-3.4.9/zkdata/myid
在三台机子上执行
zkServer.sh start
zookeeper关系如下图所示:
| master | slave1 | slave2 |
| follower | leader | follower |
具体情况如下图:



