生產環境下Hadoop大集羣安裝與配置+DNS+NFS

一環境html

Linux ISOCentOS-6.0-i386-bin-DVD.iso     32node

JDK version"1.6.0_25-ea"   for  linuxlinux

Hadoop software versionhadoop-0.20.205.0.tar.gz   for  linuxweb

VMware® Workstation   Version 7.0.0 build-203739vim

個人linux虛擬機配置   master   slave1   slave2    信息以下緩存

主機名ruby

IPbash

節點名服務器

備註網絡

h1

192.168.2.102

master

namenodejobtracker

h2

192.168.2.103

slave1

datanodetasktracker

H4

192.168.2.105

slave2

datanodetasktracker

DNS服務器安裝與配置參考連接,感謝yanggw8071   mikeliu   chizeng

1.http://f.dataguru.cn/thread-49108-1-1.html

2.http://f.dataguru.cn/thread-52579-1-1.html

3.http://f.dataguru.cn/thread-56022-1-3.html

Bind安裝DNS服務器併成功解析主機名

1.說明一下,我把DNS服務器安裝到h1節點(master上)而後對h1 h2 h4 節點的主機名進行解析

2.須要h1節點能夠上網,由於咱們須要使用yum方式安裝DNSrpm包,上網方式以下

CentOS須要能連入網絡,這個比較簡單,能夠參考《NOSQL系列-memcached安裝管理與repcached高可用性》,這篇文章在一開始就介紹了虛擬機如何鏈接上網

http://f.dataguru.cn/thread-46905-1-1.html

3.原來咱們使用的hosts文件來解析主機名,如今能夠不使用了直接刪除便可,我呢直接更名吧,這樣留着備用

[root@h1 etc]# mv /etc/hosts /etc/hosts_20130126

4.有的筒子使用了webmin軟件GUI方式配置了DNS服務器,這種方式是挺方便的界面化人性化,但我用慣了命令行(碼農的歸宿)因此直接使用rpm方式來安裝DNS

5.檢查一下bind包有沒有,這也是採用chroot機制

[root@h1 ~]# rpm -q bind

package bind is not installed

[root@h1 ~]# rpm -q bind-chroot

package bind-chroot is not installed

這裏顯示尚未安裝,那麼咱們就須要yum方式安裝啦

6.如今使用yum安裝bind bind-chroot 軟件包

[root@h1 ~]# yum -y install bind bind-chroot

省略。。。。。。

到此bind bind-chroot包安裝完成

[root@h1 ~]# rpm -q bind

bind-9.8.2-0.10.rc1.el6_3.6.i686

[root@h1 ~]# rpm -q bind-chroot

bind-chroot-9.8.2-0.10.rc1.el6_3.6.i686

哈哈如今都已經安裝好了

7. yum install bind*還有三個包須要安裝

[root@h1 etc]# yum install bind*

如今都安裝完畢了

8.修改named.conf文件,目錄/etc/named.conf

[root@h1 etc]# vim /etc/named.conf        修改2處,標紅顯示

options {

       listen-on port 53 { any; };       //127.0.0.1 修改爲 any

       listen-on-v6 port 53 { ::1; };

       directory       "/var/named";

       dump-file       "/var/named/data/cache_dump.db";

       statistics-file "/var/named/data/named_stats.txt";

       memstatistics-file "/var/named/data/named_mem_stats.txt";

       allow-query     { any; };      //localhost 修改爲 any

       recursion yes;

       dnssec-enable yes;

       dnssec-validation yes;

       dnssec-lookaside auto;

       /* Path to ISC DLV key */

       bindkeys-file "/etc/named.iscdlv.key";

       managed-keys-directory "/var/named/dynamic";

};

logging {

       channel default_debug {

               file "data/named.run";

               severity dynamic;

       };

};

zone "." IN {

       type hint;

       file "named.ca";

};

include "/etc/named.rfc1912.zones";

include "/etc/named.root.key";

9. 修改named.rfc1912.zones文件,目錄/etc/named.rfc1912.zones

配置正向反向配置文件

[root@h1 etc]# vim /etc/named.rfc1912.zones     在這個文件末尾添加以下內容,紅色是注意的地方

zone "leonarding.com" IN {

       type master;

       file "leonarding.com.zone";       注意這是你本身設置的域名,要緊緊記住

       allow-update { none; };

};

