Mac下利用vmware fushion安裝centos服務(wù)器铛纬,然后搭建Zookeeper集群環(huán)境手素。
安裝中用到的軟件包
- Centos7,下載地址
- vmware fushion 10以上的版本
- jdk8
- zookeeper-3.4.5-cdh5.14.2.tar.gz
配置虛擬機(jī)并且安裝JDK
為了安裝簡(jiǎn)便,先安裝一臺(tái)linux虛擬機(jī)署照,并在其上安裝zookeeper臭脓,然后克隆這個(gè)鏡像2份酗钞,修改相關(guān)配置即可。
安裝虛擬機(jī)
我們這里使用的配置是4G內(nèi)存,50G硬盤砚作,處理器2核窘奏。注意:網(wǎng)絡(luò)要選擇與我的mac共享。修改ip地址葫录,使用固定ip
注意:在修改靜態(tài)ip之前着裹,先查看vmware fushion使用的本機(jī)默認(rèn)網(wǎng)關(guān)地址以及虛擬機(jī)允許選擇的靜態(tài)ip地址范圍
通過Mac終端查看vmware fushion使用的默認(rèn)網(wǎng)關(guān)地址:
cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf
截取了部分結(jié)果如下,其中192.168.2.2
為默認(rèn)網(wǎng)關(guān)米同,255.255.255.0
為子網(wǎng)掩碼骇扇。
# NAT gateway address
ip = 192.168.2.2
netmask = 255.255.255.0
然后查看虛擬機(jī)允許選擇的靜態(tài)ip地址范圍:
vim /Library/Preferences/VMware\ Fusion/vmnet8/dhcpd.conf
截取了部分結(jié)果如下,其中:192.168.2.128
~ 192.168.2.254
為我們?cè)试S配置的靜態(tài)ip范圍面粮。
ubnet 192.168.2.0 netmask 255.255.255.0 {
range 192.168.2.128 192.168.2.254;
option broadcast-address 192.168.2.255;
option domain-name-servers 192.168.2.2;
option domain-name localdomain;
default-lease-time 1800; # default is 30 minutes
max-lease-time 7200; # default is 2 hours
option netbios-name-servers 192.168.2.2;
option routers 192.168.2.2;
}
獲取到以上2個(gè)信息之后匠题,我們分別配置三臺(tái)linux虛擬機(jī)的ip地址為:192.168.2.100
, 192.168.2.110
, 192.168.2.120
。
下面進(jìn)行修改但金,進(jìn)入虛擬機(jī)里面韭山,打開終端,切換到root冷溃,然后編輯ifcfg-ens33文件钱磅。
su root # 之后的操作都是使用root身份進(jìn)行
vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改其內(nèi)容為:
BOOTPROTO="static" # 原本是BOOTPROTO="dhcp",自動(dòng)獲取改為使用靜態(tài)固定ip
IPADDR=192.168.2.100 # 這里使用192.168.2.100
NETMASK=255.255.255.0 # 子網(wǎng)掩碼
GATEWAY=192.168.2.2 # 這里的網(wǎng)關(guān)似枕,填入上面獲取到的網(wǎng)關(guān)192.168.2.2
DNS1=8.8.8.8 # DNS
保存完之后盖淡,重啟一下網(wǎng)絡(luò):
service network restart
如果反饋結(jié)果如下,證明修改成功凿歼。
[root@localhost tiger]# service network restart
Restarting network (via systemctl): [ OK ]
然后褪迟,使用ifconfig
命令查看一下ip是否是已經(jīng)更改。如果正確答憔,在mac終端用ping
命令味赃,ping一下mac與虛擬機(jī)是否能ping通,如果配置正確虐拓,上述命令執(zhí)行結(jié)果應(yīng)該都是預(yù)期的心俗。
- 關(guān)閉防火墻
這時(shí)候,已經(jīng)可以在mac終端連接虛擬機(jī)了蓉驹,而不必進(jìn)入虛擬機(jī)在虛擬機(jī)終端中關(guān)閉防火墻城榛。
ssh root@192.168.2.100
systemctl disable firewalld.service
- 關(guān)閉selinux
繼續(xù)在剛才的終端中,執(zhí)行:
vim /etc/selinux/config
修改為:
SELINUX=disabled
- 更改主機(jī)名
約定這三臺(tái)主機(jī)分別更名為node01, node02, node03
vim /etc/hostname
改為:
node01
- 更改主機(jī)名與IP地址映射
vim /etc/hosts
# 修改為:
192.168.2.100 node01
192.168.2.110 node02
192.168.2.120 node03
- 三臺(tái)機(jī)器同步時(shí)間
yum -y install ntpdate
crontab -e # 增加定時(shí)任務(wù):*/1 * * * * /usr/sbin/ntpdate time1.aliyun.com
- 三臺(tái)機(jī)器添加hadoop用戶
三臺(tái)linux服務(wù)器統(tǒng)一添加普通用戶hadoop态兴,并給以sudo權(quán)限狠持,用于以后所有的大數(shù)據(jù)軟件的安裝
并統(tǒng)一設(shè)置普通用戶的密碼為 123456。
useradd hadoop
passwd hadoop
chmod u+w /etc/sudoers
vim /etc/sudoers # 增加一行:hadoop ALL=(ALL) ALL
chmod u-w /etc/sudoers
- 定義統(tǒng)一目錄
定義三臺(tái)linux服務(wù)器軟件壓縮包存放目錄瞻润,以及解壓后安裝目錄喘垂,執(zhí)行以下命令献汗,創(chuàng)建兩個(gè)文件夾,一個(gè)用于存放軟件壓縮包目錄王污,一個(gè)用于存放解壓后目錄罢吃。
mkdir -p /kkb/soft # 軟件壓縮包存放目錄
mkdir -p /kkb/install # 軟件解壓后存放目錄
chown -R hadoop:hadoop /kkb # 將文件夾權(quán)限更改為hadoop用戶
- 安裝jdk
切換到hadoop用戶,上傳壓縮包到服務(wù)器的/kkb/soft下面昭齐,然后進(jìn)行解壓尿招,配置環(huán)境變量即可。
先在mac終端下用scp把jdk上傳到/kkb/soft下面
scp jdk-8u141-linux-x64.tar.gz hadoop@192.168.2.100:/kkb/soft
su hadoop
cd /kkb/soft/
tar -zxf jdk-8u141-linux-x64.tar.gz -C /kkb/install/
sudo vim /etc/profile
# 添加以下配置內(nèi)容阱驾,配置jdk環(huán)境變量
export JAVA_HOME=/kkb/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH
source /etc/profile # 使環(huán)境變量生效
java -version # 測(cè)試jdk是否安裝成功
- 克隆鏡像
首先關(guān)閉node01就谜,然后創(chuàng)建克隆鏡像,克隆2臺(tái)虛擬機(jī)centos02, centos03里覆。
接著分別開啟centos02和centos03丧荐,執(zhí)行上面的第2步和第5步。其中喧枷,在第2步中虹统,centos02的ip修改為192.168.2.110
,centos03的ip修改為192.168.2.120
; 在第5步中隧甚,修改centos02的主機(jī)名為node02
车荔,修改centos03的主機(jī)名為node03
。
修改完成之后戚扳,重啟node02和node03使配置生效忧便。
- hadoop用戶免密登錄
三臺(tái)機(jī)器在hadoop用戶下執(zhí)行以下命令生成公鑰與私鑰對(duì)。
ssh-keygen -t rsa
三臺(tái)機(jī)器在hadoop用戶下帽借,執(zhí)行以下命令將公鑰拷貝到node01服務(wù)器上面去
ssh-copy-id node01
node01在hadoop用戶下珠增,執(zhí)行以下命令奕删,將authorized_keys拷貝到node02與node03服務(wù)器
cd /home/hadoop/.ssh/
scp authorized_keys node02:$PWD
scp authorized_keys node03:$PWD
可以額外做一步挟秤,使mac也可以免密登錄node01, node02, node03,這樣就可以直接在mac的終端免密登錄這三臺(tái)服務(wù)器了点楼,而不必進(jìn)入虛擬機(jī)里面辐董,使用Linux的terminal悴品。
# 在mac終端執(zhí)行
sudo vim /etc/hosts
# 修改為:
192.168.2.100 node01
192.168.2.110 node02
192.168.2.120 node03
# 然后執(zhí)行
ssh-copy-id hadoop@node01 # 這里必須指明hadoop用戶禀综,不然默認(rèn)使用的是當(dāng)前用戶简烘。
# 然后將node01的authorized_keys同步到三臺(tái)服務(wù)器
ssh hadoop@node01
cd /home/hadoop/.ssh/
scp authorized_keys node02:$PWD
scp authorized_keys node03:$PWD
配置完成之后,使用ssh hadoop@node01
定枷,ssh hadoop@node02
孤澎,ssh hadoop@node03
,測(cè)試一下mac是否可以免密登錄3臺(tái)服務(wù)器欠窒。
安裝Zookeeper
- 解壓Zookeeper
可以先在node01上安裝Zookeeper然后將文件同步到node02覆旭,node03退子。
在mac下將zookeeper安裝包上傳到node01,打開mac終端型将,執(zhí)行:
scp zookeeper-3.4.5-cdh5.14.2.tar.gz hadoop@node01:/kkb/soft
ssh hadoop@node01
cd /kkb/soft
tar -zxvf zookeeper-3.4.5-cdh5.14.2.tar.gz -C /kkb/install/
- 修改配置文件
在node01上執(zhí)行:
cd /kkb/install/zookeeper-3.4.5-cdh5.14.2/conf
cp zoo_sample.cfg zoo.cfg
mkdir -p /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
vim zoo.cfg
# 修改內(nèi)容如下:
dataDir=/kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas
autopurge.snapRetainCount=3
autopurge.purgeInterval=1
server.1=node01:2888:3888
server.2=node02:2888:3888
server.3=node03:2888:3888
- 添加myid配置
在第一臺(tái)機(jī)器的/kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/
這個(gè)路徑下創(chuàng)建一個(gè)文件寂祥,文件名為myid ,文件內(nèi)容為1
echo 1 > /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
- 安裝包分發(fā)并修改myid的值
# 第一臺(tái)機(jī)器上面執(zhí)行以下兩個(gè)命令
scp -r /kkb/install/zookeeper-3.4.5-cdh5.14.2/ node02:/kkb/install/
scp -r /kkb/install/zookeeper-3.4.5-cdh5.14.2/ node03:/kkb/install/
# 第二臺(tái)機(jī)器上修改myid的值為2
# 直接在第二臺(tái)機(jī)器任意路徑執(zhí)行以下命令
echo 2 > /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
# 第三臺(tái)機(jī)器上修改myid的值為3
# 直接在第三臺(tái)機(jī)器任意路徑執(zhí)行以下命令
echo 3 > /kkb/install/zookeeper-3.4.5-cdh5.14.2/zkdatas/myid
- 啟動(dòng)Zookeeper集群
三臺(tái)機(jī)器啟動(dòng)zookeeper服務(wù),這個(gè)命令三臺(tái)機(jī)器都要執(zhí)行七兜。
/kkb/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh start
查看啟動(dòng)狀態(tài)
/kkb/install/zookeeper-3.4.5-cdh5.14.2/bin/zkServer.sh status
查看Zookeeper是否啟動(dòng)
隨便登錄node01丸凭,node02,node03中的任何一臺(tái)腕铸,執(zhí)行jps
惜犀,如果看到QuorumPeerMain這個(gè)進(jìn)程,則證明Zookeeper正常啟動(dòng)狠裹。