array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 Linux上Zookeeper集群搭建 - 爱码网

一、官网

https://zookeeper.apache.org/

二、下载安装

(1)下载

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

复制链接地址  http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

linux中执行

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz

Linux上Zookeeper集群搭建

(2)安装与解压

tar -zxvf zookeeper-3.4.14.tar.gz  -C /opt/apps/

结果如下

Linux上Zookeeper集群搭建

(3)复制实例

防止出问题,我们复制一份

cp ./zookeeper-3.4.14/ zookeeper1 -r

(4)复制配置文件

复制Zookeeper安装目录下的conf目录中的zoo_sample.cfg文件,并命名为zoo.cfg

cp ./zookeeper/conf/zoo_sample.cfg  zoo.cfg

(5)修改配置文件

Linux上Zookeeper集群搭建

说明:

  •  等号左边的“server.数字”,表示要设置第几个zkServer节点。数字一般从1开始计数,依次加1。
  •  等号右边的第一段,表示该zkServer节点的主机,可以是主机名,也可以是主机IP
  •  等号右边的第二段,表示连接端口号。即其它zkServer与当前主机连接的端口号。每台主机的连接端口号可以任意设置,且可不一样。
  •  等号右边的第三段,表示选举端口号。若当前的Leader宕机,各个Follower需要选举新的Leader,这些Follower之间为了选举而相互联系,就使用该端口号。每台主机的选举端口号可以任意设置,且可不一样。
  • 在第四台Server后添加了observer,用于指定其在集群中将以Observer的身份出现

(6)创建myid文件

myid的值与zoo.cfg中指定的主机编号相同。

先创建目录

mkdir -p /usr/data/zookeeper/zk1/

  1. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 1 > /usr/data/zookeeper/zk1/myid
  2. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 2 > /usr/data/zookeeper/zk2/myid
  3. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 3 > /usr/data/zookeeper/zk3/myid
  4. [root@iz2zebb7s8ui8b5mmag51xz ~]# echo 4 > /usr/data/zookeeper/zk4/myid

(7)第四台主机配置额外配置

第四台主机即为要作Observer的主机,除了要完成以上配置,修改myid为4外,还需要修改zoo.conf文件:添加peerType=observer。用于指定当前Server即为Observer。

Linux上Zookeeper集群搭建

三、操作Zookeeper

(1)启动

进入用户当前目录

Linux上Zookeeper集群搭建

依次启动服务器

./zookeeper1/bin/zkServer.sh start ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh start ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh start ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh start ./zookeeper4/conf/zoo.cfg

 

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

(2)查看状态

./zookeeper1/bin/zkServer.sh status ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh status  ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh status  ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh status ./zookeeper4/conf/zoo.cfg

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

(3)停止

./zookeeper1/bin/zkServer.sh stop ./zookeeper1/conf/zoo.cfg

./zookeeper2/bin/zkServer.sh stop  ./zookeeper2/conf/zoo.cfg

./zookeeper3/bin/zkServer.sh stop  ./zookeeper3/conf/zoo.cfg

./zookeeper4/bin/zkServer.sh stop ./zookeeper4/conf/zoo.cfg

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

Linux上Zookeeper集群搭建

四、安装出现的问题

问题1

因本人在阿里云服务器上操作,服务启动查看不了状态,提示连接不上。

原因:在阿里云服务器安全组需要设置入方向的端口设置

问题2

zoo.conf 中的IP进行配置时候,不要配置成公网Ip,专有网络这样是没办法链接的!

必须在不同的服务器上把对应本地的那个公网Ip改成0.0.0.0

相关文章: