zookeeper动物园管理员学习笔记
生活随笔
收集整理的這篇文章主要介紹了
zookeeper动物园管理员学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
hbase
hadoop里面有:1)hdfs分布式存儲 2)yarn資源調度框架;3)hive數據倉庫技術,在線事物分析,延遲性很高,最終用的還是mr技術,但是不再使用mr技術了
4)hbase:建立在hadoop上面的數據庫技術,隨機定位+實時讀寫,業務是分布式的,但是最終還是存儲在hasoop上面的
要實現自動容災,就需要引進zookeeper
zookeeper
1.管理大量主機的協同服務,輕量級的 2.分布式應用,實現了分布式讀寫技術 3.zk提供的服務有哪些?1):名稱服務Naming service,按照名稱來區分集群中的主機2):配置管理Configuration management //針對新加入節點的最新化處理3):集群管理Cluster management //實時感知集群中節點的增減4):Leader election //leader follower5):Locking and synchronization service //修改時來 鎖定數據,實現容災6):Highly reliable data registry //節點宕機數據也是可用的zk的安裝(單機版,裝在s200上面)
1.jdk 2.下載zookeeper-3.4.10。tar.gz,下載地址:http://mirrors.hust.edu.cn/apache/zookeeper/zookeeper-3.4.10/ 3.tar開 4.符號連接,環境變量$>ln -s zookeeper-3.4.10 zk 5.配置zk,復制zoo.cfg.sample-->zoo.cfg[zk/conf/zoo.conf]# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial# synchronization phase can takeinitLimit=10# The number of ticks that can pass between# sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just# example sakes.dataDir=/home/centos/zookeeper# the port at which the clients will connectclientPort=2181# the maximum number of client connections.# increase this if you need to handle more clients#maxClientCnxns=60## Be sure to read the maintenance section of the# administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1 6.啟動zk服務器$>bin/zkServer.sh start 7.驗證zk$>netstat -anop|grep 2181 8.啟動客戶端連接到服務器$>zkCli.sh -server s200:2181 //就直接進入到zk的命令行下面$zk]help //查看幫助$zk]quit //退出$zk]create /a tom //創建過程,每次創建都要寫數據$zk]ls / //得到[a,zookeeper]$zk]get /a //查看數據create /a/a1 jerry;get /a/a1 //查看數據set /a tomas ;//修改節點數據delete /a/a1; //刪除一個節點rmr /a //遞歸輸出節點zk架構
1.Client 從server獲取信息,周期性發送給server,表示自己還活著 當client連接時,server回傳ack信息,如果客戶端沒有收到響應,就會重定向到另一個server 2.Server.zk集群的一員,向client提供所有service,向客戶端發送確認信息表示服務器還活著 3.ensemble一組服務器,最小的節點數是3 4.leader.如果任何被連接的節點發生故障,自定恢復,zk服務啟動時,完成leader的選舉 5.Follower.遵循leader管理的的服務節點znode
zk中的節點,維護了stat的狀態。 由version number,Action Control List,Timestamp,Data length組成 version number:數據寫入過程的變化ACL //action control list,訪問控制列表節點類型
1.持久節點:永久性節點,client退出還存在 2.臨時節點:在客戶端活躍時有效,斷開后自動刪除。臨時節點不能有子節點,在leader推選的時候扮演重要角色create -e /b/e1 tom0;//建立一個臨時節點 3.序列節點:在節點名之后副駕10個數字,主要用于同步和鎖Session
Session中,會話的請求是按照先進先出的順序執行的,一旦client連接到server,那么這個session就建立了,那么sessionId就分配給客戶端了client以固定間隔向server發送心跳,表示session是valid的, zk集群如果在超時的時候,沒有收到心跳,就判定為client掛了 與此同時,臨時節點就被刪除了Watch
觀察者模式 Client能夠通過watch機制在數據發生變化時收到通知 client能夠在read節點的時候設置觀察者。watch機制針對節點的變化會發送通知給注冊的客戶端程序 觀察模式只觸發一次。如果session過期,那么觀察者就會被刪除zk工作流程
-----------------------、
zk集群啟動后,客戶端連接到其中的一個節點,這個節點可以是leader,也可以是follower
連通之后,node會分配一個id給client,發送ack信息給客戶端,如果客戶端沒有收到ack確認,
如果客戶端沒有收到ack,連接到另外一個節點
客戶端周期性發送心跳信息給節點保證連接不會丟失
單機版
文件系統層級結構存儲 path:/home/centos/xxx=znode.節點上可以關聯數據,數據可以是任何數據,但是數據大小不能超過1m 節點的類型1.永久節點2.臨時節點3.序列節點數據狀態:版本。leader+flower.
讀: 寫:leader推選過程(最小號選舉法)
1.所有節點在同一目錄下面創建臨時序列節點 2.zk會添加10位的序列號到路徑后面,并且znode會是xxx/xxx00000000001 3.對于給定的例子,在所有znode節點中,創建最小號的節點會成為leader,所有其他節點會成為follower 4.每個節點會觀察小于自己節點的主機(注冊觀察者) 5.如果leader掛了,對應的znode就會被刪除了 6.觀察者就會收到通知配置完全分布式zk集群
1.挑選3臺主機 s200-s202 2.每臺機器都安裝zk 3.配置zk配置文件s200-s202[/soft/zk/conf/zoo.cfg]autopurge.purgeInterval=1dataDir=/home/centos/zookeeper4.在每臺主機的/home/centos/zookeeper中添加myid,內容分別是1,2,3 [s200] $>echo 1 >/home/centos/zookeeper/myid [s201] $>echo 2 >/home/centos/zookeeper/myid [s202] $>echo 3 >/home/centos/zookeeper/myid5.啟動服務器集群 在每臺主機上執行:$>zkServer.sh start 6.查看每臺服務器的狀態$>zkServer.sh status 7.修改zk的log目錄轉載于:https://www.cnblogs.com/stone-learning/p/9291039.html
總結
以上是生活随笔為你收集整理的zookeeper动物园管理员学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 秩、标量、矢量、矩阵
- 下一篇: selenium自动化测试浏览器驱动安装