zookeeper 集群搭建教程之应用案例

Zookeeper集群和Hadoop集群安装(保姆级教程) Zookeeper集群和Hadoop集群安装(保姆级教程),集群搭建 阅读详情

       Apache ZooKeeper是Apache软件基金会的一个软件项目,它为大型分布式计算提供开源的分布式配置服务、同步服务和命名注册。ZooKeeper曾经是Hadoop的一个子项目,但现在是一个独立的顶级项目。ZK没有直接采用Paxos算法的实现,而是使用了一种称为Zab(Zookeeper Atomic Broadcast 原子消息广播协议)的一致性协议。
    


         本文目录:
             1、zookeeper的简介与应用场景
             2、zookeeper的设计目标
             3、ZAB协议
             4~6、zookeeper的搭建(集群、伪集群、单机)
             7、zookeeper客户端的脚本使用
             8、测试zookeeper的功能(选举、共享文件)
             9、客户端操作(JavaAPI、ZKClient、Curator)
             
             


1、Zookeeper应用场景

      是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现数据发布/订阅、负载均衡、分布式协调/通知、集群管理、Master选举、分布式锁和分布式队列等。



2、zookeeper的设计目标

     致于是提供一个高性能、高可用,并具有严格的顺序访问控制能力的分布式协调服务。


    目标一、简单的数据模型:使得分布式程序能够通过一个共享的、树型结构的名字空间来进行互相协调。


    目标二、可构建集群:组成zk集群的每台机器都会在内存中维护当前的服务状态,并且每台机器之间都能相互保持通。


集群结构图



    目标三、顺序访问:客户的每一个更新请求、zk都会分配一个全局唯一的递增编号,反映所以实务操作的先后顺序。


    目标四、高性能:由于zk将全量数据存储在内中,并且直接服务于客户端的所以非事务请求,因此它尤其适用于读操作作为主的应用场景。




3、ZAB协议

     ZAB协议的两种基本模式

     消息广播:Leader服务器会为每个事务请求生成对应proposal来进行广播,并且在广播事务proposal之前、leader服务器会去为这个事务proposal分配一个全局单调递增的唯一ID,事务proposal按照先后顺序进行排序与处理。当每一个follower服务器在接收到这个事务proposal之后,就将其以日志的形式写入到本地磁盘中。在成功写入后反馈给leader服务器一个AC响应。

     崩溃恢复:当leader服务器崩溃或者其他原因不能与follower联系、ZAB协议就需要一个高效并且可靠的leader选举算法,从而选出新的leader。






4、搭建zookeeper

     这里将介绍使用zookeeper搭建集群、伪分布式搭建、单机及其客户端的使用。

     系统环境:zookeeper支持很多操作系统,我用的Linux(CentOS - 7)。

     语言环境:zookeeper是Java语言编写的,所以需要Java环境的支持。


图-1

4.1、搭建集群(3台CentOS-7)

  有的朋友就会说,我的虚拟机开不了那么多,不用怕。下面有伪分布式搭建教程。



4.2、zookeeper搭建步骤:

1、获取zookeeper包
     到 http://apache.fayea.com/zookeeper/下载 zookeeper-3.4.6:
     $ wget http://apache.fayea.com/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

     本地上传(我的选择)

2、解压zookeeper 安装包
    $ tar -zxvf zookeeper-3.4.6.tar.gz

3、移动并命名(喜欢放哪都好)
    $mv  zookeeper-3.4.6  zookeeper
    $mv  zookeeper   /usr/local/chenzhengyou/

3、配置
     zookeeper 目录下创建以下目录:
     $ cd  /usr/local/chenzhengyou/zookeeper
     $ mkdir data
     $ mkdir logs

4、 将 zookeeper/conf 目录下的 zoo_sample.cfg 文件拷贝一份,命名为为zoo.cfg
     $ cp  zoo_sample.cfg zoo.cfg

5、修改 zoo.cfg 配置文件(如图-2)
     $ vim  zoo.cfg

图-2
6、 在/usr/local/chenzhengyou/zookeeper/data 下创建 myid 文件编辑 myid 文件,并在对应的 IP 的机器上输入对应的编号。如在 zookeeper 上,myid文件内容就是 1(目前该ip后缀100作为1号机器)。
      $ vim  myid

