Hadoop / YARN / Hive 运维操作教程

Hadoop / YARN / Hive 运维操作教程

本文整理了一份完整的 Hadoop、YARN、Hive 运维操作手册,包括配置同步、集群启动、服务管理、任务监控等常用运维操作。适用于多节点集群的管理和日常维护。


1、Hadoop 配置同步

在多节点集群中,需要保持 Hadoop 配置文件一致,可以通过 rsync 脚本快速同步。

脚本示例

bash 复制代码
#!/bin/bash
# Hadoop 配置同步脚本

# 同步 Hadoop 配置到 node1
rsync -avz /usr/local/hadoop-3.3.0/etc/hadoop/ node1:/usr/local/hadoop-3.3.0/etc/hadoop/

# 同步 Hadoop 配置到 node2
rsync -avz /usr/local/hadoop-3.3.0/etc/hadoop/ node2:/usr/local/hadoop-3.3.0/etc/hadoop/

使用方法

  1. 将脚本保存为 /opt/sync-hadoop-config.sh
  2. 添加执行权限:
bash 复制代码
chmod +x /opt/sync-hadoop-config.sh
  1. 执行脚本进行同步:
bash 复制代码
sudo /opt/sync-hadoop-config.sh

说明

  • rsync -avz 支持增量同步、保持权限并压缩传输。
  • 修改 Hadoop 配置后,必须同步到所有节点,确保集群一致性。

2、Hadoop + Hive 自动启动脚本

快速启动 Hadoop 集群(HDFS + YARN)和 Hive 服务(Metastore + HiveServer2)。

脚本示例

bash 复制代码
#!/bin/bash
# 自动启动 Hadoop 集群及 Hive 服务

echo "Stopping any running Hadoop services..."
stop-yarn.sh
stop-dfs.sh

echo "Starting HDFS..."
start-dfs.sh

echo "Starting YARN..."
start-yarn.sh

echo "Checking all Java processes..."
jps

echo "[12/13] Starting Hive Metastore and HiveServer2..."
mkdir -p /var/log
$HIVE_HOME/bin/hive --service metastore > /var/log/hive-metastore.log 2>&1 &
disown
sleep 5
$HIVE_HOME/bin/hive --service hiveserver2 > /var/log/hiveserver2.log 2>&1 &
disown

echo "Waiting for HiveServer2 to start..."
while ! lsof -i:10000 >/dev/null 2>&1; do sleep 2; done

echo ""
echo "============================================"
echo "             Hive Installation Complete!"
echo "============================================"
echo "Hive CLI:      hive"
echo "Beeline:       beeline → !connect jdbc:hive2://node0:10000"
echo "Username:      root"
echo "Password:      123456"
echo "DBeaver:       node1 → dbeaver &"
echo "============================================"

使用方法

  1. 保存为 /opt/start-hadoop-hive.sh
  2. 添加执行权限:
bash 复制代码
chmod +x /opt/start-hadoop-hive.sh
  1. 执行脚本:
bash 复制代码
sudo /opt/start-hadoop-hive.sh

说明

  • 脚本会先停止已有 Hadoop 服务,防止端口冲突。
  • 启动顺序为 HDFS → YARN → Hive Metastore → HiveServer2。
  • 脚本会等待 HiveServer2 完成启动(监听端口 10000)。

3、Hadoop 服务管理

停止服务

bash 复制代码
stop-dfs.sh     # 停止 HDFS
stop-yarn.sh    # 停止 YARN

启动服务

bash 复制代码
start-dfs.sh    # 启动 HDFS
start-yarn.sh   # 启动 YARN

查看节点进程

bash 复制代码
jps             # 查看 Hadoop / Java 相关进程

4、YARN 应用管理

查看应用状态

bash 复制代码
yarn application -status <application_id>

示例:

bash 复制代码
yarn application -status application_1762584413435_0004

列出应用

bash 复制代码
yarn application -list                   # 仅 RUNNING
yarn application -list -appStates ALL    # 所有状态
yarn application -list -appStates FINISHED
yarn application -list -appStates FAILED

查看容器日志

bash 复制代码
yarn logs -applicationId <application_id>

示例:

bash 复制代码
yarn logs -applicationId application_1762584413435_0004 | grep "Reducer" | grep "container_"

5、Hadoop 节点管理

列出节点

bash 复制代码
yarn node -list

查看节点状态

bash 复制代码
yarn node -status <node:port>

示例:

bash 复制代码
yarn node -status node0:8042
yarn node -status node1:45766

节点标签管理

bash 复制代码
yarn rmadmin -addToClusterNodeLabels "AMnode"

6、ResourceManager 管理

bash 复制代码
yarn --daemon stop resourcemanager    # 停止 ResourceManager
yarn --daemon start resourcemanager   # 启动 ResourceManager

7、Hive 操作

bash 复制代码
hive                       # 启动 Hive CLI
cat /var/log/hiveserver2.log # 查看 HiveServer2 日志

8、系统与集群监控

bash 复制代码
top                                      # 查看 CPU / 内存使用
hdfs dfsadmin -report | egrep "Datanodes|Name|Dead|Live"  # HDFS 状态
zkServer.sh status                        # ZooKeeper 状态

9、MapReduce 任务管理

bash 复制代码
mapred job -list             # 列出 MR 任务
mapred job -status <job_id>  # 查看 MR 任务状态

示例:

bash 复制代码
mapred job -status job_1731089675000_0001

10、常用日志与调试

  • HiveServer2 日志:/var/log/hiveserver2.log
  • Hive Metastore 日志:/var/log/hive-metastore.log
  • YARN 容器日志:yarn logs -applicationId <app_id>
  • HDFS 健康状态:hdfs dfsadmin -report

总结

  • 配置同步脚本:保证多节点 Hadoop 配置一致。
  • 自动启动脚本:快速启动 Hadoop + Hive 集群。
  • 日常运维命令涵盖 Hadoop 服务管理、YARN 应用管理、节点管理、Hive 操作、系统监控和 MapReduce 任务管理。
  • 日志与调试命令:帮助快速定位问题,提升运维效率。
相关推荐
csdn_life182 小时前
antiX Linux 23 安装源,Debian 12 轻量级 发行版 命令行安装
linux·运维·服务器
重生之绝世牛码2 小时前
Linux软件安装 —— Hadoop高可用安装(集成Zookeeper)
大数据·linux·运维·hadoop·zookeeper·软件安装·hadoop高可用
翼龙云_cloud2 小时前
腾讯云渠道商:新手怎么在腾讯云 CVM 搭建 Ghost 博客?
运维·云计算·腾讯云
roman_日积跬步-终至千里2 小时前
【Hadoop】HDFS Router-based Federation:解决 NameNode 扩展性问题的联邦方案
大数据·hadoop·hdfs
头发还没掉光光2 小时前
Linux网络之TCP协议
linux·运维·开发语言·网络·网络协议·tcp/ip
lytao1232 小时前
Docker磁盘空间自动化清理实战
运维·服务器·docker·自动化
AirDroid_cn2 小时前
Realme怎样远程控制oppo?手机自带的功能可以实现吗?
运维·服务器·网络
無森~2 小时前
实战:温度分析
大数据·hadoop·mapreduce
负二代0.03 小时前
Linux的进程管理
linux·运维·服务器