在CentOS上配置和启动Hadoop分布式文件系统(HDFS)涉及多个步骤。以下是一个详细的指南,帮助你完成这个过程。
首先,确保你的系统上安装了Java。你可以使用以下命令来安装OpenJDK 8:
sudo yum install java-1.8.0-openjdk-devel
验证安装:
java -version
你可以从Apache Hadoop的官方网站下载特定版本的Hadoop。以下是一个示例命令,用于下载Hadoop 3.2.0:
wget https://archive.apache.org/dist/hadoop/core/hadoop-3.2.0/hadoop-3.2.0.tar.gz
tar -xzvf hadoop-3.2.0.tar.gz -C /usr/local/
编辑/etc/profile
文件,添加以下内容:
export HADOOP_HOME=/usr/local/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:
source /etc/profile
hadoop-env.sh
编辑/usr/local/hadoop-3.2.0/etc/hadoop/hadoop-env.sh
文件,设置JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
core-site.xml
编辑/usr/local/hadoop-3.2.0/etc/hadoop/core-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
hdfs-site.xml
编辑/usr/local/hadoop-3.2.0/etc/hadoop/hdfs-site.xml
文件,添加以下内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hdfs/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hdfs/datanode</value>
</property>
</configuration>
mapred-site.xml
和yarn-site.xml
你可以参考Hadoop的官方文档来配置这些文件。
在第一次启动HDFS之前,需要初始化NameNode:
hdfs namenode -format
启动HDFS集群:
/usr/local/hadoop-3.2.0/sbin/start-dfs.sh
使用以下命令验证HDFS是否启动成功:
jps
你应该能看到NameNode、DataNode和Secondary NameNode进程。
停止HDFS集群:
/usr/local/hadoop-3.2.0/sbin/stop-dfs.sh
为了方便管理,配置SSH免密登录:
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将公钥复制到其他节点的~/.ssh/authorized_keys
文件中。
确保防火墙允许HDFS使用的端口:
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload
通过以上步骤,你应该能够在CentOS上成功配置和启动HDFS。如果有任何问题,请检查日志文件以获取更多信息。