一、基礎網絡環境配置
設置靜態IP地址
為確保集群節點IP穩定,需將Linux節點的網絡接口配置為靜態IP。編輯對應網卡配置文件(如CentOS/RHEL的/etc/sysconfig/network-scripts/ifcfg-ens33
、Debian/Ubuntu的/etc/network/interfaces
),添加以下內容:
TYPE=Ethernet
BOOTPROTO=static # 靜態IP模式
IPADDR=192.168.1.100 # 節點IP地址
NETMASK=255.255.255.0 # 子網掩碼
GATEWAY=192.168.1.1 # 網關地址
DNS1=8.8.8.8 # DNS服務器
ONBOOT=yes # 開機自啟
保存后重啟網絡服務(systemctl restart network
或 service network restart
)。
配置主機名與hosts映射
hostnamectl set-hostname <主機名>
。/etc/hosts
文件,添加IP與主機名的映射(所有節點需一致):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
這樣可通過主機名直接訪問節點,避免依賴DNS。二、SSH免密碼登錄配置 Hadoop集群節點間需頻繁通信(如NameNode與DataNode、ResourceManager與NodeManager),配置SSH免密碼登錄可簡化流程:
ssh-keygen -t rsa
(直接回車,默認保存到~/.ssh/id_rsa
)。ssh-copy-id user@master
、ssh-copy-id user@slave1
(替換為用戶和節點主機名/IP)。ssh master
、ssh slave1
,無需輸入密碼即可登錄。三、Hadoop核心網絡配置文件修改 Hadoop的網絡行為主要由以下配置文件控制,需根據集群規模調整:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value> <!-- NameNode的RPC地址 -->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/tmp</value> <!-- 臨時文件目錄 -->
</property>
<property>
<name>ipc.client.connect.timeout</name>
<value>60000</value> <!-- 客戶端連接超時(毫秒) -->
</property>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 數據副本數(生產環境建議3,測試環境可設1) -->
</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>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value> <!-- NameNode RPC處理線程數 -->
</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>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>8192</value> <!-- NodeManager可用內存(MB) -->
</property>
</configuration>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
etc/hadoop/
下),每行一個主機名:slave1
slave2
此文件用于Hadoop自動分發任務和管理節點。四、網絡優化與安全配置
調整系統網絡參數
編輯/etc/sysctl.conf
,優化TCP緩沖區和連接數,提升網絡性能:
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=4096 87380 16777216
net.ipv4.tcp_wmem=4096 65536 16777216
net.ipv4.ip_local_port_range=1024 65535
net.core.somaxconn=65535
應用配置:sudo sysctl -p
。
關閉防火墻與SELinux
systemctl stop firewalld
(CentOS/RHEL)或systemctl stop firewalld
(Ubuntu/Debian)。systemctl disable firewalld
。setenforce 0
,并修改/etc/selinux/config
中的SELINUX=disabled
。五、驗證網絡配置
ping
命令檢查節點間是否可達(如ping slave1
)。ssh master
、ssh slave1
驗證免密登錄是否成功。hdfs namenode -format
),啟動集群(start-dfs.sh
、start-yarn.sh
),訪問Web界面(NameNode:http://master:50070
,ResourceManager:http://master:8088
),查看節點狀態是否正常。