7、
为了方便关闭防火墙(3台都关了)
     $ sudo systemctl stop firewalld.service


8、使用scp远程传输(改ip再把传给103机器)
     $ scp -r zookeeper/ root@192.168.10.102:/usr/local/chenzhengyou/

9、只需修改/usr/local/chenzhengyou/zookeeper/data目录下的 myid 文件(看步骤6)
     102机器myid文件2
     103机器myid文件3

10、启动并测试 zookeeper

     (1) 到/usr/local/chenzhengyou/zookeeper/bin目录中执行(每台机器都启动)

          $ ./zkServer.sh start


     (2) 输入 jps 命令查看进程:
          $ jps
              1456 QuorumPeerMain
              1475 Jps

         其中, QuorumPeerMain 是 zookeeper 进程,启动正常
     

     (3) 查看状态
        $ ./zkServer.sh status(会发现有一个主节点、两个从节点)





5、zookeeper伪分布式搭建

   只需修改zoo.cfg文件

server.1=192.168.10.100:2888:3888
server.2=192.168.10.100:2889:3889
server.3=192.168.10.100:2890:3890


6、zookeeper单机搭建

  只需修改(只有IP配置就好了)
server.1=192.168.10.100:2888:3888



7、zookeeper客户端脚本的使用

   启动客户端
   $ ./zkCli.sh


7.1、读取(这是我以前创建的节点)

   格式:$ ls  path  [watch] 、path表示数据节点节点的路径。
   执行如下命令(效果如图)
   $ ls /




7.2、创建与读取

  格式:$create  [ -s ] [ -e ] path  data  acl
  其中,  [ -s ] 或[ -e ]分别表示节点特性:顺序节点或者临时节点,默认不添加[ -s ] 或[ -e ]则表示持久节点。



7.3、更新

  格式:$set  path  data  [ version ]
  其中,data是要更新的内容,节点的数据是有版本的概念的,便于操作哪一个版本的数据。仔细观察会发现版本的变化。




7.4、删除

  格式:$ delete  path  [ version ]



8、测试zookeeper的功能

     这里在集群测试zookeeper数据能不能共享机制,在一个节点上创建一个文件。在另一个节点有没有该文件?答案是可以的。如下、三台机器上的节点完全一样。



   
   如果我把 原来的leader down掉、它们之间会不会自动选一个来当 leader呢?答案是可以的。
   


9.1、JavaAPI简单操作zookeeper

package com.czy.zookeeper.base;

import java.util.concurrent.CountDownLatch;

import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.Watcher.Event.EventType;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.Watcher.Event.KeeperState;
import org.apache.zookeeper.ZooDefs.Ids;


/**
 * @auther 陈郑游
 * @create
 * @功能   Zookeeper
 * @问题
 * @说明
 * @URL地址
 * @进度描述
 */
public class ZookeeperBase {

	/** zookeeper地址 */
	static final String CONNECT_ADDR = "192.168.100.11:2181,192.168.100.12:2181,192.168.100.13:2181";
	/** session超时时间秒 */
	static final int SESSION_OUTTIME = 5000;
	/** 信号量,阻塞程序执行,用于等待zookeeper连接成功,发送成功信号 */
	static final CountDownLatch connectedSemaphore = new CountDownLatch(1);



	public static void main(String[] args) throws Exception{

		ZooKeeper zk = new ZooKeeper(CONNECT_ADDR, SESSION_OUTTIME, new Watcher() {
			@Override
			public void process(WatchedEvent watchedEvent) {
				//获取事件的状态
				KeeperState keeperState = watchedEvent.getState();
				EventType eventType = watchedEvent.getType();
				//如果是建立连接
				if(KeeperState.SyncConnected == keeperState){
					if(EventType.None == eventType){
						//如果建立连接成功,则发送信号量,让后续阻塞程序向下执行
						connectedSemaphore.countDown();
						System.out.println("ZK已经建立连接!");
					}
				}
			}
		});
		//进行阻塞
		connectedSemaphore.await();
		
		System.out.println("...................");

		//创建父节点
//		zk.create("/Root", "Rootdata".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);

		//创建子节点
//		zk.create("/Root/children", "children data".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
		
		//获取节点洗信息
		byte[] data = zk.getData("/", false, null);
		System.out.println(new String(data));
		System.out.println(zk.getChildren("/", false));
		
		//修改节点的值
//		zk.setData("/testRoot", "modify data root".getBytes(), -1);
//		byte[] data = zk.getData("/Root", false, null);
//		System.out.println(new String(data));		
		
		//判断节点是否存在
//		System.out.println(zk.exists("/Root/children", false));

		//删除节点
//		zk.delete("/Root/children", -1);
//		System.out.println(zk.exists("/Root/children", false));
		
		zk.close();

	}
}



