当前位置: 首页 > news >正文

5. Hadoop集群操作

5. Hadoop集群操作

5.1 启动Hadoop集群

5.1.1 格式化文件系统

如果集群是第一次启动,需要在hadoop102节点格式化NameNode。
注意:格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。

[li@hadoop102 ~]$ hdfs namenode -format
# 或者
[li@hadoop102 ~]$ hadoop namenode -format

执行上述任意一条命令均可以进行Hadoop集群格式化。执行格式化指令之后,出现: has been successfully formatted.信息,表明HDFS文件系统成功格式化,即可正式启动集群;否则,需要查看命令是否正确,或者安装配置是否正确。

5.1.2 启动Hadoop进程

Hadoop集群的启动,需要启动其内部的两个集群框架,HDFS集群和YARN集群。启动方式有单节点逐个启动和使用脚本一键启动两种。

  1. 启动HDFS
[li@hadoop102 sbin]$ start-dfs.sh
Starting namenodes on [hadoop102]
Starting datanodes
hadoop104: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating.
hadoop103: WARNING: /opt/module/hadoop-3.1.3/logs does not exist. Creating.
Starting secondary namenodes [hadoop104]
  1. 启动YARN

在配置了ResourceManager的节点(hadoop103)启动YARN

[li@hadoop103 sbin]$ start-yarn.sh
Starting resourcemanager
Starting nodemanagers

5.2 监控Hadoop集群

Hadoop集群有相关的服务监控端口,方便用户对Hadoop集群的资源、任务运行状态等信息有更直观的了解,具体如下表:

服务Web接口默认端口
NameNodehttp://namenode_host:port/9870
ResourceManagerhttp://resourcemanager_host:port/8088
MapReduce JobHistoryServerhttp://jobhistroyserver_host:port/19888

5.2.1 HDFS监控

Web端查看HDFS的NameNode:
(a)浏览器中输入:http://hadoop102:9870

在这里插入图片描述

  • Overview
    • 记录了NameNode的启动时间、版本号、编译版本等一些基本信息。
  • Summary
    • 记录集群信息。
    • 提供了当前集群环境的一些有用信息,同时还标注了当前集群环境中DataNode的信息,对活动状态的DataNode也专门进行了记录。
  • NameNode Storage
    • 提供了NameNode的信息,最后的State标示此节点为活动节点,可正常提供服务。

依次选择“Utilities”→“Browse the file system”命令可以查看HDFS上的文件信息。

在这里插入图片描述

(b)查看HDFS上存储的数据信息

在这里插入图片描述
(c)查看Hadoop进程

[li@hadoop102 hadoop-3.1.3]$ jps
2384 NameNode
3153 Jps
2889 NodeManager
2555 DataNode

5.2.2 YARN监控

Web端查看YARN的ResourceManager:
(a)浏览器中输入:http://hadoop103:8088

在这里插入图片描述
(b)查看YARN上运行的Job信息

[li@hadoop103 hadoop-3.1.3]$ jps
3024 Jps
2528 NodeManager
2388 ResourceManager
2184 DataNode

5.2.3 日志监控

Web端查看Hadoop的日志监控界面即JobHistroy:
(a)在浏览器中地址栏中输入http://hadoop102:19888

在这里插入图片描述

5.3 Hadoop集群基本测试

5.3.1 上传文件到集群

  1. 创建input目录,上传小文件
[li@hadoop102 hadoop-3.1.3]$ hadoop fs -mkdir /input
[li@hadoop102 hadoop-3.1.3]$ hadoop fs -put $HADOOP_HOME/wcinput/word.txt /input
2022-08-24 15:09:10,390 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

上传完成后可以在浏览器中查看内容:
在这里插入图片描述

  1. 上传大文件到/目录
[li@hadoop102 hadoop-3.1.3]$ hadoop fs -put /opt/software/jdk-8u212-linux-x64.tar.gz /
2022-08-24 15:16:02,641 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false
2022-08-24 15:16:03,912 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

在这里插入图片描述

