zookeeper集群

zookeeper+KAFKA 集群搭建

随声附和 提交于 2019-12-04 22:19:52
zookeeper+KAFKA 集群搭建 ZooKeeper是一个分布式的1600174884,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、集群管理等。因为Kafka集群是把状态信息保存在Zookeeper中的,并且Kafka的动态扩容是通过Zookeeper来实现的,所以需要优先搭建Zookeerper集群,建立分布式状态管理。开始准备环境,搭建集群: zookeeper是基于Java环境开发的所以需要先安装Java 然后这里使用的zookeeper安装包版本为zookeeper-3.4.14,Kafka的安装包版本为kafka_2.11-2.2.0。 AMQP协议:Advanced Message Queuing Protocol (高级消息队列协议)是一个标准开放的应用层的消息中间件协议。AMQP定义了通过网络发送的字节流的数据格式。因此兼容性非常好,任何实现AMQP协议的程序都可以和与AMQP协议兼容的其他程序交互,可以很容易做到跨语言,跨平台。 server1:192.168.42.128 server2:192.168.42.129 server3:192.168.42.130

分布式中几种服务注册与发现组件的原理与比较

ε祈祈猫儿з 提交于 2019-12-04 20:11:06
Eureka、Consul、Zookeeper的基本原理与比较。 前言 在云计算和容器化技术发展火热的当下,对于微服务架构,服务注册与发现组件是必不可少的。在传统的服务架构中,服务的规模处于运维人员的可控范围内。当部署服务的多个节点时,一般使用静态配置的方式实现服务信息的设定。在微服务应用中,服务实例的数量和网络地址都是动态变化的,这对系统运维提出了巨大的挑战。因此,动态的服务注册与发现就显得尤为重要。 解决的问题 在一个分布式系统中,服务注册与发现组件主要解决两个问题:服务注册和服务发现。 服务注册:服务实例将自身服务信息注册到注册中心。这部分服务信息包括服务所在主机IP和提供服务的Port,以及暴露服务自身状态以及访问协议等信息。 服务发现:服务实例请求注册中心获取所依赖服务信息。服务实例通过注册中心,获取到注册到其中的服务实例的信息,通过这些信息去请求它们提供的服务。 除此之外,服务注册与发现需要关注监控服务实例运行状态、负载均衡等问题。 监控:微服务应用中,服务处于动态变化的情况,需要一定机制处理无效的服务实例。一般来讲,服务实例与注册中心在注册后通过心跳的方式维系联系,一旦心跳缺少,对应的服务实例会被注册中心剔除。 负载均衡:同一服务可能同时存在多个实例,需要正确处理对该服务的负载均衡。 CAP CAP原则,指的是在一个分布式系统中,Consistency(一致性)

docker-compose搭建zookeeper集群

