Hadoop搭建完全分布式
***了解
创建Centos7通过虚拟机安装
虚拟机IP配置静态IP,如参考文件***
1.角色划分:
2.主机名和映射配置
- 主机名(3台机器)
vim /etc/hostname
node1/node2/node3
- Hosts映射(3台机器)
vim /etc/hosts
192.168.88.100 node1
192.168.88.101 node2
192.168.88.102 node3
服务器基础环境准备
1.防火墙关闭(3台机器)
systemctl stop firewalld.service #关闭防火墙
systemctl disable firewalld.service #禁止防火墙开启自启
2. ssh免密登录(node1执行->node1|node2|node3)
cd ~/.ssh # 如果没有该目录,先执行一次ssh localhost
rm ./id_rsa* # 删除之前生成的公匙(如果已经存在)
ssh-keygen -t rsa # 执行该命令后,遇到提示信息,一直按回车就可以
ssh无密码登录本机:
cat ./id_rsa.pub >> ./authorized_keys
拷贝此公钥到其他机器
scp ~/.ssh/id_rsa.pub hadoop@Slave1:/home/hadoop/
在其他机器上配置主机免密登录:
mkdir ~/.ssh # 如果不存在该文件夹需先创建,若已存在,则忽略本命令
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
rm ~/id_rsa.pub # 用完以后就可以删掉
3. 集群时间同步(3台机器)
yum -y install ntpdate
ntpdate ntp4.aliyun.com
4.安装Java
tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/
/opt/module/jdk1.8.0_212
5.安装Hadoop
tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
/opt/module/hadoop-3.1.3
6.配置PATH环境变量
#JAVA环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
#HADOOP环境变量
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
7.
8.配置文件修改
参考文件如***
- hadoop-env.sh
cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim hadoop-env.sh
|
#配置JAVA_HOME export JAVA_HOME=/opt/module/jdk1.8.0_212 #设置用户以执行对应角色shell命令 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root |
- core-site.xml
cd /opt/module/hadoop-3.1.3etc/hadoop/
vim core-site.xml
|
|
- hdfs-site.xml
cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim hdfs-site.xml
|
|
- mapred-site.xml
cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim mapred-site.xml
|
|
- yarn-site.xml
cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim yarn-site.xml
|
|
- workers
cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim workers
|
hadoop100 hadoop101 hadoop102 |
8分发同步安装包
- 在node1机器上将Hadoop安装包scp同步到其他机器
cd /opt/module/
scp -r hadoop-3.1.3 root@hadoop101: /opt/module/
scp -r hadoop-3.1.3 root@hadoop102: /opt/module/
9配置Hadoop环境变量
- 在node1上配置Hadoop环境变量
vim /etc/profile
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
- 将修改后的环境变量同步其他机器
scp /etc/profile root@hadoop101:/etc/
scp /etc/profile root@hadoop102:/etc/
- 重新加载环境变量 验证是否生效(3台机器)
source /etc/profile
hadoop #验证环境变量是否生效
10.NameNode format(格式化操作)
- 首次启动HDFS时,必须对其进行格式化操作。
- format本质上是初始化工作,进行HDFS清理和准备工作
- 命令:
hdfs namenode -format
11.hadoop集群启动
手动逐个进程启停
- 每台机器上每次手动启动关闭一个角色进程
- HDFS集群
hdfs --daemon start namenode|datanode|secondarynamenode
hdfs --daemon stop namenode|datanode|secondarynamenode
- YARN集群
yarn --daemon start resourcemanager|nodemanager
yarn --daemon stop resourcemanager|nodemanager
shell脚本一键启停
- 在node1上,使用软件自带的shell脚本一键启动
- 前提:配置好机器之间的SSH免密登录和workers文件。
- HDFS集群
start-dfs.sh
stop-dfs.sh
- YARN集群
start-yarn.sh
stop-yarn.sh
- Hadoop集群
start-all.sh
stop-all.sh



