Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 2 實(shí)訓(xùn)指導(dǎo)手冊_第1頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 2 實(shí)訓(xùn)指導(dǎo)手冊_第2頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 2 實(shí)訓(xùn)指導(dǎo)手冊_第3頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 2 實(shí)訓(xùn)指導(dǎo)手冊_第4頁
Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ) 2 實(shí)訓(xùn)指導(dǎo)手冊_第5頁
已閱讀5頁,還剩77頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

課程名稱:Hadoop大數(shù)據(jù)開發(fā)基礎(chǔ)

章節(jié)名稱:分布式協(xié)調(diào)服務(wù)一ZooKeeper

北京智酷道捷教育科技有限公司

2019年12月

目錄

一、實(shí)訓(xùn)目的.......................................................................2

二、實(shí)訓(xùn)方式.......................................................................2

三、實(shí)訓(xùn)內(nèi)容.......................................................................2

(-)ZOOKEEPER集群搭建及命令練習(xí)...............................................3

(二)JAVAAPI編程練習(xí)...........................................................27

(三)HDFS完全分布式搭建練習(xí)....................................................69

(四)HDFS高可用架構(gòu)搭建練習(xí)....................................................73

四、實(shí)訓(xùn)環(huán)境......................................................................78

五、項(xiàng)目答辯......................................................................78

六、評分標(biāo)準(zhǔn)......................................................................80

一、實(shí)訓(xùn)目的

為了讓學(xué)生掌握ZooKeeper集群搭建的方法,并在搭建好的集群上進(jìn)行服務(wù)端和客戶

端命令的練習(xí);或使用JavaAPI完成ZK的連接及crud操作,并用JavaAPI完成官網(wǎng)監(jiān)

聽器案例的編寫練習(xí),特制訂本項(xiàng)目實(shí)訓(xùn)指導(dǎo)手冊。

通過本項(xiàng)目課程的學(xué)習(xí),要求學(xué)生掌握并達(dá)成以下的目標(biāo):

>掌握ZooKeeper的基本概念。

>掌握ZooKeeper安裝搭建的過程。

>熟練使用ZooKeeper服務(wù)端和客戶端的常用命令。

>熟練使用JavaAPI訪問ZooKeeper。

>掌握使用JavaAPI編寫基于ZooKeeper的應(yīng)用程序。

>了解ZooKeeper的內(nèi)部原理。

二、實(shí)訓(xùn)方式

項(xiàng)目實(shí)訓(xùn)采取理論+實(shí)戰(zhàn)的學(xué)習(xí)輔導(dǎo)形式,先理論后實(shí)戰(zhàn),循序漸進(jìn),以練為主。

具體分為兩個部分:實(shí)訓(xùn)基礎(chǔ)、實(shí)戰(zhàn)演練。

實(shí)訓(xùn)基礎(chǔ):教師帶領(lǐng)學(xué)生解析項(xiàng)目案例,回顧之前課堂上所學(xué)知識,以完成ZooKeeper

集群的搭建及命令練習(xí),或JavaAPI的編程練習(xí)。

實(shí)戰(zhàn)演練:教師帶領(lǐng)學(xué)生實(shí)操完成ZooKeeper集群的搭建,并進(jìn)行服務(wù)端和客戶端命

令的練習(xí),或使用JavaAPI完成ZK的連接及crud操作,并用JavaAPI完成官網(wǎng)監(jiān)聽器

案例的編寫練習(xí),通過這兩個案例的實(shí)戰(zhàn),學(xué)生可以掌握ZooKeeper應(yīng)用程序的開發(fā)。

三、實(shí)訓(xùn)內(nèi)容

(-)ZooKeeper集群搭建及命令練習(xí)

1.ZK集群的搭建

ZooKeeper集群的搭建過程相對來說比較簡單,大致分為兩步,首先創(chuàng)建一個zoo.cfg

