master、slave1),使用以下命令永久生效:hostnamectl set-hostname <主機名>/etc/sysconfig/network-scripts/ifcfg-eth0,Ubuntu 18.04+為/etc/netplan/*.yaml),設置靜態IP、子網掩碼、網關和DNS:TYPE=Ethernet
BOOTPROTO=static
IPADDR=192.168.1.100 # 替換為實際IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
DNS2=8.8.4.4
ONBOOT=yes # 開機自啟
重啟網絡服務使配置生效:systemctl restart network(CentOS)或netplan apply(Ubuntu)。/etc/hosts文件,添加集群內所有節點的IP地址與主機名映射(避免依賴DNS):192.168.1.100 master
192.168.1.101 slave1
192.168.1.102 slave2
保存后,可通過ping <主機名>驗證解析是否生效。master節點(或其他管理節點)執行以下命令,生成RSA密鑰對(默認保存到~/.ssh/id_rsa):ssh-keygen -t rsa -P ''(-P ''表示空密碼,簡化操作)。master節點的公鑰復制到所有節點的~/.ssh/authorized_keys文件中(實現無密碼登錄):ssh-copy-id master(本機)、ssh-copy-id slave1、ssh-copy-id slave2。ssh slave1,若無需輸入密碼則配置成功。Hadoop的網絡配置主要通過$HADOOP_HOME/etc/hadoop目錄下的XML文件完成,關鍵配置如下:
<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>
</configuration>
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value> <!-- 副本數,生產環境建議≥3,測試環境可設為1 -->
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/dfs/name</value> <!-- NameNode元數據存儲路徑 -->
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/dfs/data</value> <!-- DataNode數據存儲路徑 -->
</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.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
mapred-site.xml.template復制):指定MapReduce運行框架為YARN:<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
所有配置修改后,需同步到集群所有節點。$HADOOP_HOME/etc/hadoop/slaves文件,添加所有DataNode和NodeManager節點的主機名(每行一個):slave1
slave2
該文件用于Hadoop啟動時自動分發任務和管理節點。systemctl stop firewalld # CentOS
systemctl disable firewalld
# 或 Ubuntu(ufw)
ufw disable
setenforce 0(臨時關閉),并編輯/etc/selinux/config將SELINUX=enforcing改為disabled(永久關閉)。hdfs namenode -format(注意:格式化會清除HDFS原有數據,謹慎操作)。start-dfs.sh(啟動NameNode、DataNode等HDFS組件)、start-yarn.sh(啟動ResourceManager、NodeManager等YARN組件)。jps命令查看各節點進程(master節點應有NameNode、ResourceManager;slave節點應有DataNode、NodeManager)。http://master:50070)、YARN(http://master:8088),確認集群狀態正常。通過以上步驟,可完成Hadoop在Linux環境中的網絡配置,確保集群節點間通信正常,為后續大數據處理任務奠定基礎。