zone "2.168.192.in-addr.arpa" IN {

       type master;

       file "2.168.192.in-addr.zone";      這是反向配置文件

       allow-update { none; };

};

10.建立leonarding.com.zone2.168.192.in-addr.zon 文件

[root@h1 etc]# cd /var/named          進入這個目錄

[root@h1 named]# cp -p named.localhost leonarding.com.zone

[root@h1 named]# cp -p named.localhost 2.168.192.in-addr.zone

對這2個文件進行修改,修改爲新的文件,這2個文件就是區域文件,必定要寫對了,不然會報錯

添加正向文件而且配置

[root@h1 named]# vim leonarding.com.zone

$TTL 86400

@    IN    SOA  h1.leonarding.com. chizk.www.leonarding.com. (

    0 ; serial (d. adams)

    1D ; refresh

    1H ; retry

    1W ; expiry

    3H ) ; minimum

@    IN    NS  h1.leonarding.com.

h1.leonarding.com. IN A 192.168.2.102

h2.leonarding.com. IN A 192.168.2.103

h4.leonarding.com. IN A 192.168.2.105

添加反向文件而且配置

[root@h1 named]# vim 2.168.192.in-addr.zone

$TTL 86400

@    IN    SOA  h1.leonarding.com. chizk.www.leonarding.com. (

    0 ; serial (d. adams)

    1D ; refresh

    1H ; retry

    1W ; expiry

    3H ) ; minimum

@    IN    NS  h1.leonarding.com.

102 IN PTR h1.leonarding.com.

103 IN PTR h2.leonarding.com.

105 IN PTR h4.leonarding.com.

修改正向文件和反向文件屬組,使用chgrp便可

[root@h1 named]# chgrp named leonarding.com.zone

[root@h1 named]# chgrp named leonarding.com.rev

11.修改/etc/resolv.conf 添加DNS域名服務器ip

h1master

[root@h1 named]# vim /etc/resolv.conf

nameserver 192.168.2.102          在最後面追加此條便可,就是個人master機器ip說明咱們是把master機器做爲DNS域名解析服務器,

h2slave

[root@h2 sysconfig]# vim /etc/resolv.conf

nameserver 192.168.2.102

h4slave

[root@h4 .ssh]# vim /etc/resolv.conf

nameserver 192.168.2.102

添加DNS域名服務器ip,當有域名或主機名解析的時候,就知道去哪臺機器上進行映射了

12.啓動DNS服務器

[root@h1 named]# service named start

啓動  named:【肯定】

13.使用nslookup命令測試域名解析

測試以前關閉防火牆

[root@h1 named]# service iptables status

Iptables:未運行防火牆

正向解析域名->IP

[root@h1 named]# nslookup h1.leonarding.com

Server:          192.168.2.102                    指域名服務器ip地址

Address:       192.168.2.102#53                     ip+端口號,DNS默認53端口

Name:   h1.leonarding.com                    域名解析

Address: 192.168.2.102                       映射ip

[root@h1 named]# nslookup h2.leonarding.com

Server:          192.168.2.102                    指域名服務器ip地址

Address:       192.168.2.102#53                     ip+端口號,DNS默認53端口

Name:   h2.leonarding.com                    域名解析

Address: 192.168.2.103                       映射ip

[root@h1 named]# nslookup h4.leonarding.com

Server:          192.168.2.102                    指域名服務器ip地址

Address:       192.168.2.102#53                    ip+端口號,DNS默認53端口

Name:   h4.leonarding.com                    域名解析

Address: 192.168.2.105                       映射ip

反向解析IP->域名

[root@h1 named]# nslookup 192.168.2.102

Server:          192.168.2.102

Address:       192.168.2.102#5

102.2.168.192.in-addr.arpa     name = h1.leonarding.com.

[root@h1 named]# nslookup 192.168.2.103

Server:          192.168.2.102

Address:       192.168.2.102#53

103.2.168.192.in-addr.arpa     name = h2.leonarding.com.

[root@h1 named]# nslookup 192.168.2.105

Server:          192.168.2.102

Address:       192.168.2.102#53

105.2.168.192.in-addr.arpa     name = h4.leonarding.com.

咱們還可使用host命令作解析測試

[root@h1 named]# host h2.leonarding.com

h2.leonarding.com has address 192.168.2.103

[root@h1 named]# host 192.168.2.103

