在centos系统上搭建hdfs集群,需要经过多个步骤,包括java环境配置、hadoop安装、环境变量设置、namenode格式化以及集群启动等。以下步骤提供了一个简明指南:
第一步:Java环境配置
首先,确认系统已安装Java 8。可以使用以下命令进行安装:
yum install -y java-1.8.0-openjdk-devel
然后,配置Java环境变量:
echo "export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk" >> /etc/profile source /etc/profile java -version # 验证Java版本
第二步:hadoop安装
下载Hadoop安装包并解压到指定目录(例如/usr/local/hadoop):
wget https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz tar -zxvf hadoop-3.2.1.tar.gz -C /usr/local/ ln -s /usr/local/hadoop/hadoop-3.2.1 /usr/local/hadoop/hadoop
第三步:配置ssh免密登录
在主节点上生成SSH密钥,并将其复制到所有节点:
ssh-keygen -t rsa ssh-copy-id hadoop11 ssh-copy-id hadoop12 ssh-copy-id hadoop13 ``` (将`hadoop11`, `hadoop12`, `hadoop13`替换为你的实际节点名称) **第四步:Hadoop环境变量配置** 编辑`/etc/profile`文件,添加以下内容: ```bash export HADOOP_HOME=/usr/local/hadoop/hadoop-3.2.1 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile
第五步:Hadoop配置文件配置
修改Hadoop配置文件,确保所有节点配置一致。关键配置如下:
- core-site.xml:
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop11:8020</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/data</value> </property> </configuration>
- hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>hadoop12:9868</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/usr/local/hadoop/data/namenode</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/usr/local/hadoop/data/datanode</value> </property> </configuration>
(请根据你的实际节点名称和目录进行修改)
第六步:HDFS集群初始化
在NameNode节点上执行以下命令格式化集群:
hdfs namenode -format
第七步:启动HDFS集群
在任意一个节点上执行:
start-dfs.sh
第八步:验证HDFS集群
访问NameNode的Web界面 (http://hadoop11:50070) 验证集群是否成功启动。
重要提示:
- 确保所有节点的配置文件完全一致。
- 配置文件中所有路径必须正确。
- 以上配置基于单机模式,生产环境通常需要高可用性(HA)配置,涉及zookeeper和JournalNode。
本指南提供了一个基本的HDFS集群部署流程,实际操作中可能需要根据具体环境进行调整。 请务必仔细检查所有配置,并根据你的实际情况修改节点名称和路径。