中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Zookeeper的安裝部署

發布時間:2020-07-18 15:27:03 來源:網絡 閱讀:739 作者:duanpeng198738 欄目:大數據

1.??安裝JDK

參考jdk的安裝。

2.??ZooKeeper安裝

2.1.? 單機模式

2.1.1.??下載并安裝ZooKeeper

????步驟:

????????1)? 在下載地址:http://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.9/下載穩定版本的zookeeper

????????2)? $ tar -zxvf zookeeper-3.4.9.tar.gz???? zookeeper安裝包tar開。

????????3)? tar開的文件目錄拷貝到安裝目錄

? ? ????????$ cp -R zookeeper-3.4.9 /software/

????????4)? 切換到zookeeper安裝目錄創建zookeeper的軟連接

? ? ????????$ ln -s zookeeper-3.4.9/ zk

? ? ????5)配置zookeeper的安裝路徑到操作系統環境變量

???????編輯環境變量文件:sudo vim/etc/profile

?

??? ???在文件中添加如下內容:

????export ZOOKEEPER_HOME =/software/zk

????export PATH=$ ZOOKEEPER_HOME /bin:$PATH

?

????$ source /etc/profile?????? #環境變量立即生效

2.1.2.??創建zoo.cfg配置文件

????1)、切換到zookeeper的安裝目錄下的conf目錄

???????? $ cp zoo_sample.cfg zoo.cfg

????2)、修改zoo.cfg的內容

? ? ????tickTime=2000

?????initLimit=10

?????syncLimit=5

?????dataDir=/home/hadoop/zookeeper/data

?????clientPort=2181

注:zookeeper配置參數詳解 (主要是$ZOOKEEPER_HOME/conf/zoo.cfg文件)



參數名

說明

clientPort

客戶端連接server的端口,即對外服務端口,一般設置為2181

dataDir

存儲快照文件snapshot的目錄。默認情況下,事務日志也會存儲在這里。建議同時配置參數dataLogDir, 事務日志的寫性能直接影響zk性能。

tickTime

這個時間是作為 ?Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。

dataLogDir

事務日志輸出目錄。盡量給事務日志的輸出配置單獨的磁盤或是掛載點,這將極大的提升ZK性能。?No?Java?system property

globalOutstandingLimit

最大請求堆積數。默認是1000ZK運行的時候,盡管server已經沒有空閑來處理更多的客戶端請求了,但是還是允許客戶端將請求提交到服務器上來,以提高吞吐性能。當然,為了防止Server內存溢出,這個請求堆積數還是需要限制下的。?
?(
Java?system property:zookeeper.globalOutstandingLimit.)

preAllocSize

預先開辟磁盤空間,用于后續寫入事務日志。默認是64M,每個事務日志大小就是64M。如果ZK的快照頻率較大的話,建議適當減小這個參數。(Java system property:zookeeper.preAllocSize)

snapCount

每進行snapCount次事務日志輸出后,觸發一次快照(snapshot), 此時,ZK會生成一個snapshot.*文件,同時創建一個新的事務日志文件log.*。默認是100000.(真正的代碼實現中,會進行一定的隨機數處理,以避免所有服務器在同一時間進行快照而影響性能)(Java system property:zookeeper.snapCount)

traceFile

用于記錄所有請求的log,一般調試過程中可以使用,但是生產環境不建議使用,會嚴重影響性能。(Java system property:??requestTraceFile)

maxClientCnxns

單個客戶端與單臺服務器之間的連接數的限制,是ip級別的,默認是60,如果設置為0,那么表明不作任何限制。請注意這個限制的使用范圍,僅僅是單臺客戶端機器與單臺ZK服務器之間的連接數限制,不是針對指定客戶端IP,也不是ZK集群的連接數限制,也不是單臺ZK對所有客戶端的連接數限制。指定客戶端IP的限制策略,這里有一個patch,可以嘗試一下:http://rdc.taobao.com/team/jm/archives/1334No Java ?system property

clientPortAddress

對于多網卡的機器,可以為每個IP指定不同的監聽端口。默認情況是所有IP都監聽?clientPort指定的端口。?New in 3.3.0

minSessionTimeoutmaxSessionTimeout

Session超時時間限制,如果客戶端設置的超時時間不在這個范圍,那么會被強制設置為最大或最小時間。默認的Session超時時間是在2 *?tickTime ?~ 20 * tickTime?這個范圍?New in 3.3.0

fsync.warningthresholdms

事務日志輸出時,如果調用fsync方法超過指定的超時時間,那么會在日志中輸出警告信息。默認是1000ms(Java system property:?fsync.warningthresholdms)New in 3.3.4

autopurge.purgeInterval

在上文中已經提到,3.4.0及之后版本,ZK提供了自動清理事務日志和快照文件的功能,這個參數指定了清理頻率,單位是小時,需要配置一個1或更大的整數,默認是0,表示不開啟自動清理功能。(No Java system property)?New in 3.4.0

autopurge.snapRetainCount

這個參數和上面的參數搭配使用,這個參數指定了需要保留的文件數目。默認是保留3個。(No Java system property)?New in 3.4.0

electionAlg

在之前的版本中,這個參數配置是允許我們選擇leader選舉算法,但是由于在以后的版本中,只會留下一種“TCP-based ?version of fast leader election”算法,所以這個參數目前看來沒有用了,這里也不詳細展開說了。(No ?Java system property)

initLimit

