1. 系統環境準備
apt-get update && apt-get upgrade
確保系統為最新狀態,減少潛在兼容性問題。sudo apt install openjdk-11-jdk
安裝,配置JAVA_HOME
環境變量(如/usr/lib/jvm/java-11-openjdk-amd64
)并添加至/etc/profile
或/etc/environment
,驗證java -version
顯示正確版本。hadoop
),使用useradd -m -s /bin/bash hadoop
,并通過sudo usermod -aG sudo hadoop
賦予sudo權限;設置Hadoop安裝目錄(如/opt/hadoop
)及數據目錄(如/opt/hadoop/data
)的歸屬權(chown -R hadoop:hadoop /opt/hadoop
),避免權限沖突。2. Hadoop安裝與配置
wget
獲取并校驗SHA-256校驗和(避免文件損壞),解壓至指定目錄(如/opt/hadoop
),通過sudo mv hadoop-3.3.6 /opt/hadoop
重命名。/etc/profile
或~/.bashrc
,添加HADOOP_HOME=/opt/hadoop
、PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
,運行source /etc/profile
使變量生效,確保全局可訪問Hadoop命令。core-site.xml
:設置fs.defaultFS
為hdfs://namenode:9000
(NameNode地址),配置Hadoop臨時目錄(hadoop.tmp.dir
為/opt/hadoop/tmp
)。hdfs-site.xml
:設置副本數(dfs.replication
為3,生產環境建議;測試環境可為1),指定NameNode數據目錄(dfs.namenode.name.dir
為/opt/hadoop/data/namenode
)、DataNode數據目錄(dfs.datanode.data.dir
為/opt/hadoop/data/datanode
)。mapred-site.xml
:設置mapreduce.framework.name
為yarn
,指定MapReduce運行框架為YARN。yarn-site.xml
:配置YARN資源管理,設置yarn.nodemanager.aux-services
為mapreduce_shuffle
、yarn.nodemanager.aux-services.mapreduce.shuffle.class
為org.apache.hadoop.mapred.ShuffleHandler
,啟用MapReduce Shuffle服務。3. 網絡與節點通信
ssh-keygen -t rsa -P ""
),將公鑰(id_rsa.pub
)復制到所有節點(包括自身)的authorized_keys
文件(cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
),測試ssh localhost
及ssh datanode1
是否無需密碼,確保節點間無縫通信。/etc/hosts
文件,添加集群節點IP與主機名映射(如192.168.1.1 namenode
、192.168.1.2 datanode1
),避免DNS解析延遲或失敗。4. 集群啟動與驗證
hdfs namenode -format
,清除舊元數據(僅首次啟動需要),創建新的HDFS命名空間。start-dfs.sh
),啟動YARN(start-yarn.sh
);使用jps
命令驗證進程(NameNode、DataNode、ResourceManager、NodeManager是否運行),或通過Web界面(http://namenode:9870
查看HDFS狀態,http://resourcemanager:8088
查看YARN狀態)。hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar wordcount /input/test.txt /output
),檢查輸出目錄(/output
)是否生成結果文件,確認集群功能正常。5. 性能優化與安全
HADOOP_HEAPSIZE
設置為4GB+,根據節點內存調整),優化HDFS塊大?。?code>dfs.blocksize設為128MB或256MB,適合大數據處理),啟用數據本地性(確保任務在數據所在節點運行,減少網絡傳輸)。kinit
獲取票據),配置防火墻(ufw
或iptables
)限制Hadoop端口(如9000、50070、8088)訪問,僅允許可信IP接入;定期更新Hadoop版本及系統補丁,修復安全漏洞。