5.3.2 查看文件

  1. 查看HDFS文件存储路径
[li@hadoop102 subdir0]$ pwd
/opt/module/hadoop-3.1.3/data/dfs/data/current/BP-1775777091-192.168.10.132-1661323073082/current/finalized/subdir0/subdir0

在这里插入图片描述

  1. 查看HDFS在磁盘存储文件内容
[li@hadoop102 subdir0]$ cat blk_1073741825
hadoop yarn
hadoop mapreduce
atguigu
atguigu
  1. 拼接其他两个数据包
[li@hadoop102 subdir0]$ cat blk_1073741826>>tmp.tar.gz
[li@hadoop102 subdir0]$ cat blk_1073741827>>tmp.tar.gz
[li@hadoop102 subdir0]$ tar -zxvf tmp.tar.gz
jdk1.8.0_212/
jdk1.8.0_212/README.html
jdk1.8.0_212/LICENSE
jdk1.8.0_212/include/
jdk1.8.0_212/include/jawt.h
jdk1.8.0_212/include/linux/
jdk1.8.0_212/include/linux/jawt_md.h
jdk1.8.0_212/include/linux/jni_md.h
jdk1.8.0_212/include/classfile_constants.h
jdk1.8.0_212/include/jvmticmlr.h
jdk1.8.0_212/include/jni.h
...

发现文件就是上传的jdk。

5.3.3 下载文件

[li@hadoop102 ~]$ hadoop fs -get /jdk-8u212-linux-x64.tar.gz ./
2022-08-24 15:29:50,243 INFO sasl.SaslDataTransferClient: SASL encryption trust check: localHostTrusted = false, remoteHostTrusted = false

查看文件

[li@hadoop102 ~]$ ll
总用量 190480
drwxrwxr-x. 2 li li      4096 823 16:49 bin
-rw-r--r--. 1 li li 195013152 824 15:29 jdk-8u212-linux-x64.tar.gz # 下载成功
drwxr-xr-x. 2 li li      4096 822 17:08 公共
drwxr-xr-x. 2 li li      4096 822 17:08 模板
drwxr-xr-x. 2 li li      4096 822 17:08 视频
drwxr-xr-x. 2 li li      4096 822 17:08 图片
drwxr-xr-x. 2 li li      4096 822 17:08 文档
drwxr-xr-x. 2 li li      4096 822 17:08 下载
drwxr-xr-x. 2 li li      4096 822 17:08 音乐
drwxr-xr-x. 2 li li      4096 822 17:08 桌面

  1. 执行wordcount程序
[li@hadoop102 hadoop-3.1.3]$ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output

5.4 停止Hadoop集群

5.4.1 各模块分开启动/停止

在配置ssh的前提下

  1. 整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
  1. 整体启动/停止YARN
start-yarn.sh/stop-yarn.sh

5.4.2 各服务组件逐一启动/停止

  1. 分别启动/停止HDFS组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
  1. 启动/停止YARN
yarn --daemon start/stop  resourcemanager/nodemanager

5.5 Hadoop集群常用脚本

5.5.1 Hadoop集群启停脚本

包含HDFS,Yarn,Historyserver:myhadoop.sh

[li@hadoop102 hadoop-3.1.3]$ cd /home/li/bin
[li@hadoop102 bin]$ vim myhadoop.sh

输入如下内容:

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi
case $1 in
"start")
        echo " =================== 启动 hadoop集群 ==================="

        echo " --------------- 启动 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"
        echo " --------------- 启动 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"
        echo " --------------- 启动 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"

;;
"stop")
        echo " =================== 关闭 hadoop集群 ==================="

        echo " --------------- 关闭 historyserver ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"
        echo " --------------- 关闭 yarn ---------------"
        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"
        echo " --------------- 关闭 hdfs ---------------"
        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"

;;
*)
    echo "Input Args Error..."
;;
esac

:wq保存退出。
修改脚本执行权限:

[li@hadoop102 bin]$ chmod +x myhadoop.sh
[li@hadoop102 bin]$ myhadoop stop #停止集群

