{"id":2217,"date":"2020-09-11T14:18:00","date_gmt":"2020-09-11T06:18:00","guid":{"rendered":"http:\/\/blog.ywdevops.cn\/?p=2217"},"modified":"2021-07-12T11:32:39","modified_gmt":"2021-07-12T03:32:39","slug":"zookeeper","status":"publish","type":"post","link":"https:\/\/blog.ywdevops.cn\/index.php\/2020\/09\/11\/zookeeper\/","title":{"rendered":"zookeeper\u96c6\u7fa4\u90e8\u7f72"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>\u4e00\u3001\u7b80\u4ecb\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ZooKeeper\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u5206\u5e03\u5f0f\u5e94\u7528\u7a0b\u5e8f\u534f\u8c03\u670d\u52a1\uff0c\u662fGoogle\u7684Chubby\u4e00\u4e2a\u5f00\u6e90\u7684\u5b9e\u73b0\u3002ZooKeeper\u4e3a\u5206\u5e03\u5f0f\u5e94\u7528\u63d0\u4f9b\u4e00\u81f4\u6027\u670d\u52a1\uff0c\u63d0\u4f9b\u7684\u529f\u80fd\u5305\u62ec\uff1a\u5206\u5e03\u5f0f\u540c\u6b65\uff08Distributed Synchronization\uff09\u3001\u547d\u540d\u670d\u52a1\uff08Naming Service\uff09\u3001\u96c6\u7fa4\u7ef4\u62a4\uff08Group Maintenance\uff09\u3001\u5206\u5e03\u5f0f\u9501\uff08Distributed Lock\uff09\u7b49\uff0c\u7b80\u5316\u5206\u5e03\u5f0f\u5e94\u7528\u534f\u8c03\u53ca\u5176\u7ba1\u7406\u7684\u96be\u5ea6\uff0c\u63d0\u4f9b\u9ad8\u6027\u80fd\u7684\u5206\u5e03\u5f0f\u670d\u52a1\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">ZooKeeper\u672c\u8eab\u53ef\u4ee5\u4ee5\u5355\u673a\u6a21\u5f0f\u5b89\u88c5\u8fd0\u884c\uff0c\u4e0d\u8fc7\u5b83\u7684\u957f\u5904\u5728\u4e8e\u901a\u8fc7\u5206\u5e03\u5f0fZooKeeper\u96c6\u7fa4\uff08\u4e00\u4e2aLeader\uff0c\u591a\u4e2aFollower\uff09\uff0c\u57fa\u4e8e\u4e00\u5b9a\u7684\u7b56\u7565\u6765\u4fdd\u8bc1ZooKeeper\u96c6\u7fa4\u7684\u7a33\u5b9a\u6027\u548c\u53ef\u7528\u6027\uff0c\u4ece\u800c\u5b9e\u73b0\u5206\u5e03\u5f0f\u5e94\u7528\u7684\u53ef\u9760\u6027\u3002 <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e8c\u3001ZooKeeper\u96c6\u7fa4\u89d2\u8272\u8bf4\u660e\uff1a<\/strong><\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"> \u89d2\u8272 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> \u8bf4\u660e <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> \u9886\u5bfc\u8005\uff08Leader\uff09 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> \u4e3a\u5ba2\u6237\u7aef\u63d0\u4f9b\u8bfb\u548c\u5199\u7684\u670d\u52a1\uff0c\u8d1f\u8d23\u6295\u7968\u7684\u53d1\u8d77\u548c\u51b3\u8bae\uff0c\u66f4\u65b0\u7cfb\u7edf\u72b6\u6001\u3002 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> \u8ddf\u968f\u8005\uff08Follower\uff09 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> \u4e3a\u5ba2\u6237\u7aef\u63d0\u4f9b\u8bfb\u670d\u52a1\uff0c\u5982\u679c\u662f\u5199\u670d\u52a1\u5219\u8f6c\u53d1\u7ed9Leader\u3002\u5728\u9009\u4e3e\u8fc7\u7a0b\u4e2d\u53c2\u4e0e\u6295\u7968\u3002 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> \u89c2\u5bdf\u8005\uff08Observer\uff09 <\/td><td class=\"has-text-align-center\" data-align=\"center\"> \u4e3a\u5ba2\u6237\u7aef\u63d0\u4f9b\u8bfb\u670d\u52a1\u5668\uff0c\u5982\u679c\u662f\u5199\u670d\u52a1\u5219\u8f6c\u53d1\u7ed9Leader\u3002\u4e0d\u53c2\u4e0e\u9009\u4e3e\u8fc7\u7a0b\u4e2d\u7684\u6295\u7968\uff0c\u4e5f\u4e0d\u53c2\u4e0e\u201c\u8fc7\u534a\u5199\u6210\u529f\u201d\u7b56\u7565\u3002\u5728\u4e0d\u5f71\u54cd\u5199\u6027\u80fd\u7684\u60c5\u51b5\u4e0b\u63d0\u5347\u96c6\u7fa4\u7684\u8bfb\u6027\u80fd\u3002\u6b64\u89d2\u8272\u4e8ezookeeper3.3\u7cfb\u5217\u65b0\u589e\u7684\u89d2\u8272\u3002 <\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u4e09\u3001\u73af\u5883\u51c6\u5907\uff1a<\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> ZooKeeper\u5728\u63d0\u4f9b\u5206\u5e03\u5f0f\u9501\u7b49\u670d\u52a1\u7684\u65f6\u5019\u9700\u8981\u8fc7\u534a\u6570\u7684\u8282\u70b9\u53ef\u7528\u3002\u53e6\u5916\u9ad8\u53ef\u7528\u7684\u8bc9\u6c42\u6765\u8bf4\u8282\u70b9\u7684\u4e2a\u6570\u5fc5\u987b&gt;1\uff0c\u6240\u4ee5ZooKeeper\u96c6\u7fa4\u9700\u8981\u662f&gt;1\u7684\u5947\u6570\u8282\u70b9\u3002\u4f8b\u59823\u30015\u30017\u7b49\u7b49\uff0c\u672c\u6559\u7a0b\u4e2d\u4ee5\u4e09\u53f0\u670d\u52a1\u5668\u4f5c\u4e3a\u96c6\u7fa4\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zookeeper1\uff1acentos7(\u5df2\u5b89\u88c5\u597djdk\u73af\u5883)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zookeeper2\uff1acentos7(\u5df2\u5b89\u88c5\u597djdk\u73af\u5883)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zookeeper3\uff1acentos7(\u5df2\u5b89\u88c5\u597djdk\u73af\u5883)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zookeeper\u7248\u672c\uff1azookeeper-3.4.14.tar.gz<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u90e8\u7f72\uff1a<\/strong>(\u4e09\u53f0\u673a\u5668\u90fd\u6267\u884c)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">1\u3001\u9996\u5148\u5c06\u5b89\u88c5\u5305\u89e3\u538b\uff0c\u89e3\u538b\u540e\uff0c\u79fb\u52a8\u5230\/usr\/local\u76ee\u5f55\u4e2d\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"602\" height=\"214\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/36.png\" alt=\"\" class=\"wp-image-2218\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/36.png 602w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/36-300x107.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/36-600x213.png 600w\" sizes=\"auto, (max-width: 602px) 100vw, 602px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">2\u3001\u8fdb\u5165\u89e3\u538b\u540e\u76ee\u5f55\uff0c\u521b\u5efa\u6570\u636e\u6587\u4ef6\u5939data\u548c\u65e5\u5fd7\u6587\u4ef6\u5939logs\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"599\" height=\"223\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/37.png\" alt=\"\" class=\"wp-image-2219\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/37.png 599w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/37-300x112.png 300w\" sizes=\"auto, (max-width: 599px) 100vw, 599px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">3\u3001\u914d\u7f6e\u73af\u5883\u53d8\u91cf\uff0c\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6vim \/etc\/profile\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"594\" height=\"139\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/7-2.png\" alt=\"\" class=\"wp-image-2220\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/7-2.png 594w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/7-2-300x70.png 300w\" sizes=\"auto, (max-width: 594px) 100vw, 594px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">4\u3001\u8fdb\u5165\u914d\u7f6e\u6587\u4ef6\u76ee\u5f55conf\uff0c\u4fee\u6539\u914d\u7f6e\u6587\u4ef6\u540d\u79f0\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">mv zoo_sample.cfg zoo.cfg<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">5\u3001\u7f16\u8f91\u914d\u7f6e\u6587\u4ef6\uff0c\u4fee\u6539\u6570\u636e\u6587\u4ef6\u4f4d\u7f6e\uff0c\u6dfb\u52a0\u65e5\u5fd7\u6587\u4ef6\u4f4d\u7f6e\uff0c\u6dfb\u52a0\u670d\u52a1\u8282\u70b9\uff0c\u5982\u56fe\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"604\" height=\"407\" src=\"http:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/8-2.png\" alt=\"\" class=\"wp-image-2221\" srcset=\"https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/8-2.png 604w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/8-2-300x202.png 300w, https:\/\/blog.ywdevops.cn\/wp-content\/uploads\/2020\/09\/8-2-600x404.png 600w\" sizes=\"auto, (max-width: 604px) 100vw, 604px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">6\u3001\u914d\u7f6e\u8282\u70b9\u6807\u8bc6\uff1a(\u7528\u4e8e\u96c6\u7fa4\u4e4b\u95f4\u53d1\u73b0\u5f7c\u6b64)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">zookeeper1: echo &#8220;1&#8221;  &gt; \/usr\/local\/zookeeper-3.4.14\/data\/myid<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> zookeeper2: echo &#8220;2&#8221;  &gt; \/usr\/local\/zookeeper-3.4.14\/data\/myid<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> zookeeper3: echo &#8220;3&#8221;  &gt; \/usr\/local\/zookeeper-3.4.14\/data\/myid<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">7\u3001\u914d\u7f6e\u9632\u706b\u5899\uff0c\u5f00\u901a\u76f8\u5e94\u7aef\u53e3\uff0c\u4e09\u53f0\u673a\u5668\u90fd\u6267\u884c\uff0c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">firewall-cmd &#8211;zone=public  &#8211;add-port=2181\/tcp &#8211;permanent<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> firewall-cmd &#8211;zone=public  &#8211;add-port=2888\/tcp &#8211;permanent <\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> firewall-cmd &#8211;zone=public  &#8211;add-port=3888\/tcp &#8211;permanent <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">firewall-cmd &#8211;reload<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">8\u3001\u542f\u52a8zookeeper\uff0c\u8fdb\u5165\u5230bin\u76ee\u5f55\uff0c\u6267\u884c\u547d\u4ee4\u5982\u4e0b\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><code>sh zkServer.sh start<\/code><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">9\u3001\u67e5\u770b\u96c6\u7fa4\u8282\u70b9\u72b6\u6001\uff1a<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"> sh zkServer.sh status<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u914d\u7f6e\u53c2\u6570\u8bf4\u660e\uff1a<\/p>\n\n\n\n<figure class=\"wp-block-table aligncenter\"><table class=\"\"><tbody><tr><td class=\"has-text-align-center\" data-align=\"center\"> \u914d\u7f6e\u9879 <\/td><td> \u540d\u79f0 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u8bf4\u660e <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> tickTime <\/td><td> CS\u901a\u4fe1\u5fc3\u8df3\u95f4\u9694 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u670d\u52a1\u5668\u4e4b\u95f4\u6216\u5ba2\u6237\u7aef\u4e0e\u670d\u52a1\u5668\u4e4b\u95f4\u7ef4\u6301\u5fc3\u8df3\u7684\u65f6\u95f4\u95f4\u9694\uff0c\u4e5f\u5c31\u662f\u6bcf\u95f4\u9694 tickTime \u65f6\u95f4\u5c31\u4f1a\u53d1\u9001\u4e00\u4e2a\u5fc3\u8df3\u3002tickTime\u4ee5\u6beb\u79d2\u4e3a\u5355\u4f4d\u3002 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> initLimit <\/td><td> LF\u521d\u59cb\u901a\u4fe1\u65f6\u9650 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u96c6\u7fa4\u4e2d\u7684follower\u670d\u52a1\u5668(F)\u4e0eleader\u670d\u52a1\u5668(L)\u4e4b\u95f4\u521d\u59cb\u8fde\u63a5\u65f6\u80fd\u5bb9\u5fcd\u7684\u6700\u591a\u5fc3\u8df3\u6570 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> syncLimit <\/td><td> LF\u540c\u6b65\u901a\u4fe1\u65f6\u9650 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u96c6\u7fa4\u4e2d\u7684follower\u670d\u52a1\u5668\u4e0eleader\u670d\u52a1\u5668\u4e4b\u95f4\u8bf7\u6c42\u548c\u5e94\u7b54\u4e4b\u95f4\u80fd\u5bb9\u5fcd\u7684\u6700\u591a\u5fc3\u8df3\u6570 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> dataDir <\/td><td> \u6570\u636e\u6587\u4ef6\u76ee\u5f55<br><br> <\/td><td class=\"has-text-align-left\" data-align=\"left\"> Zookeeper\u4fdd\u5b58\u6570\u636e\u7684\u76ee\u5f55\uff0c\u9ed8\u8ba4\u60c5\u51b5\u4e0b\uff0cZookeeper\u5c06\u5199\u6570\u636e\u7684\u65e5\u5fd7\u6587\u4ef6\u4e5f\u4fdd\u5b58\u5728\u8fd9\u4e2a\u76ee\u5f55\u91cc <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> dataLogDir <\/td><td> \u65e5\u5fd7\u6587\u4ef6\u76ee\u5f55 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> Zookeeper\u4fdd\u5b58\u65e5\u5fd7\u6587\u4ef6\u7684\u76ee\u5f55 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> clientPort <\/td><td> \u5ba2\u6237\u7aef\u8fde\u63a5\u7aef\u53e3 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u5ba2\u6237\u7aef\u8fde\u63a5 Zookeeper \u670d\u52a1\u5668\u7684\u7aef\u53e3\uff0cZookeeper \u4f1a\u76d1\u542c\u8fd9\u4e2a\u7aef\u53e3\uff0c\u63a5\u53d7\u5ba2\u6237\u7aef\u7684\u8bbf\u95ee\u8bf7\u6c42 <\/td><\/tr><tr><td class=\"has-text-align-center\" data-align=\"center\"> server.N <\/td><td> \u670d\u52a1\u5668\u540d\u79f0\u4e0e\u5730\u5740 <\/td><td class=\"has-text-align-left\" data-align=\"left\"> \u4eceN\u5f00\u59cb\u4f9d\u6b21\u4e3a\uff1a\u670d\u52a1\u7f16\u53f7\u3001\u670d\u52a1\u5730\u5740\u3001LF\u901a\u4fe1\u7aef\u53e3\u3001\u9009\u4e3e\u7aef\u53e3\uff1b\u4f8b\u5982\uff1aserver.1=192.168.88.11:2888:3888 <\/td><\/tr><\/tbody><\/table><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u7b80\u4ecb\uff1a ZooKeeper\u662f\u4e00\u4e2a\u5f00\u6e90\u7684\u5206\u5e03\u5f0f\u5e94\u7528\u7a0b\u5e8f\u534f\u8c03\u670d\u52a1\uff0c\u662fGoogle\u7684Chubby\u4e00\u4e2a\u5f00\u6e90\u7684\u5b9e\u73b0\u3002 [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":2223,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[34,22],"tags":[],"class_list":["post-2217","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-linux","category-server"],"blocksy_meta":{"styles_descriptor":{"styles":{"desktop":"","tablet":"","mobile":""},"google_fonts":[],"version":8}},"_links":{"self":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/2217","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/comments?post=2217"}],"version-history":[{"count":4,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/2217\/revisions"}],"predecessor-version":[{"id":4358,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/posts\/2217\/revisions\/4358"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media\/2223"}],"wp:attachment":[{"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/media?parent=2217"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/categories?post=2217"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ywdevops.cn\/index.php\/wp-json\/wp\/v2\/tags?post=2217"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}