zookeeper安装部署

Apache zookeeper官方网站:https://zookeeper.apache.org/

Apache zookeeper文档:https://zookeeper.apache.org/doc/current/index.html

zookeeper是什么?简单来说zookeeper是一个基于Google Chubby的开源实现,是一个分布式协调服务。

zookeeper能做什么?分布式应用可以基于zookeeper实现命名管理、集群管理、配置管理等功能。

zookeeper集群默认只有两种角色,分别是Leader和Follower,Leader由选举产生,选举失败的节点自动变成Follower。Leader用于管理集群,Follower能参加选举投票,转发事务性请求给Leader。另外还有一种角色叫做Observer,相当于弱化版的Follower,与Follower的不同是,他不能参加任何选举投票,该角色主要是为了在不影响集群事务处理能力的情况下提升非事务处理的吞吐量。一般在配置Hadoop集群时,zookeeper集群不用配置Observer角色。

zookeeper的分布式安装,这里配置三台zookeeper机器,采用的是zookeeper-3.4.5-cdh5.15.0.tar.gz安装包(点击即可下载,官网链接请放心使用),基本采用默认配置。前提条件是,需要关闭防火墙、selinux、以及配置静态IP和hosts文件。

关闭防火墙,查看防火墙状态service iptables status,如果防火墙正在运行,则关闭防火墙service iptables stop,然后禁止防火墙开机启动chkconfig iptables off;如果防火墙没有启动,则直接禁止防火墙开机启动。

关闭selinux,修改配置文件vi /etc/sysconfig/selinux,将SELINUX=enforcing修改为SELINUX=disabled。

配置静态IP,修改配置文件vi etc/sysconfig/network-scripts/ifcfg-eth0,主要修改以下内容:

zookeeper安装部署_第1张图片

配置hosts文件,修改位置文件vi /etc/hosts,添加对应的IP与主机名,格式为:IP hostname,每一个IP hostname占用一行。hostname可以修改文件来配置vi /etc/sysconfig/network,将HOSTNAME变量修改为要设置的主机名,保存并退出即可

主要就是找一个合适的地方解压zookeeper-3.4.5-cdh5.15.0.tar.gz,然后配置zookeeper-3.4.5-cdh5.15.0/conf/文件夹中的zoo.cfg文件,主要修改的内容如下:

简单说明一下,dataDir配置zookeeper的数据存放目录,请自行配置;dataLogDir配置zookeeper事务日志目录,请自行配置;clientPort配置客户端端口,默认2181,使用默认即可;server.id=ip:port1:port2,这个是用来配置zookeeper集群有多少机器及相关端口的,id表示集群机器的编号,ip是机器的ip或者hostname,port1是zookeeper集群机器内部的通信端口,默认2888,port2是用来选举的端口,默认3888。

然后需要在dataDir配置的目录里创建myid文件,文件里的内容对应server.id的id;修改家目录下.bash_profile文件,添加zookeeper的环境变量,source一下.bash_profile文件使环境变量生效

可以在每一台机器上都这么配置一遍,也可以在某一台机器上配置完复制到其它机器上然后修改相应的myid文件。

配置完成后,在每一台机器上执行启动命令zkServer.sh start即可启动zookeeper集群,每一台机器上执行zkServer.sh status命令,可以查看该机器的状态

再说一下zookeeper集群为什么配置3台机器。zookeeper的选举机制:集群中有超过一半的节点选举某一个节点为Leader,那么这个节点就能成为Leader,其他节点自动变成Follower,一般默认server.id的id最大的节点作为Leader。另外zookeeper能正常工作的前提条件是:可用节点数>(总节点数/2)。因此可以总结出来,zookeeper集群需要配置至少2n(n≥1)台节点,可用节点数≥n+1,并且能够选举出Leader才能正常工作。所以zookeeper集群最少需要2个节点才能正常工作,但此时集群的失效节点容忍度为0,即不允许有节点失效;当配置2n或2n-1(n≥2)台节点时,不管是2n台还是2n-1台,失效节点容忍度都是相同的,因此在生产环境中zookeeper集群推荐部署3台起步以奇数台配置,一般都配置3台或者5台,保证集群高可用的同时也能合理利用集群资源。

请支持原创:https://blog.csdn.net/HSJ_knight/article/details/88194272

我就是一个萌新,文章仅供学习参考,如果有什么不对的地方请指出。

你可能感兴趣的:(大数据技术)