9.2、ZKClient客户端简单操作zookeeper

package com.czy.zkCilent.base;

import org.I0Itec.zkclient.ZkClient;
import org.I0Itec.zkclient.ZkConnection;

import java.util.List;


/**
 * @auther 陈郑游
 * @create 2017/4/4 0004
 * @功能
 * @问题
 * @说明
 * @URL地址
 * @进度描述
 */
public class ZkClientBase {

	/** zookeeper地址 */
	static final String CONNECT_ADDR = "192.168.100.11:2181,192.168.100.12:2181,192.168.100.13:2181";
	/** session超时时间秒 */
	static final int SESSION_OUTTIME = 5000;
	
	
	public static void main(String[] args) throws Exception {
		ZkClient zkc = new ZkClient(new ZkConnection(CONNECT_ADDR), 5000);
		//1. create and delete方法 
		zkc.createEphemeral("/temp");
		zkc.createPersistent("/super/c1", true);
		Thread.sleep(10000);
		zkc.delete("/temp");
		zkc.deleteRecursive("/super");
		
		//2. 设置path和data 并且读取子节点和每个节点的内容
		zkc.createPersistent("/super", "1234");
		zkc.createPersistent("/super/c1", "c1内容");
		zkc.createPersistent("/super/c2", "c2内容");
		List<String> list = zkc.getChildren("/super");
		for(String p : list){
			System.out.println(p);
			String rp = "/super/" + p;
			String data = zkc.readData(rp);
			System.out.println("节点为:" + rp + ",内容为: " + data);
		}
		
		//3. 更新和判断节点是否存在
//		zkc.writeData("/super/c1", "新内容");
//		System.out.println(zkc.readData("/super/c1"));
//		System.out.println(zkc.exists("/super/c1"));
		
		//4.递归删除/super内容
//		zkc.deleteRecursive("/super");		
	}
}


9.3、Curator客户端简单操作zookeeper(实际是多用Curator操作)

package com.czy.curator.base;

import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.CuratorFrameworkFactory;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.apache.zookeeper.ZooKeeper;
import org.apache.zookeeper.data.Stat;

import java.util.List;


public class CuratorBase {

	/** zookeeper地址 */
	static final String CONNECT_ADDR = "192.168.100.11:2181,192.168.100.12:2181,192.168.100.13:2181";
	/** session超时时间秒 */
	static final int SESSION_OUTTIME = 5000;
	
	public static void main(String[] args) throws Exception {
		
		//1 重试策略:初试时间为1s 重试10次
		RetryPolicy retryPolicy = new ExponentialBackoffRetry(1000, 10);
		//2 通过工厂创建连接
		CuratorFramework cf = CuratorFrameworkFactory.builder()
					.connectString(CONNECT_ADDR)
					.sessionTimeoutMs(SESSION_OUTTIME)
					.retryPolicy(retryPolicy)
//					.namespace("super")
					.build();
		//3 开启连接
		cf.start();
		
		System.out.println(ZooKeeper.States.CONNECTED);
		System.out.println(cf.getState());
		
		// 新加、删除
		/**
		//4 建立节点 指定节点类型(不加withMode默认为持久类型节点)、路径、数据内容
		cf.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath("/super/c1","c1内容".getBytes());
		//5 删除节点
		cf.delete().guaranteed().deletingChildrenIfNeeded().forPath("/super");
		*/
		
		// 读取、修改
		/**
		//创建节点
//		cf.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath("/super/c1","c1内容".getBytes());
//		cf.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT).forPath("/super/c2","c2内容".getBytes());
		//读取节点
		String ret1 = new String(cf.getData().forPath("/super/c2"));
		System.out.println(ret1);

		//修改节点
//		cf.setData().forPath("/super/c2", "修改c2内容".getBytes());
//		String ret2 = new String(cf.getData().forPath("/super/c2"));
//		System.out.println(ret2);	
		*/
		
		// 绑定回调函数
		/**
		ExecutorService pool = Executors.newCachedThreadPool();
		cf.create().creatingParentsIfNeeded().withMode(CreateMode.PERSISTENT)
		.inBackground(new BackgroundCallback() {
			@Override
			public void processResult(CuratorFramework cf, CuratorEvent ce) throws Exception {
				System.out.println("code:" + ce.getResultCode());
				System.out.println("type:" + ce.getType());
				System.out.println("线程为:" + Thread.currentThread().getName());
			}
		}, pool)
		.forPath("/super/c3","c3内容".getBytes());
		Thread.sleep(Integer.MAX_VALUE);
		*/
		
		
		// 读取子节点getChildren方法 和 判断节点是否存在checkExists方法
		/***/
		List<String> list = cf.getChildren().forPath("/super");
		for(String p : list){
			System.out.println(p);
		}
		
		Stat stat = cf.checkExists().forPath("/super/c3");
		System.out.println(stat);
		
		Thread.sleep(2000);
		cf.delete().guaranteed().deletingChildrenIfNeeded().forPath("/super");

		
		
		//cf.delete().guaranteed().deletingChildrenIfNeeded().forPath("/super");
		
	}
}



















