Spark搭建集群比較繁瑣,需要的內容比較多,這里主要從Centos、Hadoop、Hive、ZooKeeper、kafka的服務器環境搭建開始講。其中Centos的搭建不具體說了,主要講下集群的配置。
環境搭建軟件包
由於我是直接拿了三台現成的Centos 5.6的系統上進行搭建的,所以Centos的搭建就不說了,有需要的可以自行網上搜一下,也比較簡單。當然以下有些工具也可以用你們已經順手的工具包O(∩_∩)O~~
- Centos 5.6(Linux服務器)
- JDK 1.7(Java開發環境)
- Xshell 5(windows連接Linux)
- Xftp 4(windows上傳Linux)
- Hadoop 2.4.1
- Hive 0.13
- ZooKeeper 3.4.5
- kafka 2.9.2-0.2.1
- Spark 1.3.0
Centos服務器配置
安裝完三台Centos的操作系統之后,我們要對三台服務器進行免ssh登錄。
首先我們先臨時性地給三台服務器設置個名字。以一台為例,另外兩台依樣畫葫蘆就OK。
- 設置主機名(三台服務器)
[root@localhost ~]# hostname //顯示主機名localhost [root@localhost ~]# sudo hostname spark1 設置主機名為spark1,另外兩台服務器可以依次設為spark2、spark3 //若想永久性修改可以這樣 [root@localhost ~]# vi /etc/sysconfig/network //編輯文件如下 HOSTNAME=spark1 #修改localhost.localdomain為spark1
設置完成之后繼續修改/etc/hosts文件
[root@spark1 ~]# vi /etc/hosts
[ip地址] spark1
如果是永久性修改,要重啟服務器;臨時性修改就不用了,否則重啟完由還原了。
設置完之后我們可以ping地址,看是否OK。
[root@spark1 ~]# ping spark1
- 關閉防火牆(三台服務器)
[root@spark1 ~]# service iptables stop [root@spark1 ~]# chkconfig iptables off [root@spark1 ~]# vi /etc/selinux/config //在配置文件中修改 SELINUX=disabled
- 設置免密碼ssh登陸(三台服務器)
我們設置完三台Centos服務器的hostname之后,繼續進入三台服務器,把另外2台服務器的hostname映射都配置在/etc/hosts文件中。
[root@spark1 ~]# vi /etc/hosts
[ip地址一1] spark1 //之前配置的 [ip地址一2] spark2 [ip地址一3] spark3
然后我們設置免密碼ssh登錄。
[root@spark1 ~]# ssh-keygen -t rsa //設置ssh的登錄密碼
一路回車向下不設置密碼。然后執行下面命令。
[root@spark1 ~]# cd /root/.ssh //生成的密鑰文件自動放在這個文件夾下 [root@spark1 ~]# cp id_rsa.pub authorized_keys [root@spark1 ~]# ls authorized_keys id_rsa id_rsa.pub known_hosts //至此我們本機已經不用密碼登陸了 [root@spark1 ~]# ssh spark1
然后我們把ssh密鑰傳給其他另外2台服務器使得可以互相免密碼ssh登錄。
[root@spark1 ~]# ssh-copy-id -i spark2 //將ssh密鑰復制給spark2 //第一次需要輸入spark2的登錄密碼,按提示完成 //完成后 [root@spark1 ~]# ssh spark2
發現可以免密碼直接登錄spark2服務器了,另外兩台服務器依次22免密碼ssh登錄設置完成。