在centos上部署hdfs集群需要经历一系列操作,涵盖hadoop环境的搭建、ssh无密码认证的配置、hdfs相关参数的设定以及服务的启动。以下为详细的实施步骤:
必备条件
- 操作系统:CentOS 7.x 或更新版本。
- Java支持:Hadoop依赖于Java环境,请安装OpenJDK或Oracle JDK。
- 网络连通性:确保各节点间能够无障碍通信。
实施流程
1. Java安装
sudo yum install -y java-1.8.0-openjdk-devel
2. Hadoop下载与解压
wget https://archive.apache.org/dist/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz tar -xzvf hadoop-3.3.1.tar.gz -C /usr/local/ sudo mv /usr/local/hadoop-3.3.1 /usr/local/hadoop
3. 设置环境变量
编辑/etc/profile.d/hadoop.sh文件,加入如下内容:
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
之后应用更改:
source /etc/profile.d/hadoop.sh
4. SSH免密登录配置
在每个节点生成SSH密钥,并将公钥分发至其他节点:
ssh-keygen -t rsa ssh-copy-id hadoop@node2 ssh-copy-id hadoop@node3
5. Hadoop配置
修改$HADOOP_HOME/etc/hadoop/hadoopEnv.sh,指定Java路径:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
更新$HADOOP_HOME/etc/hadoop/core-site.xml以定义HDFS默认文件系统:
fs.defaultFS hdfs://namenode:9000
编辑$HADOOP_HOME/etc/hadoop/hdfs-site.xml来调整HDFS副本数量及其他参数:
dfs.replication 3 dfs.namenode.name.dir /usr/local/hadoop/data/namenode dfs.datanode.data.dir /usr/local/hadoop/data/datanode
调整$HADOOP_HOME/etc/hadoop/mapred-site.xml以配置MapReduce框架:
mapreduce.framework.name yarn
最后,编辑$HADOOP_HOME/etc/hadoop/yarn-site.xml配置YARN:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.aux-services.mapreduce.shuffle.class org.apache.hadoop.mapred.ShuffleHandler
6. 初始化HDFS
在NameNode节点运行:
hdfs namenode -format
7. 启动HDFS服务
在NameNode节点启动HDFS:
start-dfs.sh
在DataNode节点上同样执行:
start-dfs.sh
8. 检查集群状态
访问NameNode的Web管理页面(通常为http://namenode:50070),确认集群运行状况。
特别提示
- 确保各节点时间一致。
- 检查防火墙规则,确保必要的端口(如9000、50070等)处于开放状态。
- 根据实际需求调整配置文件中的路径和参数。
按照上述指导,您应该可以在CentOS上顺利构建并运行一个基础的HDFS集群。










