在之前的spark on yarn集群配置中春塌,感覺最麻煩的就是各個(gè)機(jī)器之間的網(wǎng)絡(luò)配置了晓避,一直想簡(jiǎn)化這部分的工作。
一開始的辦法是一臺(tái)機(jī)器一臺(tái)機(jī)器的編輯/etc/network/interfaces
文件和/etc/hosts
文件使各臺(tái)機(jī)器都有固定的ip和通過機(jī)器名稱可以轉(zhuǎn)換成對(duì)應(yīng)的ip只壳,這樣一旦集群中一臺(tái)機(jī)器發(fā)生變動(dòng)俏拱,各臺(tái)機(jī)器都要過一遍,很是麻煩吼句。
現(xiàn)在一般的家用路由器上都有根據(jù)mac地址分配固定ip的功能锅必,所以只要在路由器上配置dhcp分配的規(guī)則,將各個(gè)機(jī)器的網(wǎng)卡mac地址填入就可以將機(jī)器的ip固定住了惕艳。
接下來就是機(jī)器之間互相識(shí)別的事了搞隐,這里我們?cè)诩簝?nèi)選定一臺(tái)主機(jī)驹愚,作為dns服務(wù)器,其他的機(jī)器只要將dns服務(wù)設(shè)定為這臺(tái)機(jī)器劣纲,就可以識(shí)別其他機(jī)器名稱所對(duì)應(yīng)的ip了逢捺。
按慣例,給出操作環(huán)境:
Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-66-generic x86_64
服務(wù)端
首先安裝bind
sudo apt-get install bind9
安裝完畢之后開始配置味廊。
先要說一些基本認(rèn)知:
- 所有的配置文件都在
/etc/bind/
下 - 要使配置生效蒸甜,需要重啟bind9服務(wù)
sudo service bind9 restart
- 服務(wù)啟動(dòng)的日志在
/var/log/syslog
中,需要查看之以確保配置正確和生效
然后我們開始配置bind余佛,參照ubuntu的bind中文wiki。
修改named.conf.local
添加一個(gè)zone節(jié)點(diǎn)窍荧,這里我們的zone名字是“mwnet”:
zone "mwnet" {
type master;
file "/etc/bind/db.mwnet";
};
然后將“db.local”文件復(fù)制成“db.mwnet”辉巡,并修改之:
;
; BIND data file for local loopback interface
;
$TTL 604800
@ IN SOA mwnet. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
@ IN NS mwnet.
@ IN A 192.168.3.9
Y40 IN A 192.168.3.9
X230 IN A 192.168.3.11
;省略不展示其他機(jī)器信息...
其中第5、11行就是將"localhost"修改成了自己的zone名稱蕊退。
第12行是必須的郊楣,指定默認(rèn)的域名解析到的ip,包括“ns.mwnet”的解析瓤荔。
從第13行開始就是機(jī)器名稱的解析了净蚤。
接著增加一個(gè)反向解析的配置,這一步必須要做输硝,否則hdfs的datanode啟動(dòng)會(huì)失敗今瀑。
同樣修改named.conf.local
添加一個(gè)zone節(jié)點(diǎn):
zone "3.168.192.in-addr.arpa" {
type master;
notify no;
file "/etc/bind/db.192.168.3";
};
然后將db.127
文件復(fù)制成db.192.168.3
,并修改之:
;
; BIND reverse data file for local loopback interface
;
$TTL 604800
@ IN SOA mwnet. root.localhost. (
2 ; Serial
604800 ; Refresh
86400 ; Retry
2419200 ; Expire
604800 ) ; Negative Cache TTL
;
@ IN NS ns.
9 IN PTR ns.mwnet.
9 IN PTR Y40.mwnet.
11 IN PTR X230.mwnet.
;省略不展示其他機(jī)器信息...
注意這里PTR記錄和 db.mwnet
里面的A記錄是一一對(duì)應(yīng)的点把。
保存修改之后重啟服務(wù)橘荠。
客戶端
接下來修改各臺(tái)機(jī)器的dns服務(wù)器設(shè)置,需要改動(dòng)/etc/resolvconf/resolv.conf.d/base
文件:
search mwnet
domain mwnet
nameserver 192.168.3.9
第1行寫search是為了在尋找主機(jī)的時(shí)候郎逃,自動(dòng)在主機(jī)名稱后面加上“.mwnet”哥童,以便dns服務(wù)器解析。
第2行寫domain是為了讓本機(jī)加入"mwnet"域褒翰,這樣完整的主機(jī)名就變成了設(shè)備名稱+“.mwnet”贮懈。
第3行指定了dns服務(wù)器的地址。
需要注意的是這個(gè)改動(dòng)必須重啟機(jī)器后生效优训。
補(bǔ)充
如果之前沒有改動(dòng)過/etc/hosts
文件朵你,需要注意一點(diǎn)就是把系統(tǒng)自動(dòng)添加機(jī)器名稱解析到127.0.1.1的記錄刪除,很多事情都?jí)脑谶@條記錄上型宙。