機房4臺服務器集羣網絡配置

主要目標:

能夠經過內網系統訪問樓下機房服務器集羣,樓下機房只給一個能夠訪問外網的IP。php

現有條件:

  1. 只有一根能夠上外網的網線
  2. 一臺交換機
  3. 4臺高性能服務器,每臺服務器有兩個網口

主要網絡架構設計:

  1. 一臺服務器爲master節點
  2. 另外三臺服務器分別爲slave1,slave2,slave3
  3. 四臺服務器安裝的操做系統皆爲unbuntu server

IP 分佈:

  1. master節點eth0: 192.168.223.1 , eth1: 10.1.8.200
  2. slave2節點eth0: 192.168.223.2
  3. slave3節點eth0: 192.168.223.3
  4. slave4節點eth0: 192.168.223.4

網絡分佈示意圖:

  

具體服務器配置:

  1. master節點配置ip配置,修改 /etc/network/interfaces 文件, 配置文件以下:
    auto eth0
    iface eth0 inet static
    address 192.168.223.1
    netmask 255.255.255.0
    
    auto eth1
    iface eth1 inet static
    
    address 10.1.8.200
    netmask 255.255.255.0
    gateway 10.1.8.254

    網絡配置文件修改完以後, /etc/init.d/network restart
    或者 service network restart
    若是重啓以後仍是不行,則從新啓動服務器。
    網絡從新啓動以後,執行ifconfig命令查看網口配置
    這時,若是出現網口亂名的問題,即網口名字非eth0,eth1,eth2….
    則執行以下配置
    Edit /etc/default/grub and search for the following:linux

    GRUB_CMDLINE_LINUX_DEFAULT=""
    GRUB_CMDLINE_LINUX=""

    Add biosdevname=0 to the 2 lines:ios

    GRUB_CMDLINE_LINUX_DEFAULT="biosdevname=0"
    GRUB_CMDLINE_LINUX="biosdevname=0"

    The runubuntu

    sudo update-grub

    配置結束以後,重啓服務器, 而後查看 /etc/udev/rules.d/70-persistentnet.rules
    有相關與網口的配置 , 具體請參考網頁http://askubuntu.com/questions/578650/interface-device-name-em1-to-eth0-linux-14-04-lts緩存

    而後,須要配置數據轉發機制。
    master上的eth0與其餘slave上的eth0都經過交換機造成了一個192.168.223.0網段的一個內網。內網中的服務器所有能夠互相訪問。如今只有一個eht1網口用於上網。須要創建轉發路由規則:服務器

     

    進入終端, 開啓路由功能,網絡

    echo "1" > /proc/sys/net/ipv4/ip_forward

    這裏echo時若是sudo權限不行,轉入root權限操做,接着依次輸入下列命令:架構

    sudo iptables -F
    sudo iptalbes -P INPUT ACCEPT
    sudo iptalbes -P FORWARD ACCEPT
    sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE

    iptables -F 命令是刪除原有的路由配置(這條命令不要隨意操做,若是你原來的配置是iptables -P INPUT DROP, 那麼你的遠程鏈接頗有可能斷開)
    正確查看路由的命令是:ssh

    sudo iptables -L -n

    若是sudo iptalbes -F 這條命令無效,則改換成下面這條命令:oop

    sudo iptalbes -F  -t  nat

    可是以上配置都是臨時配置,一旦服務器關機就失效了,因此,須要將以上修改寫入 /etc/rc.local文件中。

  2. slave節點配置 slave節點配置基本相同,如如下slave2節點配置
    修改 /etc/network/interfaces以下
    auto lo
    iface lo inet loopback
    
    auto eth0
    iface eth0 inet static
    address 192.168.223.2
    netmask 255.255.255.0
    gateway 192.168.223.1

    配置文件寫好以後,執行生效如前所述
    其餘slave節點ip配置所有按照該節點配置。

配置完成以後:

全部節點配置完成以後,在每臺服務器上配置ssh-server,unbutun server版本是默認配置ssh-client版本 

對每一個服務器執行如下命令(這個時候每臺服務器是聯網的)

sudo apt-get intall update

爲了提升下載時的速度,須要修改下載源
進入/etc/apt/sources.list,將全部 http://cn.archive.ubuntu.com/ubuntu/

改爲 http://mirrors.ustc.edu.cn/ubuntu/

中科大的下載源速度仍是很快的.

更換源以後,執行如下兩條命令:

sudo rm /var/lib/apt/lists/* -vf
sudo apt-get update

將緩存的信息去掉

額外配置(方便部署Hadoop集羣)

  1. 修改每臺主機的 /etc/hosts, hosts內容以下(slave1這行是專門添加的):
    master 192.168.223.1
    slave1 192.168.223.1
    slave2 192.168.223.2
    slave3 192.168.223.3
    slave4 192.168.223.4

  2. 爲每臺主機主機同名的 sudo 用戶 hadoop (之後可能會用到),密碼用 haike@99,刪除原來的用戶 master, slave*,使用hadoop用戶,在每臺機器上執行(使用通常用戶權限)
    ssh-keygen
    ssh-copy-id master
    ssh-copy-id slave2
    ssh-copy-id slave3
    ssh-copy-id slave4

    這樣可使用hadoop用戶不須要密碼就能夠訪問其餘機器上的hadoop用戶,使用ssh slave* 命令。

  3. 修改每臺主機 /etc/default/locale文件, 內容改成
    LANG=en_US.UTF-8
    LANGUAGE=en_US:en
    LC_NUMERIC=」en_US」
    LC_TIME=」en_US」
    LC_MONETARY=」en_US」
    LC_PAPER=」en_US」
    LC_NAME=」en_US」
    LC_ADDRESS=」en_US」
    LC_TELEPHONE=」en_US」
    LC_MEASUREMENT=」en_US」
    LC_IDENTIFICATION=」en_US」
    修改完後執行
    sudo locale-gen en_US en_US.UTF-8
    sudo dpkg-reconfigure locales
    具體請參考
    http://ubuntuforums.org/showthread.php?t=1346581
    若是安裝的是中文環境,請進行修改。英文環境不用修改.

  4. 給其餘人添加用戶時,能夠去/etc/sudoers, 增長該用戶的sudo權限。

  5. 修改DNS服務器,能夠去/etc/resolv.conf,
nameserver 114.114.114.114
相關文章
相關標籤/搜索