基于Zookeeper搭建spark集群 基于Zookeeper搭建spark集群一、前置条件二、Zookeeper集群搭建三、Spark集群搭建 一、前置条件 在搭建集群之前确保linux已安装JDK 三台机器分别为master、slave1、slave2 二、Zookeeper集群搭建 先从官网上下载zookeeper https://zookeeper.apache.org/releases.html 使用rz命令将zookeepe... 阅读详情

相关推荐

直播间人气协议算法:从批量操作到数据接口的自动化实现

本文深入解析直播间人气协议算法的实现原理与技术细节,涵盖批量账号管理、IP代理方案、用户行为模拟算法及平台数据接口调用策略。通过逆向工程分析通信协议,结合算法设计实现自动化流量提升,同时探讨风控规避与系统性能优化方案,为开发者提供合规的技术实践参考。

weixin_30505225的博客 520

我工作的公司是怎样使用zookeeper的?

我通过实际工作中的一个例子,讲解 zookeeper 是如何帮我解决分布式问题,以此引导大家发现自己系统中可以应用 zookeeper 的场景。真正把 zookeeper 使用起来!项目...

qq_18244417的博客 675

TMC5130/TMC5160步进电机驱动芯片深度解析与工程实践

步进电机驱动芯片是精密运动控制系统的物理执行核心,其性能直接决定定位精度、运行噪声与系统鲁棒性。基于电流闭环控制与电压前馈调制的混合驱动原理,现代智能驱动芯片如TMC51X0系列实现了微步插补、堵转检测和片上运动规划等关键技术突破。这类芯片通过SPI寄存器级配置实现StealthChop静音驱动与SpreadCycle高动态响应模式的无缝切换,在3D打印、CNC、机器人关节等场景中显著提升能效比与控制带宽。本文围绕TMC5130与TMC5160的硬件架构差异、寄存器操作时序、驱动模式物理机制及FreeRTO

weixin_35797963的博客 411

zookeeper第三章:项目案例

zookeeper的基础内容差不多学完了,所以我们来完成几个案例

weixin_50835854的博客 909

PCIe Gen4 Switch芯片PM40028调试踩坑实录:从boot引脚设置到串口无输出的诡异问题

本文记录了PCIe Gen4 Switch芯片PM40028的实战调试过程,重点剖析了从boot引脚配置错误导致串口无输出,到使用逻辑分析仪定位并解决启动问题的完整排障思路。文章深入探讨了芯片启动流程、硬件信号测量方法,并总结了高速硬件调试的核心经验与系统性排查清单,为工程师解决类似PCIe Gen4设备调试难题提供实用指南。

i8j9k0l1的博客 253

3GPP LTE/NR信道模型

CDL(Clustered Delay Line):簇延迟线模型,包括CDL-A、CDL-B、CDL-C三个用于NLOS的信道模型,以及CDL-D、CDL-E两个用于LOS的信道模型。

LinkEverything的博客 1万+

zookeeper案例

