zookeeper集群

zookeeper集群搭建

佐手、 提交于 2019-12-02 08:42:39
下载zookeeper包,解压到 /usr/local/java/zookeeper/ 2、在zookeeper中创建data和logs目录 3、将zoo.sample.cfg重命名为zoo.cfg, 4、zoo.cfg中添加dataDir=/usr/local/java/zookeeper/data dataLogDir=/usr/local/java/zookeeper/logs 5.我这里使用了3台机器,另外两台也重复以上操作。 6、在其中一台机器的zoo.cfg文件中添加 server.1=192.168.236.128:2888:3888 server.2=192.168.236.130:2888:3888 server.3=192.168.236.131:2888:3888 7、将zoo.cfg拷贝到其他两台机器中 scp zoo.cfg root@192.168.236.130: /usr/local/java/zookeeper/conf/ scp zoo.cfg root@192.168.236.131: /usr/local/java/zookeeper/conf/ 8.设置zookeeper安装路径,在 /etc/profile中添加以下信息 export ZOOKEEPER_HOME=/usr/local/java/zookeeper export PATH

zookeeper学习及集群搭建

对着背影说爱祢 提交于 2019-12-02 08:42:29
zookeeper简介: 是什么? zookeeper是分布式协调服务,目的是为分布式应用提供协调服务。 干什么的? 主从协调(hadoop、hbase等均使用该服务) 服务器上下线 统一配置服务 分布式共享锁 统一名称服务 怎么运作的? zookeeper也是一个分布式程序,由多个节点组成,节点又分为leader和follower(还有一种系节点成为Observer)两种角色;zookeeper底层主要是由一个树形结构进行对数据的存储,每个树节点称为znode,并且可以监控这些树节点来实现数据监听,通过这样的底层zookeeper实现了不同的服务。然而zookeeper作为第三方,那它一定要实现高可用,zookeeper集群的高可用基本原理是必须有半数以上节点运行,集群即可正常提供服务。 节点类型:(Znode) 持久型节点:PERSISTENT 临时型节点:EPHEMERAL 顺序型节点:SEQUENTIAL 服务器状态: Looking状态:该状态下表示节点可以进行选举 Following状态:由looking状态转换而来 Leading状态:由looking状态转换而来 Observer状态:该状态下的节点只进行读数据 事务ID:(zxid) leader节点会为每一个客户端提交的事务分配一个全局的事务id,并且该id是从0递增的。 集群结构:

Zookeeper简介与集群搭建

冷暖自知 提交于 2019-12-02 08:42:13
Zookeeper简介 Zookeeper是一个高效的分布式协调服务,可以提供配置信息管理、命名、分布式同步、集群管理、数据库切换等服务。它 不适合用来存储大量信息,可以用来存储一些配置、发布与订阅等少量信息。Hadoop、Storm、消息中间件、RPC服务框架、分布式数据库同步系统,这些都是Zookeeper的应用场景。 Zookeeper集群中节点个数一般为奇数个(>=3),若集群中Master挂掉,剩余节点个数在半数以上时,就可以推举新的主节点,继续对外提供服务。 客户端发起事务请求,事务请求的结果在整个Zookeeper集群中所有机器上的应用情况是一致的。不会出现集群中部分机器应用了该事务,而存在另外一部分集群中机器没有应用该事务的情况。在Zookeeper集群中的任何一台机器,其看到的服务器的数据模型是一致的。Zookeeper能够保证客户端请求的顺序,每个请求分配一个全局唯一的递增编号,用来反映事务操作的先后顺序。Zookeeper将全量数据保存在内存中,并直接服务于所有的非事务请求,在以读操作为主的场景中性能非常突出。 Zookeeper使用的数据结构为树形结构,根节点为"/"。Zookeeper集群中的节点,根据其身份特性分为leader、follower、observer。leader负责客户端writer类型的请求

linux下zookeeper集群搭建

