在 Debian 上管理 Hadoop,可以从 安装、配置、启停、监控、升级、日志与排错、权限与安全 等方面来系统管理。下面给你一份 偏运维实践、Debian 风格 的实用指南。
适合生产环境,可控性强。
# 安装 Java(Hadoop 3.x 推荐 OpenJDK 8/11)
sudo apt update
sudo apt install openjdk-11-jdk
# 下载 Hadoop
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz
tar -xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /opt/hadoop
配置环境变量:
sudo nano /etc/profile.d/hadoop.sh
export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
source /etc/profile.d/hadoop.sh
Debian 官方仓库中 Hadoop 版本较旧,不推荐生产使用。
apt search hadoop
无需 HDFS,仅用于开发测试。
hadoop version
/opt/hadoop/etc/hadoop/
core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
# 格式化 HDFS(仅第一次)
hdfs namenode -format
# 启动 HDFS
start-dfs.sh
# 启动 YARN
start-yarn.sh
# 停止
stop-yarn.sh
stop-dfs.sh
为 Hadoop 创建 systemd 服务,便于 Debian 管理。
# /etc/systemd/system/hadoop-namenode.service
[Unit]
Description=Hadoop NameNode
After=network.target
[Service]
User=hadoop
ExecStart=/opt/hadoop/bin/hdfs --daemon start namenode
ExecStop=/opt/hadoop/bin/hdfs --daemon stop namenode
Restart=on-failure
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable hadoop-namenode
sudo systemctl start hadoop-namenode
sudo adduser hadoop
sudo usermod -aG sudo hadoop
hdfs dfs -chmod 755 /user
hdfs dfs -chown hadoop:hadoop /user/hadoop
日志位置:
/opt/hadoop/logs/
常见日志:
hadoop-*-namenode-*.loghadoop-*-datanode-*.logyarn-*-resourcemanager-*.log查看错误:
tail -f /opt/hadoop/logs/hadoop-root-namenode-debian.log
Debian(使用 nftables / ufw):
sudo ufw allow 9000
sudo ufw allow 9870
sudo ufw allow 8088
常用端口:
| 服务 | 端口 |
|---|---|
| NameNode | 9870 |
| HDFS | 9000 |
| YARN | 8088 |
etc/hadoop✅ 使用 OpenJDK
✅ 不使用 Debian 自带 Hadoop 包
✅ 使用 systemd 管理
✅ 专用 hadoop 用户
✅ 明确区分伪分布式 / 完全分布式
✅ 日志优先排错
如果你愿意,我可以:
只要告诉我你的使用场景即可。