随着数据量的爆炸式增长,企业对高效、稳定的大数据处理平台需求日益迫切。Rocky Linux 作为 CentOS 的继任者,凭借其稳定性、开源性和长期支持,成为部署大数据平台的理想选择。本文将手把手教你如何在 Rocky Linux 上搭建一个基础的 Hadoop 分布式集群,并介绍生产环境中的最佳实践。
为什么选择 Rocky Linux?
Rocky Linux 是由 CentOS 创始人 Gregory Kurtzer 发起的社区驱动项目,完全兼容 RHEL(Red Hat Enterprise Linux),提供免费、稳定、安全的企业级操作系统。对于需要长期运行的大数据平台来说,Rocky Linux 提供了:
长达 10 年的安全更新支持 与 RHEL 完全二进制兼容,确保软件生态稳定 活跃的社区和清晰的路线图
准备工作:系统环境要求
在开始之前,请确保你有以下资源:
至少 3 台 Rocky Linux 服务器(建议版本 8 或 9) 每台服务器至少 4GB 内存、2 核 CPU、50GB 磁盘空间 稳定的网络连接,各节点之间可互相通信 具有 sudo 权限的非 root 用户(如 hadoopuser)第一步:配置主机名与 hosts 文件
为每台机器设置唯一主机名,并在所有节点的
/etc/hosts文件中添加彼此的 IP 与主机名映射。例如:
# 在所有节点执行sudo hostnamectl set-hostname node1 # 主节点sudo hostnamectl set-hostname node2 # 工作节点sudo hostnamectl set-hostname node3 # 工作节点# 编辑 /etc/hosts,添加如下内容(IP 替换为实际地址)192.168.1.10 node1192.168.1.11 node2192.168.1.12 node3
第二步:安装 Java 环境
Hadoop 依赖 Java 运行环境。Rocky Linux 推荐使用 OpenJDK 11:
sudo dnf install -y java-11-openjdk-devel# 验证安装java -version
设置 JAVA_HOME 环境变量(在
/etc/profile.d/java.sh中):
echo 'export JAVA_HOME=$(dirname $(dirname $(readlink $(readlink $(which javac)))))' | sudo tee /etc/profile.d/java.shecho 'export PATH=$JAVA_HOME/bin:$PATH' | sudo tee -a /etc/profile.d/java.shsource /etc/profile.d/java.sh
第三步:创建专用用户并配置 SSH 免密登录
出于安全考虑,Hadoop 应运行在专用用户下:
# 所有节点执行sudo useradd -m hadoopusersudo passwd hadoopuser
然后在主节点(node1)上生成 SSH 密钥,并分发到所有节点:
su - hadoopuserssh-keygen -t rsa -P '' -f ~/.ssh/id_rsassh-copy-id hadoopuser@node1ssh-copy-id hadoopuser@node2ssh-copy-id hadoopuser@node3
测试免密登录:
ssh node2,应无需密码即可登录。
第四步:下载并配置 Hadoop
从 Apache 官网下载 Hadoop(以 3.3.6 为例):
cd /tmpwget https://dlcdn.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gztar -xzf hadoop-3.3.6.tar.gz -C /opt/sudo chown -R hadoopuser:hadoopuser /opt/hadoop-3.3.6ln -s /opt/hadoop-3.3.6 /opt/hadoop
配置环境变量(在 hadoopuser 的
~/.bashrc中):
echo 'export HADOOP_HOME=/opt/hadoop' >> ~/.bashrcecho 'export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin' >> ~/.bashrcecho 'export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop' >> ~/.bashrcsource ~/.bashrc
第五步:核心配置文件修改
编辑以下文件(位于
$HADOOP_HOME/etc/hadoop/):
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://node1:9000</value> </property></configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:///opt/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///opt/hadoop/data/datanode</value> </property></configuration>
workers(原 slaves 文件)
node2node3
第六步:格式化 NameNode 并启动集群
仅在主节点执行:
hdfs namenode -format# 启动 HDFSstart-dfs.sh
访问
http://node1:9870即可查看 HDFS Web UI。
生产环境最佳实践
在真实企业环境中部署 Rocky Linux 大数据平台时,还需注意以下几点:
安全加固:启用 Kerberos 认证,限制 SSH 登录,关闭不必要的服务。 监控告警:集成 Prometheus + Grafana 监控 Hadoop 集群状态。 日志管理:使用 ELK(Elasticsearch, Logstash, Kibana)集中收集日志。 定期备份:对 NameNode 元数据和关键业务数据进行定期快照备份。结语
通过以上步骤,你已在 Rocky Linux 上成功部署了一个基础的 Hadoop 分布式集群。Rocky Linux 凭借其企业级稳定性和开源特性,为大数据平台提供了坚实的基础。无论是学习、测试还是生产环境,这套方案都具备良好的扩展性和可靠性。掌握 Rocky Linux、大数据平台、集群部署 和 Hadoop安装 技能,将为你在数据工程领域打下坚实基础。
下一步,你可以尝试集成 Hive、Spark 或 Flink,构建更完整的大数据生态体系!