半世苍凉 提交于 2019-12-02 08:41:45
目录 1.前提 2.配置主机名到IP地址的映射 3.修改zoo.cfg配置 4.新建myid文件并写入集群标识 5.在另外两台机器进行相同操作 6.查看集群状态配置结束 接着上一篇博客linux下zookeeper单机搭建,本篇进阶一下,利用三台机器进行集群操作。保证高可用。 1.前提 作者默认读者已经准备好了三台不同ip的机器或者虚拟机,并且都已经安装好jdk,linux 下zookeeper安装教程可以参考我的另一篇博客。 https://blog.csdn.net/u010199866/article/details/81742866 以下是zookeeper真集群配置教程 我们准备的三台机器ip分别为 xx.xx.xx.1 xx.xx.xx.2 xx.xx.xx.3 2.配置主机名到IP地址的映射 (此步骤不是必须的,我们可以直接在zk的配置文件中填写IP地址),这样配置的好处是如果某个IP地址发生了变化,我们不需要重启zookeeper,直接修改主机对应的IP地址即可。 直接修改/etc/hosts文件,设置主机zoo-1映射到x.x.x.1,设置主机zoo-2映射到x.x.x.2,设置主机zoo-3映射到x.x.x.3 三台机器都需要相同的hosts配置 vim /etc/hosts x.x.x.1 zoo-1 x.x.x.2 zoo-2 x.x.x.3 zoo-3 3

springboot+dubbo分组+zookeeper集群

五迷三道 提交于 2019-12-02 05:55:02
springboot+dubbo分组+zookeeper集群 provider 修改注册中心服务地址为多个 < dubbo : registry protocol = "zookeeper" address = "192.168.73.211:2181,192.168.73.212:2181,192.168.73.213:2181" / > 同一接口有多个实现使用group区分 同一接口出现版本不兼容升级使用version过度 < dubbo : service interface = "com.example.demo.service.DemoService" ref = "demoService" group = "afternoon" version = "1.0.0" / > provider.xml完整配置文件 < ? xml version = "1.0" encoding = "UTF-8" ? > < beans xmlns = "http://www.springframework.org/schema/beans" xmlns : xsi = "http://www.w3.org/2001/XMLSchema-instance" xmlns : dubbo = "http://code.alibabatech.com/schema/dubbo" xsi :

Dubbo Zookeeper(一)Zookeeper初识

自作多情 提交于 2019-12-02 05:22:10
前面花了一段时间去学习SpringCloud的相关知识,主要是理解微服务的概念并使用SpringCloud的一系列组件实现微服务落地。学习这些组件本身是简单的,跟着操作一遍基本就会了,这也得益于Springboot给我们带来了很多便利。实际的应用中也许还会碰到一些坑,但只要我们掌握基本的原理就能够解决。 前面也讲了微服务的解决方案有两个,一个是SpringCloud,另外一个就是 Dubbo +Zookeeper,下面我们来学习Dubbo+Zookeeper实现微服务。 在学习微服务的第一篇中,理解了微服务的概念,比较了微服务与单体应用之前的优势和劣势,讲了要实现微服务主要的技术点,最重要的两块在于服务之间的通信和服务治理。 Dubbo+ Zookeeper 要实现微服务,就必须解决这两个技术点,Dubbo是一个RPC通信框架,它可以实现服务之间的通信。ZooKeeper 是一种分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。 一、 分布式协调技术 上面说Zookeeper是一个分布式协调技术,那么我们就得先来学习什么是分布式协调技术。 分布式协调技术 主要用来解决分布式环境当中多个进程之间的同步控制,让他们有序的去访问某种临界资源,防止造成"脏数据"的后果。 首先,要明白我们为什么需要分布式锁,一个简单的例子,一般系统上都有一些定时任务

Ambari 管理hadoop、hbase、zookeeper节点

