前言:
1、准备工作:
1、在 /opt 目录下创建 software module 两个目录,分别用来 放压缩包 和解压后的文件
并赋予 software module 可执行权限.
2、将下载的 jdk 压缩包,hadoop 压缩包解压到 module 目录下。
[root@hadoop102 ~]# cd /opt
[root@hadoop102 opt]# mkdir software/ module/
[root@hadoop102 opt]# chmod +x software/ module/
[root@hadoop102 opt]# cd software
[root@hadoop102 software]$ ls
hadoop-2.7.2.tar.gz jdk-8u144-linux-x64.tar.gz
[root@hadoop102 software]# tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module
[root@hadoop102 software]$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/
[root@hadoop103 opt]$ ll module/
drwxr-xr-x. 8 10 143 255 7月 22 2017 jdk1.8.0_144
drwxr-xr-x. 12 root root 186 5月 4 19:05 hadoop-2.7.2
1、配置环境变量
[root@hadoop102 opt]# vim /etc/profile
#配置环境变量
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
#Hadoop_HOME
export HADOOP_HOME=/opt/module/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
#Zookeeper_HOME
export ZOOKEEPER_HOME=/opt/module/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
#配置Hive_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
2、让修改后的文件生效
[root@hadoop102 opt]# source /etc/profile
3、测试JDK是否安装成功,hadoop 是否安装成功
[root@hadoop102 opt]# java -version
java version "1.8.0_144"
[root@hadoop102 hadoop]$ cd /opt/module/hadoop-2.7.2
[root@hadoop102 hadoop-2.7.2]$ hadoop version
Hadoop 2.7.2
4、集群分发脚本
[root@hadoop102 ~]# yum -y install rsync
[root@hadoop102 ~]$ cd /usr/local/bin/
[root@hadoop102 bin]$ vim xsync
在 xsync 文件下编写如下shell代码
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径 –P指向实际物理地址,防止软连接
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
5、修改脚本 xsync 具有执行权限
[root@hadoop102 bin]$ chmod 777 xsync
2、集群部署规划
HDFS :
hadoop102 Namenode Datanode
hadoop103 Datanode
hadoop104 SecondaryNameNode DataNode
YARN :
hadoop102 NodeManager
hadoop103 ResourceManager NodeManager
hadoop104 NodeManager
3、配置集群
core-site.xml slaves
hdfs-site.xml hadoop-env.sh
mapred-site.xml mapred-env.sh
yarn-site.xml yarn-env.sh
进入hadoop-2.7.2 配置文件目录
[root@hadoop102 ~]# cd /opt/module/hadoop-2.7.2/etc/hadoop
配置 slaves
[root@hadoop102 hadoop]# vim slaves
hadoop102
hadoop103
hadoop104
1、核心配置文件 core-site.xml
[root@hadoop102 hadoop]$ vim core-site.xml
在该文件中编写如下配置
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop102:9000</value>
</property>
<!-- 指定Hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>
2、HDFS配置文件
1. hdfs-site.xml
[root@hadoop102 hadoop]$ vim hdfs-site.xml
<!-- 指定Hadoop副本数 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- 指定Hadoop辅助名称节点主机配置 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop104:50090</value>
</property>
- hadoop-env.sh
[root@hadoop102 hadoop]$ vim hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
3、YARN配置文件
1、yarn-env.sh
[root@hadoop102 hadoop]$ vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
2、配置yarn-site.xml
[root@hadoop102 hadoop]$ vi yarn-site.xml
在该文件中增加如下配置
<!-- Reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop103</value>
</property>
4、MapReduce配置文件
配置mapred-env.sh
[root@hadoop102 hadoop]$ vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144
配置mapred-site.xml
[root@hadoop102 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[root@hadoop102 hadoop]$ vi mapred-site.xml
<!-- 指定MR运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
5.在集群上分发配置好的Hadoop配置文件
[root@hadoop102 hadoop]$ xsync /opt/module/hadoop-2.7.2/
6.查看文件分发情况
[root@hadoop102 hadoop]$ ssh hadoop103
Last login: Wed May 6 15:49:07 2020 from hadoop102
[root@hadoop103 ~]$ cat /opt/module/hadoop-2.7.2/etc/hadoop/core-site.xml
7、hadoop 集群群起脚本
[bigdata@hadoop102 ~]$ cd
[bigdata@hadoop102 ~]$ vim bin/hadoop-all.sh
#!/bin/env bash
case $1 in
"start"){
ssh hadoop102 "/opt/module/hadoop/sbin/start-dfs.sh"
ssh hadoop103 "/opt/module/hadoop/sbin/start-yarn.sh"
if [[ $? -eq 0 ]]; then
echo "INFO:======= 集群 启动成功 =========="
fi
};;
"stop"){
ssh hadoop103 "/opt/module/hadoop/sbin/stop-yarn.sh"
ssh hadoop102 "/opt/module/hadoop/sbin/stop-dfs.sh;sudo service mysql stop"
if [[ $? -eq 0 ]]; then
echo "INFO:======= 集群 关闭成功 =========="
fi
};;
"restart"){
ssh hadoop103 "/opt/module/hadoop/sbin/stop-yarn.sh"
ssh hadoop102 "/opt/module/hadoop/sbin/stop-dfs.sh"
ssh hadoop102 "/opt/module/hadoop/sbin/start-dfs.sh"
ssh hadoop103 "/opt/module/hadoop/sbin/start-yarn.sh"
if [[ $? -eq 0 ]]; then
echo "INFO:======= ${i} 查看状态成功 =========="
fi
};;
esac
版权声明:本文为qq_39297673原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。