5. Hadoop集群操作

article/2025/8/28 12:51:26

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/bashif [ $# -lt 1 ]
thenecho "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.sh stop #停止集群

5.5.2 查看进程脚本

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

[li@hadoop102 bin]$ vim jpsall

输入如下内容:

#!/bin/bashfor host in hadoop102 hadoop103 hadoop104
doecho =============== $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 listsent 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.shsent 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.shsent 1,490 bytes  received 58 bytes  3,096.00 bytes/sec
total size is 2,007  speedup is 1.30

http://chatgpt.dhexx.cn/article/lu0lZ6xp.shtml

相关文章

hadoop集群迁移

集群迁移 主要是要找到两个集群中active状态的namenode 集群迁移不同于服务器之间的文件发送,在hdfs中,文件是以块的形式,只可以通过namenode访问文件,所以迁移时需要通过hadoop命令 主要命令是distcp distcp有很多参数&#xf…

Hadoop集群实验

目录 1.实验介绍 2.安装前准备 3.实验环境搭建 4.安装Hadoop 4.1下载Hadoop 4.2修改hadoop配置文件 5.启动Hadoop集群 6.Hadoop测试 1.实验介绍 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式…

Hadoop集群部署

Hadoop集群部署 一、环境准备二、在hadoop102中安装jdk三、在 hadoop102 安装 Hadoop安装hadoop查看 Hadoop 目录结构 四、编写集群分发脚本1. scp(secure copy)安全拷贝2.rsync远程同步工具3.xsync集群分发脚本 五、ssh免密登录1.配置ssh2.免密配置 六、…

Hadoop集群简介

Hadoop集群整体概述: Hadoop集群包括两个集群:HDFS集群、YARN集群 两个集群逻辑上分离(两个集群互相之间没有依赖、互不影响)、通常物理上在一起(某些角色进程往往部署在同一台物理服务器上) 两个集群都是标准的主从架构集群 MapReduce算是集群吗&…

hadoop集群

一、概念 Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce。HDFS是一个分布式文件系统,类似mogilefs,但又不同于mogilefs,hdfs由存放文件元数…

Hadoop入门详解以及Hadoop集群搭建

一、Hadoop概念 hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。hadoop充分利用了集群的威力进行高速运算和存储。Hadoop实现了一个分布式文件系统(Distributed File System&#xff…

把Redis 设置成服务

设置Redis服务 上面虽然安装启动了Redis,但是一旦关闭cmd窗口,redis就关闭了,为了我们日后开发测试的便利,我们当然要把它设置成windows服务项。 打开cmd命令窗口,切换到Redis目录,输入如下命令: redis-…

配置redis,对外服务

前言 在服务器安装完redis之后,别的机器想要通过IP和端口连接Redis服务器是连接不上的,因此需要配置redis对外服务。 一、打开redis配置文件 vi /etc/redis/redis.conf二、修改bind绑定的地址 三、关闭保护模式 四、重启redis服务 service redis res…

Redis 服务监控

Redis现在在很多公司中应用已经很广泛了,但是如何监控redis,实时的观察redis的性能,下面就关于Redis的常用监控介绍一下。 一、使用redis自带的info命令和monitor命令 现在常见的监控方案基本上都是使用redis自带的info命令和monitor命令获取…

Windows下将Redis设置为服务

如果下载的是免安装的 Redis ,解压文件后运行 Redis-server.exe就可开启服务 但是,这个窗口不能关闭,否则服务也会随之关闭,过于麻烦,也不方便操作 所以,我们可以将 redis 设置为一种服务,可利…

【Windows】Redis集群部署

集群是如何进行工作的 Redis采用哈希槽来处理数据与节点之间的映射关系,一个集群共有16384 个哈希槽,每个key通过 CRC16算法计算出一个16bit的值,再对16384取模,得到对应的哈希槽,集群通过维护哈希槽与节点的关系来得…

redis设置服务

设置服务 可以看到如果我们启动redis服务的话,每次都要进入到安装目录,这样是不是很繁琐,所以我们将redis做成一个服务,我们直接启动。 首先将utils/redis_init_script文件复制到/etc/init.d下,同时易名为redis。执行命…

Redis 服务管理

对Redis服务器的管理可以使用redis提供的服务命令,也可以借助一些管理软件,如:phpRedisAdmin 一、Redis服务器命令主要是用于管理redis服务 1.bgrewriteaof 异步执行一个 aof(appendonly file) 文件重写操作 2.bgsav…

redis服务(2)

配置 gearman 实现数据同步 Gearman是一个支持分布式的任务分发框架。 Gearman Job Server:Gearman核心程序,以守护进程形式运行在后台。 Gearman Client:可以理解为任务的收件员,比如我要在后台执行一个发送邮件的任务&#xff0…

【MySQL集群+Redis配置】

Mysql集群配置 一、主从备份二、主主备份三、多主一从四、一主多从五、Mysql中间件——Amoeba(读写分离)1))先搭建一个主从关系的服务器2) 从服务器上保存授权信息,并开启从服务线程3)配置读写分离 六、安装…

Redis部署

Redis部署 Redis入门简介源码编译安装 Redis入门简介 Redis是一个开源的基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。 Redis是一个key-value存储系统。 和Memcached缓存类似,Redis支持存储的value类型相对更多,包括…

redis数据库服务群集(四)

目录 前言 一、redis集群介绍 1、redis集群优势及实现方法 2、redis三种集群模式的作用 二、主从复制模式 1、Redis主从复制的概念 2、主从复制原理 3、Redis主从复制的作用 4、主从复制流程 5、Redis主从复制的搭建 6、验证主从效果 7、报错排查 三、Redis 哨兵模…

Windows启动redis服务

1、进入到redis的安装目录下,在地址栏输入cmd或者在命令行界面中进入到安装目录下 2、输入命令:redis-server.exe redis.windows.conf 3、出现如下界面表示启动成功

Redis数据库(常用命令及服务部署)

目录 一、关系数据库和非关系数据库 ⭐关系型数据库●一个结构化的数据库,创建在关系模型基础上 ●一般面向于记录 ●包括Oracle、MySQL、SQL Server、Microsoft Access、DB2等 ⭐非关系型数据库 ●除了主流的关系型数据库外的数据库,都认为是非关…

redis服务的部署

redis服务的部署 一. 什么是redis?二. redis的配置以及主从关系二. redis常用指令:三. redis 的高可用1. 什么是高可用?2.配置Sentinel3. 主观下线和客观下线 四. redis集群1.Redis集群2.搭建集群 七. 结合数据库 一. 什么是redis&#xff1f…