5.5.2 查看进程脚本

查看三台服务器Java进程脚本:jpsall

[li@hadoop102 bin]$ vim jpsall

输入如下内容:

#!/bin/bash

for host in hadoop102 hadoop103 hadoop104
do
        echo =============== $host ===============
        ssh $host jps 
done

:wq保存后退出,然后赋予脚本执行权限

[li@hadoop102 bin]$ chmod +x jpsall

5.5.3 脚本分发

分发/home/li/bin目录,保证自定义脚本在三台机器上都可以使用

[li@hadoop102 bin]$  xsync /home/li/bin/
==================== hadoop102 ====================
sending incremental file list

sent 129 bytes  received 17 bytes  292.00 bytes/sec
total size is 2,007  speedup is 13.75
==================== hadoop103 ====================
sending incremental file list
bin/
bin/jpsall
bin/myhadoop.sh

sent 1,490 bytes  received 58 bytes  1,032.00 bytes/sec
total size is 2,007  speedup is 1.30
==================== hadoop104 ====================
sending incremental file list
bin/
bin/jpsall
bin/myhadoop.sh

sent 1,490 bytes  received 58 bytes  3,096.00 bytes/sec
total size is 2,007  speedup is 1.30

相关文章:

  • 数据库安装与配置
  • Lua 在终端使用交互模式
  • TCS34725颜色感应识别模块
  • python学习笔记:基础语法
  • 面试~Synchronized 与 锁升级
  • 【C++学习】C++入门知识(下)
  • 【23秋招c++后端面试技术突围】TCP/IP 之 滑动窗口、Nagle算法和延迟确认
  • .Net Redis的秒杀Dome和异步执行
  • 开学总动员!2022华为开发者大赛等你来挑战!
  • 【WACV2022】DAQ | 首尔大学首次为超分辨率网络提出逐通道分布自适应量化方法,效果显著
  • STM32 Bootloader跳转后不执行程序的问题解决记录
  • 阿里内部人手一份!P8大佬也叫好的 高性能MySQL系列
  • 408数据结构学习强化——常见数据结构定义和算法总结
  • 全栈Python自动化测试学习资料【付费资源、看到即赚到,】
  • Shell 文件目录类(二)
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • canvas绘制圆角头像
  • chrome扩展demo1-小时钟
  • Git 使用集
  • Git同步原始仓库到Fork仓库中
  • hadoop集群管理系统搭建规划说明
  • Laravel 实践之路: 数据库迁移与数据填充
  • nodejs调试方法
  • Python3爬取英雄联盟英雄皮肤大图
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Yii源码解读-服务定位器(Service Locator)
  • 计算机常识 - 收藏集 - 掘金
  • 开发了一款写作软件(OSX,Windows),附带Electron开发指南
  • 力扣(LeetCode)21
  • 通过git安装npm私有模块
  • 延迟脚本的方式
  • 用Node EJS写一个爬虫脚本每天定时给心爱的她发一封暖心邮件
  • 你对linux中grep命令知道多少?
  • ​​​​​​​Installing ROS on the Raspberry Pi
  • (1)虚拟机的安装与使用,linux系统安装
  • (vue)页面文件上传获取:action地址
  • (附源码)ssm航空客运订票系统 毕业设计 141612
  • (十六)一篇文章学会Java的常用API
  • (四)linux文件内容查看
  • (图)IntelliTrace Tools 跟踪云端程序
  • (一)SpringBoot3---尚硅谷总结
  • ./configure,make,make install的作用(转)
  • .“空心村”成因分析及解决对策122344
  • .Family_物联网
  • .net core 6 redis操作类
  • .NET Core 项目指定SDK版本
  • .net MySql
  • .net web项目 调用webService
  • 。Net下Windows服务程序开发疑惑
  • /bin、/sbin、/usr/bin、/usr/sbin
  • /dev/VolGroup00/LogVol00:unexpected inconsistency;run fsck manually
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @NoArgsConstructor和@AllArgsConstructor,@Builder
  • @Service注解让spring找到你的Service bean