泄露秘密 提交于 2019-12-02 02:43:39
简介: Apache Ambari是一种基于Web的工具,支持Apache Hadoop集群的供应、管理和监控。Ambari已支持大多数Hadoop组件,包括HDFS、MapReduce、Hive、Pig、 Hbase、Zookeeper、Sqoop和Hcatalog等。 Apache Ambari 支持HDFS、MapReduce、Hive、Pig、Hbase、Zookeepr、Sqoop和Hcatalog等的集中管理。也是5个顶级hadoop管理工具之一。 环境 现有主机: 172.18.75.248 dn1.ambari 172.18.75.247 dn2.ambari 172.18.75.249 nn1.ambari 172.18.75.250 nn2.ambari 172.18.191.149 yarn.ambari 新增主机: 172.18.75.251 dn3.ambari 172.18.75.252 dn4.ambari 172.18.75.253 dn5.ambari 1、 添加/删除Hadoop节点 Ambari有4大板块,分别是Dashboard(仪表盘)、Services(服务)、Host(主机)、Alerts(告警)、Admin(管理)等 (1)、在添加服务之前,先对主机进行管理,Add New Hosts (2)、填写主机的host names 此处新增

JMXtrans + InfluxDB + Grafana实现Zookeeper性能指标监控

这一生的挚爱 提交于 2019-12-02 00:25:26
一、总体效果图 这里是将集群全部放在一起,可以根据自己的审美看怎么放 二、监控指标 其中有些指标与第一篇 Zookeeper通过四字命令基础监控(Zabbix) 的四字命令的指标是有重复的,二者选一个则可 三、实现 1、influxdb的安装 1)设置yum源 cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo [influxdb] name = InfluxDB Repository - RHEL \$releasever baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable enabled = 1 gpgcheck = 1 gpgkey = https://repos.influxdata.com/influxdb.key EOF 2)安装influxdb yum install influxdb systemctl start influxdb 3)修改配置文件(元数据以及数据存放目录) [root@ip-172-0-0-7 influxDB]# cat /etc/influxdb/influxdb.conf |grep "^\s*[^# \t].*$" [meta] dir = "/influxDB/meta" [data]

Zookeeper监听服务器节点动态上下线案例

时间秒杀一切 提交于 2019-12-02 00:08:21
1.需求   某分布式系统中,主节点可以有多台,可以动态上下线,任意一台客户端都能实时感知到主节点服务器的上下线。 2.需求分析 3.具体实现 (0)先在集群上创建/servers节点: [zk: localhost:2181(CONNECTED) 10] create /servers "servers" Created /servers ( 1)服务器端向Zookeeper注册代码: import org.apache.zookeeper.*; import org.jetbrains.annotations.NotNull; import java.io.IOException; public class DistributeServer { public static void main(@NotNull String[] args) throws IOException, KeeperException, InterruptedException { DistributeServer server = new DistributeServer(); // 思路:先写大框架!在考虑细节 // 1.连接zookeeper集群 server.getConnect(); // 2.注册节点 server.regist(args[0]); // 3.业务逻辑处理 server

Canal 与 Kafka 集成安装与配置

不想你离开。 提交于 2019-12-01 23:49:06
Canal 与 Kafka 集成安装与配置 vim 编辑中 >>> 后为列出原内容其后紧接的 <<< 行为对其的更改,没有前置符号的表示新添 主机环境 CentOS 7.6 内存至少 1.5G,否则服务会启动不起来 软件版本 MySQL 5.7.28 OpenJDK 8 Zookeeper 3.5.6-bin Kafka 2.12(Scala)-2.3.0 Canal deployer-1.1.4 MySQL 安装 采用从官方源直接安装的方式 添加 MySQL 5.7 官方源 rpm -ivh https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm 更新源 yum -y update 安装 MySQL 5.7 yum -y install mysql-community-server 添加 Canal 所需 MySQL 配置 vim /etc/my.cnf [mysqld] 下新添配置 log-bin=mysql-bin # 开启 binlog binlog-format=ROW # 选择 ROW 模式 server_id=1 # 配置 MySQL replaction 需要定义,不要和 canal 的 slaveId 重复 启动 MySQL systemctl start mysqld 查看状态