先在集群上创建/servers 节点(用于存储连接的服务器的主机和该服务器的节点数)相当于zookeeper集群 创建类对象该类为我们创建的服务端类: 获取zookeeper连接:自己创建连接方法: 让后server对象在main函数中调用注册是需要注册到zookeeper集群的/servers路径下,需要指定参数进行创建 (3)业务逻辑(睡眠): 服务端代码如下: 客户端: (1)获取zookeeper的连接: 先创建客户端对

&volume的博客 2074

PSINS惯性系初始对准与代码解读

本文参考“摇摆基座上基于信息的捷联惯导粗对准研究”(秦永元),以及“严恭敏博士后研究报告”,详细解读并推导了静基座惯性系对准算法,并与PSINS代码进行对照解读。

u011012050的博客 6757

【ZooKeeper应用举例】

在分布式锁服务中,有一种最典型应用场景,就是通过对集群进行Master选举,来解决分布式系统中的单点故障。什么是分布式系统中的单点故障:通常分布式系统采用主从模式,就是一个主控机连接多个处理节点。主节点负责分发任务,从节点负责处理任务,当我们的主节点发生故障时,那么整个系统就都瘫痪了,那么我们把这种故障叫作单点故障。

qq_40641770的博客 935

代码复现3—VLN-CE

运行训练完后在 data文件下会自动生成一个“checkpoints”文件,文件下包含任务文件“seq2seq”,该文件下会包括训练出来的权重和评估结果。数据集下载完后路径提取:data/scene_datasets/mp3d/{scene}/{scene}.glb。注意这里下载的数据集并不是所有的matterport3d,只需要一部分,包含90个场景,大小压缩后约16G。在“eval”时,会在data文件下生成videos文件,里面存放的是可视化的轨迹视频。

qq_44100524的博客 3203

Far planner代码系列(2)

