在Ubuntu上搭建HDFS(Hadoop分布式文件系統)集群需要遵循以下步驟:
Hadoop需要Java環境,首先確保你的系統上安裝了Java。
sudo apt update
sudo apt install openjdk-11-jdk
驗證安裝:
java -version
從Apache Hadoop官方網站下載最新版本的Hadoop,并解壓到你的目錄。
wget https://downloads.apache.org/hadoop/common/hadoop-3.3.4/hadoop-3.3.4.tar.gz
tar -xzvf hadoop-3.3.4.tar.gz -C /usr/local/
重命名解壓后的目錄以便于管理:
sudo mv /usr/local/hadoop-3.3.4 /usr/local/hadoop
編輯/etc/profile
文件,添加Hadoop的環境變量。
sudo nano /etc/profile
在文件末尾添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存并退出編輯器,然后使配置生效:
source /etc/profile
編輯Hadoop的核心配置文件core-site.xml
、hdfs-site.xml
、yarn-site.xml
和mapred-site.xml
。
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value>
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</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>
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
在NameNode節點上執行以下命令來格式化HDFS:
hdfs namenode -format
在NameNode節點上啟動HDFS:
start-dfs.sh
在ResourceManager節點上啟動YARN:
start-yarn.sh
訪問ResourceManager的Web界面(通常是http://<resourcemanager-ip>:8088
)來驗證集群狀態。
為了方便集群管理,配置SSH無密碼登錄。
在NameNode節點上生成SSH密鑰:
ssh-keygen -t rsa
將公鑰復制到其他節點:
ssh-copy-id <datanode-ip>
編輯slaves
文件(在$HADOOP_HOME/etc/hadoop
目錄下),添加所有DataNode的主機名或IP地址:
nano $HADOOP_HOME/etc/hadoop/slaves
添加DataNode節點:
datanode1
datanode2
datanode3
保存并退出編輯器。
在NameNode節點上重新啟動Hadoop集群:
stop-dfs.sh
stop-yarn.sh
start-dfs.sh
start-yarn.sh
現在,你的HDFS集群應該已經成功搭建并運行。你可以通過Hadoop命令行工具或Web界面來管理和監控集群。