103.2.168.192.in-addr.arpa domain name pointer h2.leonarding.com.

小結:到此咱們使用Bind安裝DNS服務器與配置,終於大功告成了,太不容易了,這是第一次獨立完成DNS的配置和排除故障,以前也作過但一直順風順水,此次遇到了困難,仍是應該多仔細認真反覆查詢測試,在此感謝ask兄的點撥!

三生產環境下hadoop大集羣NFS安裝與配置

1.說明一下,我仍是把NFS系統安裝到h1節點(master上)而後把共享目錄掛載到h1 h2 h4節點,實現ssh密鑰的共享

2.NFS參考連接,感謝chizeng   gaojian309

http://f.dataguru.cn/thread-56101-1-4.html

http://f.dataguru.cn/thread-56037-1-1.html

3.三臺虛擬操做系統以下

主機名

IP

節點名

備註

h1

192.168.2.102

master

namenodejobtracker

h2

192.168.2.103

slave1

datanodetasktracker

H4

192.168.2.105

slave2

datanodetasktracker


4.咱們開始作實驗啦

檢查NFS包是否已經安裝

[root@h1 ~]# rpm -qa | grep nfs

nfs-utils-1.2.2-7.el6.i686

nfs4-acl-tools-0.3.3-5.el6.i686

nfs-utils-lib-1.1.5-1.el6.i686

如今都已經安裝到系統中了

檢查rpcbind包是否已經安裝

[root@h1 ~]# rpm -qa | grep rpcbind

rpcbind-0.2.0-8.el6.i686

如今都已經安裝到系統中了

若是你的系統顯示沒有安裝,可使用yum install nfs-utils rpcbind  進行安裝,而後配置

5.咱們查看一下NFS服務和rpcbind服務是否啓動

[root@h1 ~]# service nfs status

rcp.svcgssd  已停

rpc.mountd  已停

nfsd        已停

rpc.rquotad  已停                nfs已經中止了,咱們如今應該啓動nfs服務

[root@h1 ~]# service rpcbind status

rpcbind (pid  1431)  正在運行…….

6.啓動服務

[root@h1 ~]# service nfs start

啓動NFS服務【肯定】

關掉NFS配額【肯定】

啓動FNS守護進程【肯定】

啓動NFS mountd                【肯定】

設置開機啓動

[root@h1 ~]# chkconfig nfs on

[root@h1 ~]# chkconfig rpcbind on

7./home/grid/目錄設置爲共享目錄

[root@h1 grid]# vim /etc/exports            exports文件中添加/home/grid *(sync,rw)字符串

/home/grid *(sync,rw)

解釋

/home/grid       NFS要共享的目錄

星號表明全部ip地址

Rw爲讀寫,ro爲只讀

Sync爲馬上寫入硬盤,rsync爲優先寫入緩存

No_root_squas root用戶具備根目錄的徹底管理訪問權限(這個若是不配置會形成遠程root用戶只讀)

[root@h1 grid]# cat /etc/exports

/home/grid *(sync,rw)

8.重啓rpcbindnfs服務

[root@h1 grid]# service rpcbind restart

中止 rpcbind:【肯定】

正在啓動rpcbind                  【肯定】

[root@h1 grid]# service nfs restart

所有啓動

注意這裏也要關閉防火牆設置

9.輸出本地掛載點(即master上的共享目錄)

[root@h1 grid]# showmount -e localhost

Export list for localhost:

/home/grid *

解釋:

/home/grid       NFS要共享的目錄

星號表明全部ip地址

10.客戶端h2 h4上配置

登錄h2

[root@h2 ~]# mkdir /nfs_share               在根目標下建立掛載點

[root@h2 ~]# mount -t nfs 192.168.2.102:/home/grid /nfs_share/  

h2上訪問h1/home/grid目錄掛載到/ nfs_share/目錄下

drwx------.  38 grid hadoop  4096   12   15 15:00 nfs_share

切換到grid用戶進入共享目錄查看

[grid@h2 ~]$ cd /nfs_share/

-bash: cd: nfs_share/:  權限不夠

報錯啦,權限不夠,這是爲何呢,通過了激烈的測試,發現是h1/home/grid目錄權限問題

[root@h1 home]# chmod -R 777 grid     爲了方便我直接給了所有權限,在h1上操做

[root@h2 /]# mount 192.168.2.102:/home/grid/ /nfs_share/    h2上從新掛載目錄

