Hadoop基于Java開發,需在所有節點安裝Java運行環境:
sudo yum install -y java-1.8.0-openjdk-devel
安裝OpenJDK 8;sudo apt update && sudo apt install -y openjdk-11-jdk
安裝OpenJDK 11。java -version
驗證是否成功(需顯示Java版本信息)。從Apache Hadoop官網下載最新穩定版本(如3.3.5),解壓至指定目錄(如/usr/local
):
wget https://downloads.apache.org/hadoop/core/hadoop-3.3.5/hadoop-3.3.5.tar.gz # 替換為最新版本鏈接
tar -zxvf hadoop-3.3.5.tar.gz -C /usr/local/ # 解壓到/usr/local
ln -s /usr/local/hadoop-3.3.5 /usr/local/hadoop # 創建軟鏈接(簡化命令)
設置Hadoop目錄權限:sudo chown -R hadoop:hadoop /usr/local/hadoop
(hadoop為用戶,需提前創建)。
編輯所有節點的~/.bashrc
(或/etc/profile
)文件,添加以下內容:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 根據實際Java安裝路徑修改
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
保存后執行source ~/.bashrc
(或source /etc/profile
)使配置生效。
進入Hadoop配置目錄($HADOOP_HOME/etc/hadoop
),修改以下關鍵文件:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://namenode:9000</value> <!-- Master節點主機名或IP -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本數(集群節點≥3時設為3,否則設為節點數) -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/data/namenode</value> <!-- NameNode數據目錄 -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value> <!-- 使用YARN作為資源管理器 -->
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>resourcemanager</value> <!-- ResourceManager節點主機名或IP -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- Shuffle服務 -->
</property>
</configuration>
修改完成后,保存所有文件。
實現Master節點與所有Slave節點的無密碼通信:
ssh-keygen -t rsa
(直接回車,默認路徑~/.ssh/id_rsa
);ssh-copy-id hadoop@slave1_ip
、ssh-copy-id hadoop@slave2_ip
(替換為Slave節點IP或主機名);ssh slave1_ip
,若無需輸入密碼即可登錄,則配置成功。僅在Master節點執行,初始化HDFS文件系統:
hdfs namenode -format
此操作會清除HDFS中的所有數據,請謹慎執行(首次搭建時需執行)。
start-dfs.sh
,啟動NameNode、DataNode等組件;start-yarn.sh
,啟動ResourceManager、NodeManager等組件。jps
命令查看進程(Master節點應有NameNode、ResourceManager;Slave節點應有DataNode、NodeManager)。hdfs dfsadmin -report
查看HDFS節點狀態;執行yarn node -list
查看YARN節點狀態;http://namenode_ip:50070
(HDFS Web界面)、http://namenode_ip:8088
(YARN Web界面),確認集群運行正常。以上步驟完成后,Hadoop集群即搭建完成,可進行后續的HDFS文件操作、MapReduce作業提交等任務。