在CentOS上配置HDFS(Hadoop分布式文件系統)涉及多個步驟,包括安裝Hadoop、配置Hadoop集群以及啟動和驗證HDFS。以下是一個基本的指南:
Hadoop需要Java運行環境。你可以使用以下命令安裝OpenJDK:
sudo yum install java-1.8.0-openjdk-devel
驗證安裝:
java -version
從Apache Hadoop官方網站下載最新版本的Hadoop,并將其解壓到你的目錄中。例如:
wget https://www.apache.org/dyn/closer.cgi/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
編輯/etc/profile.d/hadoop.sh
文件,添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使環境變量生效:
source /etc/profile.d/hadoop.sh
編輯Hadoop的配置文件,主要涉及core-site.xml
、hdfs-site.xml
和yarn-site.xml
。
編輯$HADOOP_HOME/etc/hadoop/core-site.xml
文件,添加以下內容:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
編輯$HADOOP_HOME/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/data/namenode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/data/datanode</value>
</property>
</configuration>
創建數據目錄:
sudo mkdir -p /usr/local/hadoop/data/namenode
sudo mkdir -p /usr/local/hadoop/data/datanode
修改目錄權限:
sudo chown -R hadoop:hadoop /usr/local/hadoop/data
編輯$HADOOP_HOME/etc/hadoop/yarn-site.xml
文件,添加以下內容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
在第一次啟動HDFS之前,需要對其進行格式化:
hdfs namenode -format
啟動HDFS和YARN:
start-dfs.sh
start-yarn.sh
檢查HDFS是否正常運行:
jps
你應該看到以下進程:
訪問HDFS Web界面:
打開瀏覽器,訪問http://<your-namenode-ip>:50070
,你應該能看到HDFS的狀態頁面。
停止HDFS和YARN:
stop-dfs.sh
stop-yarn.sh
以上步驟是在單節點上配置HDFS的基本過程。如果你打算配置一個多節點集群,還需要配置slaves
文件(在$HADOOP_HOME/etc/hadoop/slaves
),并在每個工作節點上重復上述步驟。