文件并進(jìn)行配置,然后再創(chuàng)建一個myid文件進(jìn)行集群節(jié)點(diǎn)編號的配置就可以了。下面通過

具體操作來演示這個過程。

打開瀏覽器輸入網(wǎng)址進(jìn)入ZooKeeper的官方網(wǎng)站,在ZooKeeper官方網(wǎng)站中通過

Download鏈接可以下載ZooKeeper不同版本的安裝包,當(dāng)前考慮到和Hadoop相關(guān)版

本的匹配,我們選擇使用ZooKeeper3.4.6的版本,如圖所示。下載完成之后會獲得一個

壓縮安裝包。

/ApMheZooKeeper

<CQ☆|ozoofceeper和Kheag/—html

mTZCGHHubfkin?r/TI?Spaik

?ApacheZooKeeper?SearchwithApacheSol(Search

ApacheZooKeeper?Releases

TheApache?emfordistributedcoordinationkahigh-performanceserviceforbuildingdistributedapplications

?Ke'e3$<

?News

Download

ActivereleasesmaybedownloadedfromApachemitrms:Download

Onthemirrof,dllrecentreleasesareavailable.

Olderreleasesareavailableinthearchive.

Youcanverifytheintegrityofadownloadedreleaseu$ingthePGPsignaturesandhathei(MDS<xSHA1)hotted?tthem?inApachedistro$ite.fot

additionalinformation,refertotheApachedocumentationforverifyingtheintegrityofAp?heprojectrekaS?t.

ReleaseNotes

ReleasenotesforApacheZookeeperreleasesareavailableinJira:Biowsereleasenotes

News

18October,2019:releaseEI3Eavailable

然后打開虛擬機(jī),因?yàn)閆ooKeeper集群的最小節(jié)點(diǎn)數(shù)是3所以要準(zhǔn)備好3臺虛擬機(jī),

如圖所示。

虛擬機(jī)準(zhǔn)備好之后,打開客戶端工具,進(jìn)行連接。依次執(zhí)行"文件">"連接"命令,

分別連接,,0三個虛擬機(jī),單擊"連接"按鈕。

虛擬機(jī)連接好以后,確認(rèn)一下是否安裝了JavaJDK。輸入java-version,按下Enter

鍵即可,輸出結(jié)果顯示已經(jīng)安裝,推薦1.8的版本。

扇-SecureCRT

文件用編精舊查看(V)選項(xiàng)(0)傳輸(T)腳本⑸工。)幫助(H)

JSG3淚「公石,?注R“

;W1知6①較8X|.192J68.44.9|V192,1684M0________________________

Lastloain:SunNov2412:06:502019from

