一、基礎網絡環境配置
設置靜態IP地址
靜態IP是集群節點穩定通信的基礎,需根據Linux發行版修改對應網絡配置文件:
/etc/network/interfaces
,添加以下內容(以eth0
為例):auto eth0
iface eth0 inet static
address 192.168.1.100 # 節點IP地址
netmask 255.255.255.0 # 子網掩碼
gateway 192.168.1.1 # 網關地址
dns-nameservers 8.8.8.8 8.8.4.4 # DNS服務器
/etc/sysconfig/network-scripts/ifcfg-eth0
(eth0
為網卡名),設置:TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
ONBOOT=yes # 開機自啟
保存后重啟網絡服務:systemctl restart network
(CentOS 7以下)或systemctl restart NetworkManager
(CentOS 7及以上)。
配置主機名與hosts映射
master
、slave1
):hostnamectl set-hostname <主機名>
。/etc/hosts
文件,添加IP與主機名的映射(所有節點需一致):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
這樣可通過主機名直接訪問節點,避免依賴DNS。
關閉防火墻與SELinux
systemctl stop firewalld
(CentOS)或systemctl stop ufw
(Ubuntu)。systemctl disable firewalld
。setenforce 0 # 臨時關閉
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config # 永久關閉
防火墻和SELinux可能會阻止Hadoop節點間的通信,關閉后可避免端口訪問問題。
二、SSH免密碼登錄配置 Hadoop集群節點間需要頻繁通信(如NameNode與DataNode、ResourceManager與NodeManager),配置SSH免密碼登錄可簡化操作:
master
)生成SSH密鑰對:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa # 默認保存路徑~/.ssh/
slave1
、slave2
):ssh-copy-id master # 復制到本機(可選)
ssh-copy-id slave1
ssh-copy-id slave2
ssh master # 無需輸入密碼即可登錄
ssh slave1
注意:確保~/.ssh
目錄權限為700
,~/.ssh/authorized_keys
權限為600
(chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys
)。三、Hadoop核心網絡配置文件
Hadoop的網絡行為主要由core-site.xml
、hdfs-site.xml
、mapred-site.xml
、yarn-site.xml
四個核心配置文件控制:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- NameNode的IP和端口 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 臨時文件目錄 -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 數據塊副本數 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/namenode</value> <!-- NameNode元數據存儲路徑 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/datanode</value> <!-- DataNode數據存儲路徑 -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value> <!-- ResourceManager所在節點 -->
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <!-- 支持MapReduce shuffle -->
</property>
</configuration>
以上配置需根據集群規模(如節點數量、數據量)調整,例如dfs.replication
在測試環境可設為1。四、驗證網絡配置
ping
命令測試與從節點的連通性(如ping slave1
),確保網絡暢通。ssh slave1
,確認無需輸入密碼即可登錄。hdfs namenode -format
。start-dfs.sh
。start-yarn.sh
。jps
(應顯示NameNode、DataNode、ResourceManager、NodeManager等進程)。http://master:50070
)、YARN(http://master:8088
),確認集群狀態正常。