1、修改主机名和 IP 地址映射
vi /etc/hosts
IP hadoop
重启网卡
systemctl restart network
通证明成功
ping hadoop
2、防火墙设置
查看防火墙状态
# 查看防火墙状态
systemctl status firewalld
systemctl is-active firewalld
# 启动防火墙
systemctl start firewalld
# 停止防火墙
systemctl stop firewalld
3、 配置host文件
vim /etc/hosts
192.168.137.22 hadoop
192.168.137.23 slave1
192.168.137.24 slave2
192.168.137.25 slave3
4、免密码 ssh 设置(hadoop必须不用密码可以登录slave1,slave2,slave3 )
ssh-keygen -t rsa
然后一路回车即可
复制到公共密钥中
cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys
ssh localhost
可以参考 ssh免密码登录
5、Hadoop 配置
5.0、下载
https://www-us.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
安装说明文档
https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html
5.1、创建相关目录
mkdir -p /opt/hadoop-3.2.1/tmp /opt/hadoop-3.2.1/hdfs /opt/hadoop-3.2.1/hdfs/data /opt/hadoop-3.2.1/hdfs/name
5.2、修改 Hadoop 5个配置文件
/opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
/opt/hadoop-3.2.1/etc/hadoop/core-site.xml
/opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml
/opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml
/opt/hadoop-3.2.1/etc/hadoop/yarn-site.xm
/opt/hadoop-3.2.1/etc/hadoop/workers
5.2.1、配置 hadoop-env.sh
vim /opt/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
注意:自己安装的java目录
export JAVA_HOME=/usr/local/jdk/
文件最后追加
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
5.2.2、 vim /opt/hadoop-3.2.1/etc/hadoop/core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop-3.2.1/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>
注:
name 节点用 fs.defaultFS,不建议使用 fs.default.name;
hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果 hdfs-site.xml 中不配置 namenode 和 datanode 的存放位置,默认就放在如下路径中。
NameNode
dfs.name.dir
预设值:${hadoop.tmp.dir}/dfs/name
DataNode
dfs.data.dir
预设值:${hadoop.tmp.dir}/dfs/data
5.2.3、副本个数,配置默认是3,应小于datanode机器数量
vim /opt/hadoop-3.2.1/etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
<description></description>
</property>
</configuration>
5.2.4、vim /opt/hadoop-3.2.1/etc/hadoop/mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.2.5、 vim /opt/hadoop-3.2.1/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
5.2.6 编辑workers文件并添加内容
vim /opt/hadoop-3.2.1/etc/hadoop/workers
slave1
slave2
slave3
6、copy 配置好的hadoop到 slave1,slave2,slave3 三台机器上
将本机的不hosts和profile配置文件copy到slave1、slave2、slave3机器上
scp /etc/hosts /etc/profile root@slave1:/etc
scp /etc/hosts /etc/profile root@slave2:/etc
scp /etc/hosts /etc/profile root@slave3:/etc
将配置好的hadoop进行压缩
tar cf hadoop-3.2.1.tar hadoop-3.2.1
scp hadoop-3.2.1.tar root@slave1:/opt
scp hadoop-3.2.1.tar root@slave2:/opt
scp hadoop-3.2.1.tar root@slave3:/opt
ssh root@slave1 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
ssh root@slave2 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
ssh root@slave3 "tar -xf /opt/hadoop-3.2.1.tar -C /opt/"
配置环境变量
vim /etc/profile
export JAVA_HOME=/opt/env/jdk1.8.0_202
export KE_HOME=/opt/env/kafka-eagle/efak-web-2.1.0
export HADOOP_HOME=/opt/env/hadoop-3.2.3
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=.:$JAVA_HOME/bin:$PATH:/opt/env/kafka/bin:$HADOOP_HOME/bin
同样是在三台机器上操作
6、Hadoop 启动及测试
6.1、格式化 namenode
/opt/hadoop-3.2.1/bin/hdfs namenode -format cluster_name
如果出现 has been successfully formatted.
则表示格式化成功
6.2、启动 Hadoop
/opt/program-files/hadoop/hadoop-3.2.1/sbin/start-all.sh
6.3、验证启动(会出现如下进程)
jsp
NodeManager (23|24|25机器上,也就是slave1,slave2,slave3节点上)
DataNode (23|24|25机器上,也就是slave1,slave2,slave3节点上)
NameNode (22机器上,也就是hadoop主节点上)
SecondaryNameNode (22机器上,也就是hadoop主节点上)
ResourceManager (22机器上,也就是hadoop主节点上)
6.4、启动访问
http://192.168.137.22:9870 (nameNode information 存在于主节点上 )
http://192.168.137.22:8088/cluster (All Applications 集群运行状态,以及任务执行服务)
http://192.168.137.(23|24|25):8042/node (NodeManager 数据节点管理服务,存在于DataNode数据节点上)
http://192.168.137.(23|24|25):9864/datanode.html (DataNode,数据存储, 存在于DataNode数据节点上)