[root@h2 /]# su – grid                 切換用戶

[grid@h2 /]$ cd nfs_share/             ok咱們如今能夠暢通無阻了

[grid@h2 nfs_share]$ cd .ssh           沒有問題進來啦,成功

11.小測試

測試什麼呢,咱們不是設置了共享目錄嘛,我在h1的共享目錄上建立一個11111111.txt文件,而後登錄h2的掛載點,看看能不能查詢到

h1   服務端

[root@h1 grid]# touch 11111111.txt

[root@h1 grid]# ll | grep 11111111.txt

h2   客戶端

[grid@h2 nfs_share]$ ll | grep 11111111.txt

-rw-r--r--.  1 root root          0    1    27 14:27 11111111.txt

12.設置開機後自動掛載nfs共享目錄

修改fstab文件,這個文件描述了開機後應該掛載哪些掛載點

[root@h2 ~]# vim /etc/fstab                     在最後添加這行命令

192.168.2.102:/home/grid  /nfs_share            nfs     defaults        1 1

[root@h2 ~]# cat /etc/fstab

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

192.168.2.102:/home/grid  /nfs_share            nfs     defaults        1 1

如今NFS配置成功

13.使用NFS共享密鑰文件

h2   客戶端

[grid@h2 .ssh]$ pwd

/nfs_share/.ssh

[grid@h2 .ssh]$ ln -s authorized_keys /home/grid/.ssh/authorized_keys  

這種方式可能會致使軟連接文件符號連接的層次過多,建立失敗,但會有文件名注意文件名是紅色的,這是不正常的,避免的方法是都使用絕對路徑

還有另外一種方法

[grid@h2 .ssh]$ cd ~/.ssh/

[grid@h2 .ssh]$ ln -s /nfs_share/.ssh/authorized_keys authorized_keys

authorized_keys -> /nfs_share/.ssh/authorized_keys

第一個authorized_keys指的是h2上的,第二個authorized_keys指的是h1上的,注意區分

咱們用h1authorized_keys文件來建立h2authorized_keys文件軟連接

注意若是原來h2上就有/home/grid/.ssh/authorized_keys文件須要先刪除在建立

rm -rf /home/grid/.ssh/authorized_keys

咱們在h2上看一下h1authorized_keys文件內容

[grid@h2 .ssh]$ cat /nfs_share/.ssh/authorized_keys

咱們在看看h2的軟連接文件內容是否是已經鏈過去了

[grid@h2 .ssh]$ cat authorized_keys

看如出一轍

H4節點上共享密鑰文件

h4

[root@h4 ~]# mkdir /nfs_share                      在根目標下建立掛載點

[root@h4 ~]# mount -t nfs 192.168.2.102:/home/grid /nfs_share/

h4上訪問h1/home/grid目錄掛載到/ nfs_share/目錄下

[root@h4 ~]# su – grid          切換到grid用戶

[grid@h4 /]$ cd nfs_share/.ssh/   咱們能夠成功進入共享目錄來訪問h1中的文件

修改fstab文件,這個文件描述了開機後應該掛載哪些掛載點

[root@h4 ruby]# vim /etc/fstab

tmpfs                   /dev/shm                tmpfs   defaults        0 0

devpts                  /dev/pts                devpts  gid=5,mode=620  0 0

sysfs                   /sys                    sysfs   defaults        0 0

proc                    /proc                   proc    defaults        0 0

192.168.2.102:/home/grid  /nfs_share            nfs     defaults        1 1

在最後添加紅色字符串一行,這樣在重啓時系統就會自動掛載NFS共享目錄

[grid@h4 .ssh]$ cd ~/.ssh/      進入h4.ssh目錄

[grid@h4 .ssh]$ rm -rf authorized_keys    發現原來存在authorized_keys文件顧刪除

[grid@h4 .ssh]$ ln -s /nfs_share/.ssh/authorized_keys ~/.ssh/authorized_keys

authorized_keys -> /nfs_share/.ssh/authorized_keys  軟連接文件已經生成

[grid@h4 .ssh]$ cat authorized_keys               查看軟連接文件內容

小結:經過對比咱們知道h1authorized_keys受權文件和h2 h4上的軟連接文件內容都是如出一轍的,到此咱們就能夠免密碼連入了

相關文章
相關標籤/搜索