一、 Linux 操作系统环境设置
安装环境
服务器集群 | 3 个以上节点,节点间网络互通,各节点最低配置:双核 CPU、8GB 内存、100G硬盘 |
---|---|
运行环境 | CentOS 7.4 |
服务和组件 | 完成前面章节的实验,其他服务及组件根据实验需求安装 |
二、SSH 无密码验证配置
步骤一:关闭防火墙,并设置防火墙开机不自启
systemctl stop firewalld.service
systemctl disable firewalld.service
步骤二:配置hosts映射文件
vi /etc/hosts
#在文件末尾添加以下配置信息
#主机IP地址+主机名
192.168.200.10 master
192.168.200.11 slave1
192.168.200.12 slave2
步骤三:将master节点的hosts文件,通过scp命令分发到slave1、slave2节点
scp /etc/hosts slave1:/etc
scp /etc/hosts slave2:/etc
步骤四:使用ssh-keygen生成私钥和公钥并使用rsa算法进行加密
master节点:
ssh-keygen -t rsa //执行命令后一直回车
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
slave1节点:
ssh-keygen -t rsa //执行命令后一直回车
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
slave2节点:
ssh-keygen -t rsa //执行命令后一直回车
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
验证ssh是否配置成功:
[root@master ~]# ssh slave1
Last login: Tue Jul 19 08:21:55 2022 from 192.168.200.1
[root@slave1 ~]#
三、在 Master 节点上安装 Hadoo
步骤一:将上传的hadoop-2.7.1.tar.gz 、jdk-8u152-linux-x64.tar.gz 安装包解压到/usr 目录下
tar -zxvf /opt/software/hadoop-2.7.1.tar.gz -C /usr/local/src/
tar -zxvf /opt/software/jdk-8u152-linux-x64.tar.gz -C /usr/local/src/
步骤二:将 hadoop-2.7.1 文件夹重命名为 hadoop ;jdk1.8.0_152 改成 jdk
mv /usr/local/src/hadoop-2.7.1 /usr/local/src/hadoop
mv /usr/local/src/jdk1.8.0_152 /usr/local/src/jdk
步骤三:配置 Hadoop 环境变量
vi /etc/profile
#在文件末尾添加以下配置信息
export JAVA_HOME=/usr/local/src/jdk
export HADOOP_HOME=/usr/local/src/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
步骤四:使配置的 Hadoop 的环境变量生效
source /etc/profile
步骤五:检查java是否可用,Hadoop是否生效
[root@master src]# java -version
#出现以下内容java可用
java version "1.8.0_152"\
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)\
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
[root@master src]# hadoop
#出现以下内容hadoop可用
Usage: hadoop [--config confdir] [COMMAND | CLASSNAME]
步骤六:执行以下命令修改 hadoop-env.sh 配置文件。
cd /usr/local/src/hadoop/etc/hadoop/
vi hadoop-env.sh
将export JAVA_HOME=${JAVA_HOME} 改成 export JAVA_HOME=/usr/local/src/jdk
四、配置 hdfs-site.xml 文件参数
vi hdfs-site.xml
#在文件中和一对标签之间追加以下配置信息
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/src/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
五、配置 core-site.xml 文件参数
vi core-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/src/hadoop/tmp</value>
</property>
六、配置 mapred-site.xml
cd /usr/local/src/hadoop/etc/hadoop
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
七、配置 yarn-site.xml
vi yarn-site.xml
#在文件中<configuration>和</configuration>一对标签之间追加以下配置信息
<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>
<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>
八、Hadoop 其它相关配置
步骤一:配置 masters 文件
vi masters
#加入以下配置信息
192.168.200.10 //master 主机 IP 地址
步骤二:配置 slaves 文件
vi slaves
#删除 localhost,加入以下配置信息
slave1 //或者slave1的IP地址
slave2 //或者slave2的IP地址
步骤三:新建目录
mkdir /usr/local/src/hadoop/tmp
mkdir /usr/local/src/hadoop/dfs/name -p
mkdir /usr/local/src/hadoop/dfs/data -p
步骤四:修改目录权限
chown -R hadoop:hadoop /usr/local/src/hadoop/
步骤五:同步配置文件到 Slave 节点
[root@master hadoop]#cd
scp -r /usr/local/src/hadoop/ root@slave1:/usr/local/src/
scp -r /usr/local/src/hadoop/ root@slave2:/usr/local/src/
步骤六:同步Hadoop配置文件到 Slave 节点
scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/
步骤七:使每个 Slave 节点上配置的 Hadoop 的环境变量生效。
[root@slave1 ~]# source /etc/profile
[root@slave2 ~]# source /etc/profile
九:配置 Hadoop 格式化
步骤一:进入到sbin目录下
cd /usr/local/src/hadoop/sbin/
步骤二:初始化集群
hadoop namenode -format
步骤三:启动HDFS
./start-dfs.sh
[root@master ~]# jps
10497 Jps
10162 NameNode
2863 SecondaryNameNode
[root@slave1 ~]# jps
9361 Jps
9288 DataNode
[root@slave2 ~]# jps
9527 Jps
9390 DataNode
步骤四:启动YARN
sbin/start-yarn.sh
[root@master ~]# jps
3041 ResourceManager
3298 Jps
2686 NameNode
2863 SecondaryNameNode
[root@slave1 ~]# jps
11876 NodeManager
11976 Jps
11771 DataNode
[root@slave2 ~]# jps
13600 Jps
13395 DataNode
13501 NodeManager
访问:master主机地址+:8088
访问:master主机地址+:50070