一、 启动集群:
1. 配置 slaves(配置工作节点):
编辑 ${HADOOP_HOME}/etc/hadoop/slaves 文件
在文件中加入节点信息,注意结尾不允许有空格,且文件中不允许有空行
分发配置文件
xsync slaves
2. 初始化 NameNode:在规划 NameNode 的主机上在 HADOOP_HOME 下输入命令
bin/hdfs namenode -format
3. 执行 start-dfs.sh:在规划 NameNode 的主机上输入命令
sbin/start-dfs.sh
4. 执行 start-yarn.sh:在规划 ResourceManager
sbin/start-yarn.sh
5. 检查集群启动情况:
① 此时 3 台主机上的运行的程序
② 三台主机下分别输入 netstat -lnpt ,应看到
- node1 的 50070 号端口开启,同时 ip 为 0.0.0.0
- node2 的 8088 号端口开启,同时 ip 为 之前设置的静态 ip
- node3 的 50090 号端口开启,同时 ip 为 之前设置的静态 ip
如果出现错误,请查看排错指南: Hadoop 完全分布式 搭建 排错指南 及 重启流程(Centos 7.5 + Windows10 + VMware)_Gaoithe的博客-CSDN博客
可选择启动历史服务器和日志聚合功能:
sbin/mr-jobhistory-daemon.sh start historyserver
二、 添加虚拟机 NAT 端口映射:
由于之前将虚拟机设置为了文本启动模式,并通过 Xshell 进行 SSH 连接到主机,
所以接下来将要用宿主机的浏览器对虚拟机的 Hadoop web 管理器进行访问。
用本文:Lesson6 Hadoop 完全分布式 搭建准备 - Centos7 VMware 虚拟机下的安装、防火墙、静态IP及主机名的配置、JDK 及 Hadoop 的安装、SSH 连接虚拟机_Gaoithe的博客-CSDN博客 中提到的方法在虚拟机的端口映射中添加三个端口映射
1. NameNode:50070
2. Yarn:8088
3. Seconday NameNode:50090
三、 访问 Web UI:
添加完端口映射后直接在宿主机上输入 localhost:端口号 即可访问对应界面。
1. NameNode:注意下方 Live Nodes 应该为 3
2. Yarn: 在 Nodes 下应可以看到三个 node
3. Seconday NameNode: 应可以看到 NameNode 位于 node1
如果出现错误,请查看排错指南: Hadoop 完全分布式 搭建 排错指南 及 重启流程(Centos 7.5 + Windows10 + VMware)_Gaoithe的博客-CSDN博客
四、 集群的基本测试:
1. 上传文件到集群:
① 创建文件夹:hdfs dfs -mkdir -p /user/root/input
② 上传小文件: hdfs dfs -put /lesson/demo2 /user/root/input
③ 上传大文件: hadoop fs -put /usr/local/hadoop-2.7.2.tar.gz /user/root/input
2. 查看文件存放位置:hadoop 文件存在备份机制,本次以 node3 节点为例查看数据。
进入 HADOOP_HOME 下的目录,根据下方的提示进入目录
cd data/tmp/dfs/data/current/BP-321967170-192.168.31.41-1586422493972/current/finalized/subdir0/subdir0
可以查看到之前上传的小文件以及被分块存储的大文件
3. 拼接大文件:
将确定的两个文件分块利用 cat 拼接在一起,进行解压
cat blk_1073741826 > a.txt
cat blk_1073741827 >> a.txt
tar -zxvf a.txt
可以看到文件被成功还原
4. 下载文件:
hdfs dfs -get /user/root/input/demo2 ./
五、 集群的启动/停止:
1. 各个服务逐一启动/停止:
(1)分别启动/停止HDFS组件
hadoop-daemon.sh start/stop namenode/datanode/secondarynamenode
(2)启动/停止Yarn
yarn-daemon.sh start/stop resourcemanager/nodemamanger
2. 各个模块分块启动停止:前提是配置了 SHH 免密登录
(1)整体启动/停止HDFS
start-dfs.sh / stop-dfs.sh
(2)整体启动/停止Yarn
start-yarn.sh / stop-yarn.sh