[roor@nodel?j#lava-version

javaversion*'l.8.0_161"

二3Z晨Zi?*■■un?L>iL(build1.8.0—161-bl2)

JavaHotspot(TM)64-BitserverVM(build25.161-bl2,mixedmode)

[root@nodel-]#

每臺主機(jī)都要配置一個主機(jī)名,為了管理方便這3臺主機(jī)名稱分別配置為nodel.

分別切換到虛擬機(jī)對應(yīng)的客戶端窗口,輸入,按下鍵,

node2.node3ohostnameEnter

檢查主機(jī)名是否配置好,分別顯示了nodel.node2.node3,表示主機(jī)名稱已經(jīng)配置好,

如圖所示。

曷-SecureCRT

文件(F)褊瘡(E)查看(V)選項(xiàng)(O)傳輸(T)腳本0IM(l)幫助(H)

U盅I?、」油力丹0窗d^卷,?法

192,168.444X~lUI-0

Lastlogin:SunNov2412:06:502019from

[root@nodeljava-version

javaversionr,l.8.0_161"

Java(TM)SERuntimeEnvironment(build1.8.0-161-bl2)

JavaHotspot(TM)64-BitserverVM(build25.161-bl2,mixedmode)

rrr?or/anocjeihostname

nodel

還要檢查一下/etc/hosts文件是否配置好主機(jī)名和IP地址之間的映射關(guān)系。在

客戶端窗口輸入vi/etc/hosts,按下Enter鍵,即可顯示在該主機(jī)上主機(jī)名

和IP地址之間的映射關(guān)系已經(jīng)配置好,如圖所示。

M-SecureCRT

文件舊編輯舊查看M選項(xiàng)⑼傳輸⑴腳本⑸IS(L)幫助(H)

理?口:二淚N拾為言?領(lǐng)f蝴由

、/XI-0

Lastlogin:SunNov2412:06:502019from

[root@nodeljava-version

javaversion1.8.

Java(TM)SERuntimeEnvironment(build1.8.0_161-bl2)

JavaHotspot(TM)64-BitServerVM(build25.161-bl2,mixedmode)

[root@nodelhostname

nodelI

[root@nodelvi/etc/hosts11

屋-SecureCRT

文件舊編面E)查看M選項(xiàng)⑼傳喻T1腳本⑸工具(U幫助(H)

???$XI必為RXjf的9”

192.168.444X|V|,192,168.44.10__________________________

|]27.0.0.1localhostlocalhost,localdomainlocalhost4localhost4.localdomain4

::1localhostlocalhost.localdomainlocalhost6localhost6.Iocaldomain6

nodel

node29

0node3,

然后再分別切換到、0客戶端窗口分別輸入cat/etc/hosts,

按下Enter鍵,顯示在這兩臺主機(jī)上主機(jī)名和IP地址之間的映射關(guān)系也已經(jīng)配置好了。

圖-SecureCRT

文件F)裝箱(E)查氏[選項(xiàng)Q)傳輸⑴腳本⑸IM(l)幫助(H)

口SJa二油?K召-然fQ:

V192.168.44iIX|-0

Lastlogin:、unNOVZ4IZ:06:562019from

[root@node2hostname

node7

[root@node2~j#cat/etc/hosts

localhost1ocalhost.localdomainlocalhost4localhost4.localdomain4

::1localhost1ocalhost.localdomainlocalhost6localhost6.localdomain6o

nodel

node2

0node3

Lroot即oae/|

息0-SecureCRT

文件(H澹輻(E)查看(V)選項(xiàng)(O)gg(n腳本(S)工幫助(H)

口就IGJCX)■&0三物9s

V192.168,44.8|V1▼192.168?44.10X1______________________

Lastlogin:SunNov2412:07:012019trom

[root@node3~J*hostname

nodeB

[root@node3cat/etc/hosts

localhost1ocalhost.localdomainlocalhost41ocalhost4.1ocaldomain4

::1localhost1ocalhost.1ocaldomainlocalhost6localhost6.localdomain6

nodelA

node2

0node3

[root@node3~]#|

上述配置完成之后就可以進(jìn)入到正式的安裝過程了。切換回客戶端窗口,

首先要上傳安裝文件。我們選擇opt作為當(dāng)前的安裝目錄,然后輸入rz命令,在打開的對

話框中選擇下載好的安裝文件zookeeper-3.46tar.gz,單擊“添加"按鈕。

文件上傳完成之后輸入tar-xzvfzookeeper-3.4.6.tar.gz,按下Enter鍵進(jìn)行解壓,如

圖所示。

[root^nodel-]#cd/opt

[root@nodelopt]#rz

rzwaitingtoreceive.

開始zmodem傳輸《按Ctrl+C取消a

Transferringzookeeper-3.4.6.tar.gz__

[root?nodelopt]#tar-xzvfzookeeper-3.4.6.tar.gz|

解壓完成之后輸入cdzookeeper-3.4.6,按下Enter鍵,再輸入Is,按下Enter鍵,

進(jìn)入具體的安裝目錄里面進(jìn)行配置,如圖所示。

zookeeper-34.6/recipes/queue/buiId.xml

zookeeper-34.6/z<M)keeper-3.4.6.jar

zookeeper-34.6/lib/

zookeeper-34.6/lib/cobertura/

zookeeper-34.6/lib/cobertura/README.txt

zookeeper-34.6/Hb/jline-O.9.94.jar

zookeeper-34.6/lib/loq4i-1.2.16.LICENSE.txt

zookeeper-34.6/lib/slf41-log4jl2-1.6.1.jar

zookeeper-34.6/lib/jdiff/

zookeeper-34.6/lib/idiff/zookeeper_3.1.1.xml

zookeeper-34.6/lib/idiff/zookeeper_3.4.6-SNAPSHOT.xml

zookeeper-34.6/1ib/jd1ff/zookeeper_3.4.6.xml

zookeeper-34.6/lib/slf4j-api-l.6.1.jar

zookeeper-34.6/lib/log4j-1.2.16.jar

zookeeper-34.6/lib/netty-3.7.0.Final.jar

zookeeper-34.6/13h/**13co-Co04ITrciucc.t-x-t

[root?nodelopx]#cd-zookeeper-3.4.6

[root&nodelzookejper-3.4.6J#Is

binC(HANGE一.5、J—ivy.xmlLICENSE.txtREADME_packaging.txt

build.xmlconfivysettings.xmllibNOTICE.txtREADME.txt

[root@nodelzookeeper-3.4.6]#■

輸入cdconf命令,按下Enter鍵,再輸入Is命令,按下Enter鍵,即可進(jìn)入conf目

錄,如圖所示。

zookeeper-34.6/lib/jdiff

zookeeper-34.6/lib/jdiff/zookeeper_3.1.1.xml

zookeeper-34.6/1ib/jdiff/zookeeper_3.4.6-SNAPSHOT.xml

zookeeper-34.6/lib/jdiff/zookeeper_3.4.6.xml

zookeeper-34.6/lib/slf4j-api-1.6.1.jar

zookeeper-34.6/lib/log4j-l.2.16.iar

zookeeper-34.6/lib/netty-3.7.0.Final.jar

zookeeper-34.6/11b/jline-0.9.94.LICENSE.txt

[root?nodelopt]#cdzookeeper-3.4.6

jrootModelzookeeper-3.4.6J#Is

binC(HANGES.txtcontribdocsLICENSE.txtREADME_packaging.txt

build.xmlconfdist-avenivysettings.xmlNOTICE.txtREADME.tXt

[root?nodelzookeeper-3.4.6]#conf

-bash:conf:commandnotfound

[root@nodelzookeeper-3.4.6]#Is

binCHANGES.txtcontribdocs;品.xmlLICENSE.txtREADM£_packaging.txt

"T?-tings.xmlNOTICE.txtREADME.tXt

[root?nodelzookeeper-3.4.6]#cdconf

[root?nodelconf]#Is

“i^uiauion.Aaiij.pivipeictcodfnp1e.cfg

[rootwiodelconf]#

在conf目錄下有一個zoo_sample.cfg文件,該文件為ZooKeeper提供的配置文件

的模板文件,我們可以通過這個文件來創(chuàng)建要搭建的ZooKeeper集群的配置文件。

創(chuàng)建的過程可以通過cp命令拷貝,ZooKeeper配置文件取名為zoo.cfg,然后通過

vi命令編輯該文件,如圖所示。

zookeeper-3.4.6Iibjdlft,zookeeper_3.4.6.xmI

zookeeper-3.4.6/lib/slf4j-ap-i-1.6.1.jar

zookeeper-3.4.6/lib/log4j-l.2.16.jar

zookeeper-3.4.6/1ib/netty-3.7.0.Final.jar

zookeeper-3.4.6/1ib/jline-0.9.94.LICENSE.txt

[root@nodelopt]#cdzookeeper-3.4.6

[rootCLnodelzookeeper-3.4.6j#Is

binCHANGES.txtcontribdocsiv^.xmlLICENSE.txtREADME_packaging.txt

build.xmlconfdist-aavenivysettings.xmlNOTICE.txtREADME.txt

[root?nodelzookeeper-3.4.6]#conf

-bash:conf:commandnotfound

[root@nodelzookeeper-3.4.6]#Is

binCHANGES.txtcontribdocsiv^.xmlLICENSE.txtREADME_packaging.txt

build.xmlconfdist-aavenivysettings.xmlNOTICE.txtREADME.txt

rroot<&nodelzookeeper-3.4.6]#cdconf

[root@nodelconf1#Is

confiauration.xsIloa4i.orooerties卜IN

Lroot?nodelcontJ#cpzoo_sample.ctgzoo.ctg

[root@nodelconf]#vizoo.cfg|

打開復(fù)制的模板文件后,可以看到里面有一些默認(rèn)的配置信息。下面我們來了解一下這

些配置項(xiàng)的作用。

X|*|?0

QThenumberofmillisecondsofeachtick

tickTime=2000

#Thenumberofticksthattheinitial

#synchronizationphasecantake

initLimit-10

#Thenumberofticksthatcanpassbetween

#sendingarequestandgettinganacknowledgement

syncLimit-5

#thedirectorywherethesnapshotisstored.

#donotuse/tmpforstorage,/tmphereisjust

#examplesakes.

dataDir?/tmp/zookeeper

#theportatwhichtheclientswillconnect

clientPort=2181

#themaximumnumberofclientconnections.

#increasethisifyouneedtohandlemoreclients

#maxclientCnxns?60

#Besuretoreadthemaintenancesectionofthe

#administratorguidebeforeturningonautopurge.

#

#http://zookeeper.apache,org/doc/current/zookeeperAdmin.html#sc_maintenance

#

#ThenumberofsnapshotstoretainindataDir

#autopurge.snapRetaincount-3

#Purgetaskintervalinhours

#setto"0**todisableautopurgefeature

#autopurge.purgeinterval=1

第一個參數(shù)tickTime=2000,該配置主要是用來說明在ZooKeeper集群運(yùn)行中各個

節(jié)點(diǎn)之間需要做一些心跳檢測來感知節(jié)點(diǎn)中的機(jī)器是否還正常工作,心跳間隔的時間就是當(dāng)

前這個配置值指向的2000毫秒,即2秒鐘,代表2秒鐘要做一次心跳檢測。

第二個參數(shù)initLimit=10,表示ZooKeeper集群初始啟動的時候,Leader節(jié)點(diǎn)和

Follower節(jié)點(diǎn)之間進(jìn)行會話建立的超時時間,10表示10個心跳時間單位,即20秒。

第三個參數(shù)syncLimit=5,表示在集群工作過程中,ZooKeeper集群之間的機(jī)器節(jié)點(diǎn)

需要進(jìn)行數(shù)據(jù)同步,而且會對數(shù)據(jù)同步設(shè)定一個超時時間,如果在這個時間內(nèi)沒有完成數(shù)據(jù)

同步,則認(rèn)為同步失敗,這個時間是5個心跳時間單位,即10秒。

第四個參數(shù)dataDir,代表存放數(shù)據(jù)的目錄,這個目錄需要進(jìn)行一下修改,因?yàn)樗哪?/p>

認(rèn)配置是存放在臨時目錄下的,而臨時目錄下的數(shù)據(jù)每次操作系統(tǒng)啟動的時候都會被清空,

所以這里要進(jìn)行修改。我們需要在該機(jī)器上創(chuàng)建一個目錄來存放相關(guān)的數(shù)據(jù)具體操作如下。

執(zhí)行"文件">"連接"菜單命令,打開"連接"對話框,選擇,單擊“連

接"按鈕,打開一個新的客戶端窗口(1\

輸入cd/opt/zookeeper-3.4.6,按下Enter鍵,進(jìn)入ZooKeeper的安裝目錄下;然

后輸入mkdirdata,按下Enter鍵,創(chuàng)建一個data目錄;再依次輸入cddata,按下Enter

鍵,輸入pwd,按下Enter鍵,顯示當(dāng)前所在目錄;復(fù)制該目錄的路徑。

國192.168.44.8(1)-SecureCRT

文件(F)洞朝舊查看(V)選項(xiàng)(0)傳輸(T)腳本(S)TM(l)幫助(H)

U33日G泡P△抖石畫才揚(yáng),蝴白

*|-|-192,168.44.10|"(1)x]

Lastloain:SunNov2412:15:572019from

froot@nodel~J#cd/opt/zookeeper-3.4.6

[root<&nodelzookeeper-3.4.61#mkdirdata

[root@nodelzookeeper-3.4.6J#cddata

[root@nodeldata]#pwd

切換回客戶端窗口,用復(fù)制的目錄路徑替換dataDir=B面的目錄路徑,

即dataDir=/opt/zookeeper-3.4.6/data,也就是在該目錄下存儲數(shù)據(jù)。修改目錄完成。

度192.168.44.8-SecureCRT

文件用編鎮(zhèn)舊查看(V)選項(xiàng)(0)傳輸①腳本(S)工具(I)幫助(H)

后雙0G泡3勢0臺/守綣,得

?/192.16840X*|30|919^168.44.8(1)

#Thenumberofmillisecondsofeachtick

tickTime?2000

#Thenumberofticksthattheinitial

#synchronizationphasecantake

initLimit-10

#Thenumberofticksthatcanpassbetween

#sendingarequestandgettinganacknowledgement

syncLimit-5

#thedirectorywherethesnapshotisstored.

#donotuse/tmpforstorage,/tmphereisjust

aOYdmnlovnlrav

dataDir-/opt/zookeeper-3.4.6/data

rruiiepwiLaum11uiiuiick.iiciicor?i11COnnGCt

clientPort?2181

#themaximumnumberofclientconnections.

#increasethis飛fyouneedtohandlemoreclients

#maxclientcnxns-60

*

#Besuretoreadthemaintenancesectionofthe

#administratorguidebeforeturningonautopurge.

*

#/doc/current/zookeeperAdmin.html#sc_maintenance

*

#ThenumberofsnapshotstoretainindataDir

#autopurge.snapRetaincount=3

#Purgetaskintervalinhours

#setto"0"todisableautopurgefeature

#autopurge.purgeinterval=1

第五個參數(shù)clientPort=2181,表示ZooKeeper服務(wù)端對外提供服務(wù)的端口號,也就

是客戶端是通過2181端口連接ZooKeeper相關(guān)的服務(wù)的。

這樣ZooKeeper幾個常用的配置就講解完了,但整個配置還沒有完成,還需要在配置

文件的最后配置集群中每個服務(wù)節(jié)點(diǎn)的信息。該配置通過server.當(dāng)前主機(jī)的編號=對應(yīng)主

機(jī)名:2888:3888來實(shí)現(xiàn)。主機(jī)編號為簡單起見一般會用1、2、3這樣的方式來命名,

即集群中的第一個節(jié)點(diǎn)編號就可以命名為lo這里編號1對應(yīng)的主機(jī)名是nodel,端口號

2888和3888表示主機(jī)對外提供讀和寫的開放端口。這樣第一臺主機(jī)節(jié)點(diǎn)的配置即為

按照相同的方法在下面配置另外兩臺主機(jī)節(jié)點(diǎn),分別為

server.l=nodel:2888:3888o

server.2=node2:2888:3888和server.3=node3:2888:3888?配置完成后保存退出。

Besuretoreadthemaintenancesectionofthe

administratorguidebeforeturningonautopurge.

http://zookeepe/doc/current/zookeeperAdmin.html#sc_maintenance

#ThenumberofsnapshotstoretainindataDir

#autopurge.snapRetaincount-3

#Purgetaskintervalinhours

#Setto"O"todisableautopurgefeature

4#anrnniirnomirHPTnTor

server.l?nodel:2888:3888

server.2-node2:2888:38881

server.3>node3:2888:3888

"zoo.cfg"31L,1008Cwritten

[root@nodelconf]#

至此,創(chuàng)建zoo.cfg文件并進(jìn)行配置就完成了,下面我們再來創(chuàng)建myid文件并進(jìn)行集

群節(jié)點(diǎn)編號的配置。

在nodel主機(jī),即窗口中進(jìn)入剛剛創(chuàng)建的data目錄下,在該目錄下輸

入vimyid,創(chuàng)建一個名為myid的文件。

“zoo.cfg"31L,1008cwritten

[root@nodelconf]#cd..

-bash:cd..:commandnotfound

root@nodelconf]#cd..

root@nodelzookeeper-3.4.6]*cddata

daralit1c

[root^nodeldata]#vimyid

按下Enter鍵后進(jìn)入該文件,在該文件中配置當(dāng)前這個節(jié)點(diǎn)主機(jī)的編號,否則

ZooKeeper無法檢測編號的信息。當(dāng)前主機(jī)的編號是1,所以這里只要配1就可以了,然

后保存退出。

這樣一臺主機(jī)節(jié)點(diǎn)的配置就完成了,這里對另外兩臺我們采用一個技巧,就是通過

Linux提供的一個命令來完成整個配置文件的復(fù)制,而不是重新上傳,具體操作如下。

回到。pt目錄在這個目下已經(jīng)有一個ZooKeeper的安裝包并且做好了相應(yīng)的配置,

我們現(xiàn)在通過scp命令把這個配置直接拷貝到另外兩臺機(jī)器上。scp命令可以實(shí)現(xiàn)遠(yuǎn)程拷貝,

首先輸入?yún)?shù)-r;再輸入要拷貝的文件,這里拷貝zookeeper-3.4.6;然后輸入需要拷貝的

主機(jī)的登錄賬號,T殳都是用root賬號登錄的;然后后面跟@符號,接著是要拷貝到的主

機(jī)名,這里是node2;再輸入冒號;然后是要拷貝到主機(jī)的目錄位置,這里要拷貝到opt

目錄下,即完整命令行為scp-rzookeeper-3.4.6root@node2:/opt/,然后按下Enter

鍵進(jìn)行拷貝。

"myid"[New]IL,2Cwritten

[root&nodeldata]#cd..

[root@nodelzookeeper-3.4.6]#cd..

[root?nodelopt]#is___

hadoop.tar.gzjdkl.8.0.J.61jdk-8u161-linux-x64.tar.gzRTTYgzookeeper-3.4.6.tar.gz

[root?nodeloptJ#scp-rroot@node2:/opt/

usage:scp[-12346BCpqrv][-ccipher][-Fssh_config][-1identity_file]

[-1limitJ[-ossh_optionl[-Pport][-Sprograie]

[[usefulhncrl,IfilolIriicorrtllhr?<r7,11V

[rcxjt?nodelopt]#scp-rzookeeper-374.61ro6t?node2:/opt/

卜丁■

這樣就完成了node2機(jī)器的拷貝。切換到客戶端窗口查看拷貝結(jié)果。首

先檢查opt目錄下是否有ZooKeeper相關(guān)的目錄,然后進(jìn)入該目錄查看里面是否創(chuàng)建了

data目錄,再進(jìn)入data目錄,輸入vimyid,對myid文件內(nèi)容進(jìn)行修改。

屬-SecureCRT

文件舊臺舊查看M選項(xiàng)(0)傳輸⑴腳本⑸工幫助(H)

US3CT-淚口口把召畫,甘然1①

5|V192d68?“9X30|519216a448⑴

Lastlogin:SunNov2412:06:562019from

[root?node2-]#hostname

node?

[root@node2cat/etc/hosts

12localhost1ocalhost.1ocaldomainlocalhost4localhost4.Iocaldomain4

::1localhost1ocalhost.1ocaldomainlocalhost61ocalhost6.localdomain6

nodel

node2

IQ?.16R.44.10ncdoR

[root@node2cd/opt

[root?node2optJ*Is___

hadoop.tar.gzjdkl.8.0_J.61jdk-8ul61-linux-x64.tar.gz依gqiEft.

[root?node2optJ#cdzookeeper-3.4.6/

[root@node2zookeeper-3.4.6]#Is

binCHANGES.txtcontribdist-aavenivysettings.xmllibNOTlCE.txt

build.xmlconfdatadocsivy.xmlLlCENSE.txtREADME_packaging.txt

[root(?Uiode2zookeeper-3.4.61#cddata

[root(&node2data]#vimyid|

按下Enter鍵進(jìn)入myid文件,因?yàn)槭遣煌墓?jié)點(diǎn),所以該文件中對應(yīng)的編號要修改,

這里需要將1改為2,然后保存退出。

再切換回客戶端窗口,完成向第三個節(jié)點(diǎn)進(jìn)行拷貝的工作,只要修改命

令行scp-rzookeeper-3.4.6root@node2/opt/中的node2為node3即可按下Enter

鍵完成拷貝。

DistributedQueue.java

DistributedQueueTest.java

build.xml

zookeeper-3.4.6.jar

README.tXt

jline-O.9.94.jar

1oq4j-l.2.16.LlCENSE.txt

slf4]-log4il2-l.6.1.jar

zookeeper_5.1.1.xml

zookeeper_3.4.6-SNAPSHOT.xml

zookeeper_3.4.6.xml

slf4j-api-1.6.1.jar

log4j-1.2.16.Jar

netty-3.7.0.Final.jar

j1ine-0.9.94.LICENSE.txt____________________________________

myid

[root@nodelopt]#scp-rzookeeper-3.4.6root@node3:/opt/

就緒

切換至!10客戶端窗口,按照與上面相同的方法查看拷貝情

況。檢查opt目錄、data目錄,然后同樣輸入vimyid,對myid文件內(nèi)容進(jìn)行修改,這

里將編號1修改為3,然后保存退出。

文件的融陽查看(V)選項(xiàng)⑼傳輸(T)腳本(S)IM(i)幫助同

至此,ZooKeeper集群的安裝配置就完成了,下面來驗(yàn)證這個集群是否能正常啟動。

首先切換回第一個節(jié)點(diǎn),客戶端窗口,依次進(jìn)入到zookeeper-3.4.6目

錄、bin目錄,然后執(zhí)行bin目錄下面的一個服務(wù)的啟動腳本,即輸入./zkServer.shstart.

該腳本的名字為zkServer,是用來啟動ZooKeeper的服務(wù)端的命令,該命令需要加一個

參數(shù)start,按下Enter鍵,輸出結(jié)果顯示ZooKeeper正在啟動中。

DUIio.xm?

zookeeper-3.4.6.jar

README.txt

jline-0.9.94.jar

1oq4j-l.2.16.LICENSE.txt

slr4j-log4112-1.6.1.jar

zookeeper_3.1.1.xml

zookeeper_3.4.6-SNAPSHOT.xml

zookeeper_3.4.6.xml

slf4j-api-1.6.1.jar

log4j-l.2.16.iar

netty-3.7.0.Final,jar

jline-0.9.94.LICENSE.txt

root@nodelopt]#cdzookeeper-3.4.6

rooti&nodelzookeeper-3.4.6J#cdbin

root?nodelbin]#is

EREADME.txtzkcleanup.shzkcli.cadzkcli.shzkEnv.cadzkEnv.shzkServer.cadzkServer.sh

[root?nodelbin]#./zkServer.shstart

JMXenabledbydefault

Jsingconfig:/opt/zookeeper-3.4.6/bin/../conf/zoo.cfg

Startingzookeeper...STARTED

[root@nodelbin]#

啟動第二個節(jié)點(diǎn),切換至!l客戶端窗口,輸

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論