Follower在啟動過程中,會從Leader同步所有最新數據,然后確定自己能夠對外服務的起始狀態。Leader允許FollowerinitLimit時間內完成這個工作。通常情況下,我們不用太在意這個參數的設置。如果ZK集群的數據量確實很大了,Follower在啟動的時候,從Leader上同步數據的時間也會相應變長,因此在這種情況下,有必要適當調大這個參數了。(No Java system property)

syncLimit

在運行過程中,Leader負責與ZK集群中所有機器進行通信,例如通過一些心跳檢測機制,來檢測機器的存活狀態。如果Leader發出心跳包在syncLimit之后,還沒有從Follower那里收到響應,那么就認為這個Follower已經不在線了。注意:不要把這個參數設置得過大,否則可能會掩蓋一些問題。(No Java system property)

leaderServes

默認情況下,Leader是會接受客戶端連接,并提供正常的讀寫服務。但是,如果你想讓Leader專注于集群中機器的協調,那么可以將這個參數設置為no,這樣一來,會大大提高寫操作的性能。(Java system property: zookeeper.leaderServes)

server.x=[hostname]:nnnnn[:nnnnn]

這里的x是一個數字,與myid文件中的id是一致的。右邊可以配置兩個端口,第一個端口用于FL之間的數據同步和其它通信,第二個端口用于Leader選舉過程中投票通信。?
?(No Java system property)

group.x=nnnnn[:nnnnn]weight.x=nnnnn

對機器分組和權重設置,可以?參見這里(No Java system property)

cnxTimeout

Leader選舉過程中,打開一次連接的超時時間,默認是5s(Java system property: zookeeper.?cnxTimeout)

zookeeper.DigestAuthenticationProvider.superDigest

ZK權限設置相關,具體參見??使用super?身份對有權限的節點進行操作???ZooKeeper?權限控制

skipACL

對所有客戶端請求都不作ACL檢查。如果之前節點上設置有權限限制,一旦服務器上打開這個開頭,那么也將失效。(Java system property:?zookeeper.skipACL)

forceSync

這個參數確定了是否需要在事務日志提交的時候調用FileChannel.force來保證數據完全同步到磁盤。(Java system property:?zookeeper.forceSync)

jute.maxbuffer

每個節點最大數據量,是默認是1M。這個限制必須在serverclient端都進行設置才會生效。(Java system property:?jute.maxbuffer)

?

????2.1.3.啟動ZooKeeper服務

????$ zkServer.sh start

????2.1.4.啟動ZooKeeper客戶端

????$ zkCli.sh

2.2.? 偽分布式模式

2.2.1.??新建myid文件

????給每個zk server指定一個id(唯一性),存放在myid文件中,值介于1-255之間。

????該myid文件存放在zoo.cfg配置文件中的dataDir=/home/hadoop/zookeeper/data配置項的路徑下。

????這里創建3zk服務及創建三個zoo1.cfgzoo2.cfgzoo3.cfg,需要三個dataDir路徑,例如:

????dataDir=/home/hadoop/zookeeper/data1

????dataDir=/home/hadoop/zookeeper/data2

????dataDir=/home/hadoop/zookeeper/data3

2.2.2.??zoo.cfg中增加配置項

????語法:server.n=hostname:port1:port2

????其中n為服務器ID,即myid中的值;hostname為服務器名稱;port1follower連接leader的端口;port2被用于領導者選舉。

2.2.3.??啟動ZooKeeper服務

????$>zkServer.sh start /software/zk/conf/zoo1.cfg

????$>zkServer.sh start/software/zk/conf/zoo2.cfg

????$>zkServer.sh start/software/zk/conf/zoo3.cfg

2.2.4.??查看zk服務狀態

????1)、使用四字命令

????????$>echo ruok |nc localhost 2181

????????$>echo conf |nc localhost 2181

????????$>echo envi |nc localhost 2181

????????$>echo stat |nc localhost 2181

????2)、使用其它命令

????????$ zkServer.sh status /software/zk/conf/zoo1.cfg

2.2.5.??通過zk客戶端連接zk服務

????????????$ zkCli.sh ? ? ? ? ? ? ? ? ? ? //默認連接到localhost2181,使用zoo.cfg

????????????$ zkCli.sh -server s200:2182? //連接到指定的zk服務

2.3.? 完全分布式

????2.3.1.分發ZooKeeper

?????????將zookeeper安裝文件分發到需要安裝zookeeper服務的服務器上。

????2.3.2.分發ZooKeeper的環境變量

????????將其中一臺配置好的環境變量分發到所有服務器上,并重啟服務器或者使用source命令使環境變量生效。

????2.3.3.新建myid文件

????????參考偽分布模式中的“新建myid文件”。

????2.3.4.zoo.cfg中增加配置項

????????在zk server服務器上的$ZOOKEEPER_HOME/conf/zoo.cfg文件中增加配置項,參考偽分布模式。

????????例:

????????server.201=s201:2888:3888

????????server.202=s202:2888:3888

????????server.203=s203:2888:3888

????2.3.5.啟動zk服務

????????登錄到每臺zk服務器使用下面命令啟動zk服務

????????$ zkServer.sh start


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

抚松县| 柯坪县| 福泉市| 崇信县| 中西区| 荥经县| 喀喇沁旗| 彭山县| 确山县| 建昌县| 日土县| 淳安县| 水富县| 平潭县| 遂宁市| 务川| 无棣县| 英德市| 宁南县| 弥渡县| 彝良县| 巨鹿县| 临西县| 土默特左旗| 根河市| 绥棱县| 共和县| 仁寿县| 古田县| 高雄县| 筠连县| 乌拉特后旗| 古浪县| 济宁市| 浮山县| 江孜县| 达拉特旗| 盐亭县| 乌拉特前旗| 保靖县| 介休市|