溫馨提示×

Hadoop在Linux上的網絡配置怎么做

小樊
39
2025-08-29 20:18:51
欄目: 智能運維

一、基礎網絡環境配置

  1. 設置靜態IP地址
    靜態IP是集群節點穩定通信的基礎,需根據Linux發行版修改對應網絡配置文件:

    • Debian/Ubuntu:編輯/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服務器
      
    • CentOS/RHEL:編輯/etc/sysconfig/network-scripts/ifcfg-eth0eth0為網卡名),設置:
      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及以上)。

  2. 配置主機名與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。

  3. 關閉防火墻與SELinux

    • 臨時關閉防火墻:systemctl stop firewalld(CentOS)或systemctl stop ufw(Ubuntu)。
    • 永久禁用防火墻:systemctl disable firewalld。
    • 關閉SELinux(開發環境推薦):
      setenforce 0  # 臨時關閉
      sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config  # 永久關閉
      

    防火墻和SELinux可能會阻止Hadoop節點間的通信,關閉后可避免端口訪問問題。

二、SSH免密碼登錄配置 Hadoop集群節點間需要頻繁通信(如NameNode與DataNode、ResourceManager與NodeManager),配置SSH免密碼登錄可簡化操作:

  1. 主節點(如master)生成SSH密鑰對:
    ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa  # 默認保存路徑~/.ssh/
    
  2. 將公鑰復制到所有從節點(如slave1、slave2):
    ssh-copy-id master  # 復制到本機(可選)
    ssh-copy-id slave1
    ssh-copy-id slave2
    
  3. 驗證免密登錄:
    ssh master  # 無需輸入密碼即可登錄
    ssh slave1
    
    注意:確保~/.ssh目錄權限為700,~/.ssh/authorized_keys權限為600chmod 700 ~/.ssh; chmod 600 ~/.ssh/authorized_keys)。

三、Hadoop核心網絡配置文件 Hadoop的網絡行為主要由core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四個核心配置文件控制:

  1. core-site.xml
    配置HDFS默認文件系統和Hadoop臨時目錄:
    <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>
    
  2. hdfs-site.xml
    配置HDFS副本數(生產環境建議3個)和數據存儲目錄:
    <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>
    
  3. mapred-site.xml
    配置MapReduce運行框架為YARN(提升資源利用率):
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
  4. yarn-site.xml
    配置YARN資源管理器(ResourceManager)和節點管理器(NodeManager):
    <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。

四、驗證網絡配置

  1. 檢查節點連通性
    在主節點使用ping命令測試與從節點的連通性(如ping slave1),確保網絡暢通。
  2. 驗證SSH免密登錄
    執行ssh slave1,確認無需輸入密碼即可登錄。
  3. 啟動Hadoop集群
    • 格式化NameNode(首次啟動需執行):hdfs namenode -format。
    • 啟動HDFS:start-dfs.sh。
    • 啟動YARN:start-yarn.sh。
  4. 檢查服務狀態
    • 查看Hadoop進程:jps(應顯示NameNode、DataNode、ResourceManager、NodeManager等進程)。
    • 訪問Web界面:HDFS(http://master:50070)、YARN(http://master:8088),確認集群狀態正常。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女