Apache ZooKeeper:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
第12行: 第12行:


 每台機器的<code>/etc/zookeeper/conf_production/myid</code>都需要不同,可以從<code>1</code>到<code>255</code>:
 每台機器的<code>/etc/zookeeper/conf_production/myid</code>都需要不同,可以從<code>1</code>到<code>255</code>:
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
1
1
第17行: 第18行:


 這邊要列出所有機器<code>/etc/zookeeper/conf_production/zoo.cfg</code>:
 這邊要列出所有機器<code>/etc/zookeeper/conf_production/zoo.cfg</code>:
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
tickTime=2000
tickTime=2000
第29行: 第31行:


 接下來是設定systemd的<code>/lib/systemd/system/zookeeper.service</code>:
 接下來是設定systemd的<code>/lib/systemd/system/zookeeper.service</code>:
<syntaxhighlight lang="ini">
<syntaxhighlight lang="ini">
[Unit]
[Unit]
第40行: 第43行:
User=nobody
User=nobody
Group=nogroup
Group=nogroup
ExecStart=/usr/share/zookeeper/bin/zkServer.sh start /etc/zookeeper/conf/zookeeper.conf
ExecStart=/usr/share/zookeeper/bin/zkServer.sh start /etc/zookeeper/conf/zoo.conf
ExecStop=/usr/share/zookeeper/bin/zkServer.sh stop /etc/zookeeper/conf/zookeeper.conf
ExecStop=/usr/share/zookeeper/bin/zkServer.sh stop /etc/zookeeper/conf/zoo.conf
ExecReload=/usr/share/zookeeper/bin/zkServer.sh restart /etc/zookeeper/conf/zookeeper.conf
ExecReload=/usr/share/zookeeper/bin/zkServer.sh restart /etc/zookeeper/conf/zoo.conf
WorkingDirectory=/var/lib/zookeeper
WorkingDirectory=/var/lib/zookeeper


[Install]
[Install]
WantedBy=default.target
WantedBy=default.target
</syntaxhighlight>
修改設定檔的目錄:
<syntaxhighlight lang="bash">
sudo update-alternatives --install /etc/zookeeper/conf zookeeper-conf /etc/zookeeper/conf_production 1
sudo update-alternatives --set zookeeper-conf /etc/zookeeper/conf_production
</syntaxhighlight>
</syntaxhighlight>



2019年2月28日 (四) 04:28的版本

ZooKeeper是一套分散式的Key-Value系统。

安装

Ubuntu下可以直接安装:

sudo apt install -y zookeeper

设定

每台机器的/etc/zookeeper/conf_production/myid都需要不同,可以从1255

1

这边要列出所有机器/etc/zookeeper/conf_production/zoo.cfg

tickTime=2000
dataDir=/var/lib/zookeeper/
clientPort=2181
initLimit=5
syncLimit=2
server.1=172.31.x:2888:3888
server.2=172.31.x:2888:3888
server.3=172.31.x:2888:3888

接下来是设定systemd的/lib/systemd/system/zookeeper.service

[Unit]
Description=ZooKeeper Service
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target

[Service]
Type=forking
User=nobody
Group=nogroup
ExecStart=/usr/share/zookeeper/bin/zkServer.sh start /etc/zookeeper/conf/zoo.conf
ExecStop=/usr/share/zookeeper/bin/zkServer.sh stop /etc/zookeeper/conf/zoo.conf
ExecReload=/usr/share/zookeeper/bin/zkServer.sh restart /etc/zookeeper/conf/zoo.conf
WorkingDirectory=/var/lib/zookeeper

[Install]
WantedBy=default.target

修改设定档的目录:

sudo update-alternatives --install /etc/zookeeper/conf zookeeper-conf /etc/zookeeper/conf_production 1
sudo update-alternatives --set zookeeper-conf /etc/zookeeper/conf_production

然后连结:

sudo systemctl daemon-reload
sudo systemctl enable zookeeper

外部连结