主宰稳场 提交于 2019-12-04 20:09:29
搭建zookeeper集群 创建docker-compose.yml文件 ``` version: '3.1' services: zoo1: image: zookeeper restart: always container_name: zoo1 ports: - 2181:2181 volumes: - /usr/local/docker/zookeeper/zoo1/data:/data - /usr/local/docker/zookeeper/zoo1/datalog:/datalog environment: ZOO_MY_ID: 1 ZOO_SERVERS: server.1=zoo1:2888:3888;2181 server.2=zoo2:2888:3888;2181 server.3=zoo3:2888:3888;2181 zoo2: image: zookeeper restart: always container_name: zoo2 ports: - 2182:2181 volumes: - /usr/local/docker/zookeeper/zoo2/data:/data - /usr/local/docker/zookeeper/zoo2/datalog:/datalog environment: ZOO_MY_ID: 2 ZOO

HBase 的物理存储

对着背影说爱祢 提交于 2019-12-04 18:24:06
HBase 的物理存储 HBase 表中的所有行都是按照行键的字典序排列的。因为一张表中包含的行的数量非常多,有时候会高达几亿行,所以需要分布存储到多台服务器上。 因此,当一张表的行太多的时候,HBase 就会根据行键的值对表中的行进行分区,每个行区间构成一个“分区(Region)”,包含了位于某个值域区间内的所有数据,如图 1 所示。 图 1 HBase的Region存储模式图 Region 是按大小分割的,每个表一开始只有二个 Region,随着数据不断插入到表中,Region 不断增大,当增大到一个阈值的时候,Region 就会等分为两个新的 Region。当表中的行不断增多时,就会有越来越多的 Region,如图 2 所示。 图 2 HBase的Region分裂示意 Region 是 HBase 中数据分发和负载均衡的最小单元,默认大小是 100MB 到 200MB。不同的 Region 可以分布在不同的 Region Server 上,但一个 Region 不会拆分到多个 Region Server 上。每个 Region Server 负责管理一个 Region 集合。如图 3 所示。 图 3 HBase的Region分布模式 Region 是 HBase 在 Region Server 上数据分发的最小单元,但并不是存储的最小单元。事实上,每个 Region

centos7搭建zookeeper集群环境

一个人想着一个人 提交于 2019-12-04 18:14:31
搭建起一个zookeeper的集群环境,选择三台机器作为测试(zookeeper的集群环境节点数最好的是>=3且为奇数) 选用三台虚拟机机器(三台机器上需要配置好jdk环境): Node1:192.168.153.133 Node2:192.168.153.137 Node3:192.168.153.138 首先下载zookeeper的稳定版,地址 https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz ,官网地址: https://zookeeper.apache.org/doc/current/zookeeperStarted.html#sc_Download 下载完成之后解压,放在指定地址(我这里在usr目录下创建了一个opt目录,将zookeeper放在此目录下),然后执行以下操作: cd /usr && mkdir opt cd /usr/opt/ #下载zookeeper wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz #进入zookeeper目录 cd /usr/opt/ #执行解压命令

安装zookeeper

本小妞迷上赌 提交于 2019-12-04 18:11:11
1.1 安装 zookeeper 本文件所讨论的 hadoop应用和etl应用除做特列说明外均安装在/home/ocetl/app目录下。请在ocetl用户根目录下建app目录,把zookeeper、hadoop、mr1、hive、AI_CLOUD_ETL 、tomcat等安装包上传至app下 1.1.1 解压 $ gunzip -d zookeeper-3.4.5-cdh4.2.1.tar.gz $ tar -xvf zookeeper-3.4.5-cdh4.2.1.tar $ mv zookeeper-3.4.5-cdh4.2.1 zookeeper 1.1.2 配置 ZOOKEEPER_HOME 在 .bash_profile中增加 export ZOOKEEPER_HOME=/home/ocetl/app/zookeeper 1.1.3 拷贝 zoo.cfg $ cd ~/app/zookeeper/conf $ cp zoo_sample.cfg zoo.cfg 1.1.4 配置 zoo.cfg 的 dataDir ,增加集群信息 dataDir=/home/ocetl/data/zoodata -- 绝对路径,不能使用变量 $HOME 等替换 末尾增加 server.1=ocdata13:2898:3898 server.2=ocdata14:2898:3898

centos7启动单机版zookeeper

与世无争的帅哥 提交于 2019-12-04 18:11:05
zookeeper官网:https://zookeeper.apache.org/doc/current/zookeeperStarted.html 安装zookeeper需要先安装好jdk环境,参见文章 https://www.cnblogs.com/advanceBlog/p/9392909.html 安装好jdk环境之后,可以开始配置zookeeper环境了。 首先安装一个单机版的zookeeper,我这里创建在/usr/opt/文件夹下,没有opt文件夹就新建 mkdir opt 下载zookeeper稳定版本: #下载zookeeper wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/stable/apache-zookeeper-3.5.6-bin.tar.gz 然后解压,并重命名为zookeeper(这一步为非必需操作) #执行解压命令 tar -zxvf apache-zookeeper-3.5.6-bin.tar.gz zookeeper 配置zookeeper的环境变量 vim /etc/profile 加入以下内容: export ZOOKEEPER_HOME=/usr/opt/zookeeper export PATH=$PATH:$ZOOKEEPER_HOME/bin 重新生效配置文件:

flink on yarn 部署

社会主义新天地 提交于 2019-12-04 16:26:23
一、部署说明 flink是apache一款大数据实时计算应用,在生产环境中,用来实时计算应用产生的日志,数据等,满足预警,入库等需求 二、系统环境 系统版本:centos 7.2 java版本: jdk 1.8.0_161 zookeeper版本: zookeeper-3.4.9 hadoop版本: Hadoop-2.8.3.tar.gz flink版本: flink-1.4.0 四个机器,其中192.168.3.60作为flink 的master,也就是jobmanager,其它三个机器作为taskmanager 三、准备部署 1、关闭selinux sed ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config 2、关闭防火墙 1234 firewall-cmd --state #查看防火墙状态systemctl stop firewalld.service #停用firewallsystemctl disable firewalld.service #禁止防火墙开机启动init 6 #重启主机,然后再输入第一条命令查看防火墙状态 3、安装jdk1.8 由于centos7.2自带jdk,但是是sun公司的jdk,一般我们都是用自己的jdk包,所以先卸载 12 rpm -qa | grep java | xargs

Hbase 配置问题(ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldEx)...

拥有回忆 提交于 2019-12-04 16:23:05
ERROR: org.apache.hadoop.hbase.PleaseHoldException: org.apache.hadoop.hbase.PleaseHoldException: Master is initiling 1、首先查看日志:hbase-hbase-master-master.log 2、发现zookeeper.clientcnxn有问题,所以为查看各节点的日志 3、发现连接的是本地的zookeeper(127.0.0.1),这时发现本地没有zookeeper,所以怀疑,hbase-site.xml没有配置好,查看它,发现没有“hbase.zookeeper.quorum”的配置,因此加入下图红框的配置,并copy到其它各个节点,大功告成!~——~!! 另:如果一个集群有多个zookeeper客户端,在上图的value值可用“,”分开设置! 来源: CSDN 作者: smarthhl 链接: https://blog.csdn.net/smarthhl/article/details/84626758

zookeeper笔记

為{幸葍}努か 提交于 2019-12-04 16:19:12
前言 zookeeper作为一个分布式协调服务,可以用来进行配置管理,分布式锁,集群管理等。大多数情况下,我们都是用作分布式服务架构中的注册中心。日常开发中,zookeeper对我们来说完全是个黑盒子,但是还是需要了解其中一二的。 选举 生产环境上,为了保证稳定性,一般都是集群模式,由3个或者5个server组成集群,而集群中server有几种角色,分别为leader,follower,observer。 leader负责写和读请求,进行写操作时,会发Proposal(事务)到Server,其他的Server对该Proposal进行Vote(投票),超过半数通过,则发出Commit 消息其他server,要求将上个Proposal提交。 follower负责读请求和转发写请求到leader,参与投票。 observer负责读请求和转发写请求到leader,不参与投票。 那么leader是怎么选举出来的,以3个server集群为例,分别为A,B,C服务器,在依次启动的时候,ABC的状态都为LOOKING。 先来看看A服务器是怎样的。 1.因为是初始状态,A会给自己投票,这时事务id(ZXID)为0,假设A的服务器id为1,那么A服务器将会向BC发出自己的投票vote(1,0),然后等待BC的投票。 2.这时,A收到B的投票(2,0),A会比较ZXID,ZXID大的胜出,因为都是0