graph_decoder系列(2) 承接上文 我们接着来看decoder_node.cpp的代码部分 void GraphDecoder::Init() { /* initialize subscriber and publisher */ //graph_sub_ 订阅节点/robot_vgraph 其类型是visibility_graph_msg/Graph的消息 graph_sub_ = nh.subscribe("/robot_vgrap...

博客 1534

Zookeeper在实际项目中的成功案例

1.背景介绍 1.背景介绍 Apache Zookeeper是一个开源的分布式协调服务,用于构建分布式应用程序。它提供了一组原子性的基本操作,以实现分布式协同。这些操作包括原子性更新、原子性比较和交换、原子性条件设置、原子性顺序操作等。这些操作可以用于实现分布式锁、分布式队列、分布式计数器等。 Zookeeper的核心概念是Znode,它是Zookeeper中的基本数据结构。Znode可以存...

AI天才研究院 1460

【零基础入门unity游戏开发——2D篇】大大简化了地形创建流程,减少Rule Tile的使用 —— AutoTile自动平铺瓦片的使用介绍

Unity 2D游戏开发中的AutoTile技术详解 摘要:本文详细介绍了Unity 2D游戏开发中的AutoTile技术,这是一种智能瓦片系统,能够自动处理地形和场景拼接。文章首先讲解了AutoTile的基本概念和优势,然后分步骤指导读者如何安装2D Tilemap Extras包、创建AutoTile、设置参数和绘制遮罩。通过实际案例演示了AutoTile的使用方法,并比较了AutoTile与Rule Tile的适用场景。最后指出AutoTile虽然使用方便,但对素材要求较高,开发者应根据项目需求选择合

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 732

zookeeper集群搭建超详细教程

zookeeper 集群搭建的保姆级教程!

笑看风云路的博客 1万+

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

zookeeper集群上搭建clickhouse集群,傻瓜式教程

zookeeper集群上搭建clickhouse集群,傻瓜式教程 文章目录zookeeper集群上搭建clickhouse集群,傻瓜式教程一、zookeeper集群搭建Ⅰ.下载zkⅡ.安装zkⅢ.zk配置修改Ⅳ.zk集群启动二、clickhouse集群搭建Ⅰ.ck单机搭建Ⅱ.ck集群搭建1.集群配置2.clickhouse集群启动 环境:centos 7 一、zookeeper集群搭建 Ⅰ.下载zk https://zookeeper.apache.org/releases.html#news 官网下载

dreamer11712的博客 3989

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

linux环境搭建zookeeper集群教程

进入 zookeeper 配置文件 usr/local/zookeeper/conf/给 zoo_sample.cfg 配置文件重命名为 zoo.cfg配置文件介绍首先 zookeeper 目录下创建 zookeeper 数据和日志的存放目录,并且添加文件读写权限mkdir datamkdir logs修改配置文件集群配置server001、server002、server003表示的是主机名,亦可以写IP地址查看主机名 hostname, 查看更详细的主机信息hostnamectl。

weixin_40471661的博客 1125

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux环境下Zookeeper集群搭建

Zookeeper介绍 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。 ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。 ZooKeeper包含一个简单的原语集,提供Java和C的接口。 ZooKeeper代码版本中,提供了分布式独享锁、选举、队

qq_45273552的博客 2509

ZooKeeper集群搭建

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习..

Ele_sorriu的博客 2万+

Zookeeper集群搭建

前期准备: 安装jdk(主页搜 jdk 有教程) 同步集群时间(主页搜 时钟同步 有教程) 关闭防火墙 主机与ip映射配置 下载安装包、解压 例如: tar -zxvf zookeeper-3.4.5.tar.gz -C /export/servers 修改环境变量(注意:3台zookeeper都需要修改) 进入 vi /etc/profile.d/zookeeper.sh 添加 export ZOOKEEPER_HOME=/export/servers/zookeeper-3.4.5

tian_1_2_3的博客 1万+

Zookeeper搭建集群

Zookeeper集群环境搭建 1.每台服务器节点上安装jdk1.8环境 使用java -version命令测试 java -version 2.每台服务器节点上安装Zookeeper 1.下载并且安装zookeeper安装包 wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeep...

qq_39380737的博客 2656

ZooKeeper :搭建ZooKeeper集群

ZooKeeper :搭建ZooKeeper集群 本文将介绍如何搭建ZooKeeper集群,博主准备搭建由三个ZooKeeper节点组成的集群,先需要创建三台虚拟机(VirtualBox可以复制虚拟机),系统为CentOS7,每台虚拟机配置相同,内存2G以及磁盘8G。如何创建虚拟机请参考这篇博客: VirtualBox安装CentOS7 还需要使用XShell来连接虚拟机,毕竟在VirtualBox上操作虚拟机比较麻烦。先使用VirtualBox进入虚拟机,查询该虚拟机的IP地址(使用ip addr或者

kaven 2943

基于zookeeper搭建kafka集群

Kafka 是一款开源的分布式流处理平台,最初由 LinkedIn 开发,后由 Apache 基金会维护。它被设计用于高吞吐、可扩展的实时数据管道和流处理场景。Kafka 的核心功能包括发布和订阅消息流、持久化存储数据以及实时处理数据流。其架构基于生产者(Producer)、消费者(Consumer)、主题(Topic)和分区(Partition)等概念,支持水平扩展和高容错性。Kafka 广泛应用于日志收集、消息系统、实时分析和事件溯源等场景,是现代大数据生态系统中不可或缺的组件之一。

muxia_jhy的博客 1757

zookeeper集群搭建

搭建前提 1.需要安装好jdk 2.检测集群时间是否同步 3.检测防火墙是否关闭 4.检测主机 ip映射有没有配置 步骤: 第一步: 将安装包解压 tar -zxvf zookeeper-3.4.5.tar.gz mv zookeeper-3.4.5 zookeeper(更名可有可无,我这里更名是为了后面路径写起来方便) 第二步: 修改环境变量(注意:有几台服务器修改几台) vi /etc/profile.d/zookeeper.sh(在profile.d里创建zookeeper.sh并编辑)

qq_21853321的博客 1万+

Zookeeper+ActiveMQ集群搭建

Zookeeper+ActiveMQ集群搭建 搭建三台虚拟机安装centos7。要提前安装好jdk环境 1.环境准备,搭建三台虚拟机ip分别是 192.168.192.130 192.168.192.131 192.168.192.134   Zookeeper环境准备 主机ip 消息端口 通信端口 节点目录/u...

好好学电脑 2870

搭建ZooKeeper集群详细教程

Zookeeper集群搭建leader+follower模式

背包客的博客 1316
上一篇: 畅想“互联网 + ”,畅想未来
下一篇: JSTL标签库:out标签
AndyChen9988
博客等级 码龄11年 276粉丝 89原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值