スタンドアロンモードでは、ダミーパターンのクラスタとクラスタモード:飼育係のインストールは、三つのモードに分かれています。
インストールファイルを使用するには、飼育係の必要性 http://zookeeper.apache.org/ ダウンロードするには、ダウンロードリンクを介して。
まず、スタンドアロンモードのインストールのZooKeeper 。1、環境変数を設定
1 2 3 4 5 6 7 8 9
$ ZK_FILE = /浮浪者/飼育係-3.4.13.tar.gz $ ZK_INSTALL_PATH =は/ opt / ZK $ ZK_INSTALL_DIR = $ ZK_INSTALL_PATH /zookeeper-3.4.13 $ ZK_DATA_DIR = $ ZK_INSTALL_PATH /zookeeper-3.4.13/data $ ZK_LOG_DIR = $ ZK_INSTALL_PATHは /zookeeper-3.4.13/ ログイン $ ZK_CFG = $ ZK_INSTALL_DIR /conf/zoo.cfg $ ZK_SERVER_ID = 1 $ ZK_PORT = 2181 $ ZK_SERVER_LIST = server.1 = 127.0.0.1:2888:3888
2、インストールディレクトリを作成して、インストールディレクトリのZKを抽出します
1 2 3
$ます。mkdir -p $ ZK_INSTALL_PATH $タール-zxvf $ ZK_FILE -C $ ZK_INSTALL_PATH >>の/ var / nullに $のls -l $ ZK_INSTALL_PATH
3、MYIDファイルを生成し、新たなデータとログディレクトリは、コンフィギュレーション・ファイルをコピーしzoo.cfg
1 2 3 4 5
$ます。mkdir $ ZK_DATA_DIR $ます。mkdir $ ZK_LOG_DIR $ エコー $ ZK_SERVER_ID >> $ ZK_DATA_DIR / MYID $ cpは $ ZK_INSTALL_DIR /conf/zoo_sample.cfg $ ZK_CFG $猫 $ ZK_CFG
4、設定zoo.cfgデータディレクトリ、ログディレクトリ、ポート番号、およびコンフィギュレーションサーバのリストを確認
1 2 3 4 5 6
$ sed -i 's#dataDir=/tmp/zookeeper#dataDir=' $ZK_DATA_DIR '#' $ZK_CFG $ sed -i '$a dataLogDir=' $ZK_LOG_DIR $ZK_CFG $ sed -i 's/2181/' $ZK_PORT '/g' $ZK_CFG $ sed -i '$a ' $ZK_SERVER_LIST $ZK_CFG $ cat $ZK_CFG
5、启动zk并查看状态
1 2
$ sh $ZK_INSTALL_DIR /bin/zkServer.sh start $ sh $ZK_INSTALL_DIR /bin/zkServer.sh status
6、利用zkCli操作zk
1
$ sh $ZK_INSTALL_DIR /bin/zkCli.sh
可以输入以下命令进行操作, 查看结果
1 2 3
> ls / > create /test value1 > get /test
二、通过vagrant一键安装单机版的zookeeper 1、整理一中的shell命令成zk-install.sh脚本文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>zk压缩包路径>>>>>>>>>>>>>>>>>>>>>>>>>>>>" echo $ZK_FILE echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>zk安装路径&安装目录>>>>>>>>>>>>>>>>>>>>>" echo $ZK_INSTALL_PATH echo $ZK_INSTALL_DIR echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>zk数据目录&日志目录>>>>>>>>>>>>>>>>>>>>>" echo $ZK_DATA_DIR echo $ZK_LOG_DIR echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>zk的myid>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" echo $ZK_SERVER_ID echo ">>>>>>>>>>>>>>>>>>>>>>>>>zk端口及服务器列表>>>>>>>>>>>>>>>>>>>>>>>>>" echo $ZK_PORT echo $ZK_SERVER_LIST echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>zk配置文件>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" ZK_CFG=$ZK_INSTALL_DIR /conf/zoo.cfg echo $ZK_CFG echo ">>>>>>>>>>>>>>>>>>>>新建zk安装目录并解压zk到该目录>>>>>>>>>>>>>>>>>>>" mkdir -p $ZK_INSTALL_PATH tar -zxvf $ZK_FILE -C $ZK_INSTALL_PATH >> /var/null echo ">>>>>>>>>>>>>>>>>>>>>新建zk数据和日志目录及myid>>>>>>>>>>>>>>>>>>>>>" mkdir $ZK_DATA_DIR mkdir $ZK_LOG_DIR echo $ZK_SERVER_ID >> $ZK_DATA_DIR /myidecho ">>>>>>>>>>>>>>>>>>>>>>>>>>>>配置zoo.cfg>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" cp $ZK_INSTALL_DIR /conf/zoo_sample.cfg $ZK_CFG sed -i 's#dataDir=/tmp/zookeeper#dataDir=' $ZK_DATA_DIR '#' $ZK_CFG sed -i '$a dataLogDir=' $ZK_LOG_DIR $ZK_CFG sed -i 's/2181/' $ZK_PORT '/g' $ZK_CFG sed -i '$a ' $ZK_SERVER_LIST $ZK_CFG tail -n 20 $ZK_CFG echo ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>启动zk>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>" sh $ZK_INSTALL_DIR /bin/zkServer.sh start
2、新建Vagrantfile文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
Vagrant.configure("2" ) do |config| config.vm.box = "centos7-base-jdk8" config.vm.hostname = "centos7-jdk8-zk-standalone" config.vm.network "private_network" , ip: "192.168.13.10" config.vm.provider "virtualbox" do |v| v.name = "centos7-jdk8-zk-standalone" v.memory = 大专栏 zookeeper安装:单机模式、伪集群模式、集群模式 r">2048 v.cpus = 2 end config.vm.provision "shell" do |s| s.path = "zk-install.sh" s.env = {ZK_FILE: "/vagrant/zookeeper-3.4.13.tar.gz" , ZK_INSTALL_PATH: "/opt/zk" , ZK_INSTALL_DIR: "/opt/zk/zookeeper-3.4.13" , ZK_PORT: "2181" , ZK_DATA_DIR: "/opt/zk/zookeeper-3.4.13/data" , ZK_LOG_DIR: "/opt/zk/zookeeper-3.4.13/log" , ZK_SERVER_ID: "1" , ZK_SERVER_LIST: "server.1=127.0.0.1:2888:3888" } end end
3、通过vagrant up启动虚拟机
三、通过vagrant一键安装zookeeper伪集群 1、zk伪集群指的是在一台集群上安装zk集群 需要注意每个zk进程对外端口(默认2181,用于客户端链接zk集群),选主端口(默认3888-进行leader选举时使用的端口),集群通信端口(默认2888-集群follow链接leader的通信端口)配置不冲突。 myid=1, 2181, 2888, 3888 myid=2, 2182, 2887, 3887 myid=3, 2183, 2886, 3886
2、zk-install.sh同二使用的是相同内容,Vagrantfile如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107
Vagrant.configure("2" ) do |config| config.vm.box = "centos7-base-jdk8" config.vm.hostname = "centos7-jdk-zk-local-cluster" config.vm.provider "virtualbox" do |v| v.name = "centos7-jdk-zk-local-cluster" v.memory = 2048 v.cpus = 2 end (1 ..3 ).each do |i| config.vm.provision "shell" do |s| s.path = "zk-install.sh" s.env = {ZK_FILE: "/vagrant/zookeeper-3.4.13.tar.gz" , ZK_INSTALL_PATH: "/opt/zk/zk-server#{i} " , ZK_INSTALL_DIR: "/opt/zk/zk-server#{i} /zookeeper-3.4.13" , ZK_PORT: "218#{i} " , ZK_DATA_DIR: "/opt/zk/zk-server#{i} /zookeeper-3.4.13/data" , ZK_LOG_DIR: "/opt/zk/zk-server#{i} /zookeeper-3.4.13/log" , ZK_SERVER_ID: "#{i} " , ZK_SERVER_LIST: "server.1=127.0.0.1:2888:3888\nserver.2=127.0.0.1:2887:3887\nserver.3=127.0.0.1:2886:3886" } end end end `` ` 3、同样使用vagrant up 命令,可以启动虚拟机,并自动安装 4、ssh进入虚拟机, 查看各个目录下对应的zk安装情况 可以看到,zk-server2作为leader节点, 其他两个节点作为follower节点 ![zk-local-cluster-status ][10] 5、可以通过xshell给三个节点的zkCli.sh 分别发送命令, ![zk-local-cluster-cli ][11] 四、通过vagrant一键安装zookeeper集群 1、集群ip规划 zk_server1 => 1 192.168.13.21 centos7-jdk-zk-cluster-1 zk_server2 => 2 192.168.13.22 centos7-jdk-zk-cluster-2 zk_server3 => 3 192.168.13.23 centos7-jdk-zk-cluster-3 2、zk-install.sh同二使用的是相同内容,Vagrantfile如下: ` `` rubyVagrant.configure("2" ) do |config| config.vm.box = "centos7-base-jdk8" zk_servers = { :zk_server1 => ["192.168.13.21" , "1" , "centos7-jdk-zk-cluster-1" ], :zk_server2 => ["192.168.13.22" , "2" , "centos7-jdk-zk-cluster-2" ], :zk_server3 => ["192.168.13.23" , "3" , "centos7-jdk-zk-cluster-3" ] } zk_server_list = "server.1=192.168.13.21:2888:3888\nserver.2=192.168.13.22:2888:3888\nserver.3=192.168.13.23:2888:3888" zk_servers.each do |zk_server_name, zk_server_cfg| config.vm.define zk_server_name do |app_config| app_config.vm.hostname = zk_server_cfg[2 ] app_config.vm.network "private_network" , ip: zk_server_cfg[0 ] app_config.vm.provider "virtualbox" do |v| v.name = zk_server_cfg[2 ] v.memory = 1048 v.cpus = 2 end app_config.vm.provision "shell" do |s| s.path = "zk-install.sh" s.env = {ZK_FILE: "/vagrant/zookeeper-3.4.13.tar.gz" , ZK_INSTALL_PATH: "/opt/zk" , ZK_INSTALL_DIR: "/opt/zk/zookeeper-3.4.13" , ZK_PORT: "2181" , ZK_DATA_DIR: "/opt/zk/zookeeper-3.4.13/data" , ZK_LOG_DIR: "/opt/zk/zookeeper-3.4.13/log" , ZK_SERVER_ID: zk_server_cfg[1 ], ZK_SERVER_LIST: zk_server_list} end end end end
3台の仮想マシンを引くと自動的にZKインストールするための放浪アップを通じて3、 インストール後、仮想マシン、正しく取り付けられているか確認
OK、ここでは三つのモデルのインストールはすぐに浮浪者による実験環境をインストールすることができ、以上です。