当前位置: 首页 > news >正文

ZooKeeper集群搭建步骤

一、准备虚拟机

准备三台虚拟机,对应ip地址和主机名如下:

ip地址

Hostname

192.168.153.150

ant163

192.168.153.151

ant164

192.168.153.152

ant165

  • 修改hostname,并使之生效

[root@localhost /]# hostnamectl set-hostname zookeeper1  //修改hostname
[root@localhost /]# hostname                             //查看hostname
[root@localhost /]# bash                                 //刷新

  • 进入/etc/sysconfig/network-scripts/ifcfg-ens33目录下修改网络信息

  • 重启网络服务

systemlctl restart network.service
service network restart

  • 测试ping

成功连接XShell

【注】这里可能由于内存不够导致无法创建新虚拟机。关闭虚拟机需要使用shutdown命令,不能直接使用可视化关闭。

二、安装配置zookeeper

添加压缩包,压缩包我放在/opt/install下面。

链接: https://pan.baidu.com/s/1FWn0t095KxoSz3PaKteHZw 提取码: 4ew2 复制这段内容后打开百度网盘手机App,操作更方便哦

  • 添加主机hosts

# 添加hosts
[root@hadoop02 ~]# vim /etc/hosts     # 添加IP地址和主机名
192.168.153.150 ant163
192.168.153.151 ant164
192.168.153.152 ant165

尝试连接,可以ping通

  • 将hosts文件拷贝到其他两台主机上

[root@hadoop02 ~]# scp  /etc/hosts root@ant164:/etc/
[root@hadoop02 ~]# scp  /etc/hosts root@ant165:/etc/

打开另一台机器,成功拷贝

  • 设置免密登录

进入家目录,进入.ssh目录下

# 设置免密登录
[root@hadoop02 .ssh]# ssh-keygen -t rsa -P ''# 将公钥追加到authorized_keys文件中
[root@hadoop02 .ssh]# cat /root/.ssh/id_rsa.pub >> ./authorized_keys # 将当前公钥拷贝到ant164公钥中
[root@hadoop02 .ssh]# ssh-copy-id -i ./id_rsa.pub -p22 root@ant164
[root@hadoop02 .ssh]# ssh-copy-id -i ./id_rsa.pub -p22 root@ant165

查看id_rsa.pub公钥

查看备付公钥:

# 测试免密登录是否成功
[root@hadoop02 .ssh]# ssh -p22 root@ant163
[root@hadoop02 .ssh]# ssh -p22 root@ant164
[root@hadoop02 .ssh]# ssh -p22 root@ant165

  • 将zookeeper压缩包分配到其他两台主机上

[root@ant163 .ssh]# scp /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz root@ant164:/opt/install/
[root@ant163 .ssh]# scp /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz root@ant165:/opt/install/

  • 在ant163上安装脚本文件

#! /bin/bash
echo 'auto install begining....'#global var
hostname=`hostname`jdk=false
hadoop=false
zk=true# JAVA_HOME
if [ "$jdk" = true ];thenecho 'jdk install set true'echo 'setup jdk-8u321-linux-x64.tar.gz'tar -zxf /opt/install/jdk-8u321-linux-x64.tar.gz -C /opt/soft/mv /opt/soft/jdk1.8.0_321 /opt/soft/jdk180sed -i '73a\export PATH=$PATH:$JAVA_HOME/bin' /etc/profilesed -i '73a\export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar' /etc/profilesed -i '73a\export JAVA_HOME=/opt/soft/jdk180' /etc/profilesed -i '73a\#jdk' /etc/profileecho 'setup jdk 8 success!!!'
fi#ZK_HOME
if [ "$zk" = true ];thenecho 'zookeeper install set true'echo 'setup zookeeper-3.4.5-cdh5.14.2.tar.gz'tar -zxf /opt/install/zookeeper-3.4.5-cdh5.14.2.tar.gz -C /opt/soft/mv /opt/soft/zookeeper-3.4.5-cdh5.14.2 /opt/soft/zk345cp /opt/soft/zk345/conf/zoo_sample.cfg /opt/soft/zk345/conf/zoo.cfgmkdir -p /opt/soft/zk345/datassed -i '12c dataDir=/opt/soft/zk345/datas' /opt/soft/zk345/conf/zoo.cfgecho "server.0=$hostname:2287:3387" >> /opt/soft/zk345/conf/zoo.cfgecho "0" > /opt/soft/zk345/datas/myidsed -i '73a\export PATH=$PATH:$ZOOKEEPER_HOME/bin' /etc/profilesed -i '73a\export ZOOKEEPER_HOME=/opt/soft/zk345' /etc/profilesed -i '73a\#ZK' /etc/profile# 刷新系统配置文件source /etc/profileecho 'setup zookeeper success!!!'
fi

  • 开启进程

# 进入到zookeeper/bin目录下
[root@ant163 bin]# ./zkServer.sh start

显示上面进程,表示zookeeper运行。

三台主机分别start,查看status

  • 启动/关闭所有zookeeper/查看所有zookeeper状态

[root@ant151 shell]# ./zkop.sh start
#! /bin/bash
case $1 in 
"start"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh start "done
};;
"stop"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh stop "done
};;
"status"){for i in ant151 ant152 ant153 dossh $i "/opt/soft/zk345/bin/zkServer.sh status "done
};;
esac

  • 查看所有zookeeper服务启动情况

[root@ant163 .ssh]# ./showalljps.sh
# showalljps.sh
#! /bin/bash
for i in ant151 ant152 ant153 ant154
doecho ---------- $i 服务启动状态 -------------ssh $i "$* "
done

相关文章:

ZooKeeper集群搭建步骤

一、准备虚拟机准备三台虚拟机,对应ip地址和主机名如下:ip地址Hostname192.168.153.150ant163192.168.153.151ant164192.168.153.152ant165修改hostname,并使之生效[rootlocalhost /]# hostnamectl set-hostname zookeeper1 //修改hostname …...

网际协议IP

网际协议IP 文章目录网际协议IP[toc]虚拟互联网IP地址及其表示方法分类IP地址(两级)无分类编址 CIDR网路前缀地址块地址掩码子网划分(三级IP地址)IP地址和MAC地址地址解析协议ARPIP数据报的格式IP数据报首部的固定部分中的各字段IP数据报首部的可变部分分…...

Python 语言参考手册、教程、标准库

官方文档:https://docs.python.org/zh-cn/3.11/ Python 语言参考手册 介绍了 Python 句法与“核心语义”。在力求简明扼要的同时,我们也尽量做到准确、完整。有关内置对象类型、内置函数、模块的语义在 Python 标准库 中介绍。有关本语言的非正式介绍&am…...

数据库连接池 BoneCP、HikariCP 等

文章目录 数据库连接池 BoneCP、HikariCP 等BoneCPDruidTomcat Jdbc PoolHikariCPC3p0DbcpLRUPSCachePS数据库连接池 BoneCP、HikariCP 等 BoneCP 官方说法 BoneCP 是一个高效、免费、开源的 Java 数据库连接池实现库 设计初衷就是为了提高数据库连接池性能,根据某些测试数…...

博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作

硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!一 . SSM 版本相比于 Servlet 版本的亮点二 . 初始化数据库三 . 前端页面3.1 注册页面3.2 登录功能3.3 文章总列表页3.4 自己的文章列表页3.5 文章详情页3.6 编写博客页面大家好 , 这是新的专栏 , 博客系统 SSM…...

[Web] 简单瀑布流布局实现

目前的纯 CSS 布局, 是没办法实现比较完美的瀑布流布局的. 参考: CSS总结:瀑布流布局 - 黑白程序员 我使用 JS CSS, 并且自动布局实现了较为简单, 观赏性好的瀑布流布局. 代码 HTML: <!DOCTYPE html> <html lang"en"> <head><link rel&quo…...

多线程之死锁,哲学家就餐问题的实现

1.死锁是什么 死锁是这样一种情形&#xff1a;多个线程同时被阻塞&#xff0c;它们中的一个或者全部都在等待某个资源被释放。由于线程被无限期地阻塞&#xff0c;因此程序不可能正常终止。 2.哲学家就餐问题 有五个哲学家&#xff0c;他们的生活方式是交替地进行思考和进餐…...

UTF-8编码

介绍 UTF-8 编码 UTF-8 是一种针对 Unicode 的可变长度字符编码。 针对 Unicode&#xff1a;UTF-8 是 Unicode 的实现方式之一。相当于 Unicode 规定了字符对应的代码值&#xff0c;这个代码值需要转换为字节序列的形式&#xff0c;用于数据存储、传输。代码值到字节序列的转…...

likeshop单商户SaaS版V1.8.2说明!

likeshop单商户SaaS版V1.8.2主要更新如下&#xff1a; 新增 前端登录引导用户填写头像昵称 PC端—注册页面显示服务协议和隐私政策 PC端—首次进入商城弹出协议提示 PC端—结算页新增门店自提的配送方式 后台—PC端菜单导航栏的跳转链接支持添加自定义链接 ​​ ​​ ​ 优…...

算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零

算法训练营 day46 动态规划 最后一块石头的重量 II 目标和 一和零 最后一块石头的重量 II 1049. 最后一块石头的重量 II - 力扣&#xff08;LeetCode&#xff09; 有一堆石头&#xff0c;用整数数组 stones 表示。其中 stones[i] 表示第 i 块石头的重量。 每一回合&#xf…...

nginx-host绕过实例复现

绕过Nginx Host限制第一种处理方法Nginx在处理Host的时候&#xff0c;会将Host用冒号分割成hostname和port&#xff0c;port部分被丢弃。所以&#xff0c;我们可以设置Host的值为2023.mhz.pw:xxx"example.com&#xff0c;这样就能访问到目标Server块&#xff1a;第二种处理…...

Java学习记录day9

类与对象 内部类 成员内部类 在一个类的内部定义的类。 public class Outer {private int a 10;public void outMethod() {System.out.println("这是外部类中的方法");}// 成员内部类public class Inner{private int b 10;public void innerMethod() {// 外部类…...

ActiveReports.NET 17.0 Crack by Xacker

一个完整的报告解决方案&#xff0c;用于在您的业务应用程序中设计、定制、发布和查看报告。 ActiveReports.NET 通过直观的 Visual Studio 集成报表设计器和丰富的控件帮助您提供精美的报表。ActiveReports 提供基于代码的跨平台报告、易于使用的设计器和灵活的 API。适用于桌…...

【计算机网络】传输层TCP协议

文章目录认识TCP协议TCP协议的格式字段的含义序号与确认号六个标志位窗口大小确认应答(ACK)机制超时重传机制连接管理机制三次握手四次挥手滑动窗口流量控制拥塞控制延迟应答捎带应答面向字节流粘包问题TCP异常情况总结认识TCP协议 传输控制协议 &#xff08;TCP&#xff0c;T…...

Mysql5.7安装【Windows版】

文章目录一、下载二、添加到环境变量三、添加配置文件my.ini四、安装Mysql 修改密码一、下载 下载地址 滑倒最下面有一个MySQL Community Server 选择要下载的版本 二、添加到环境变量 下载好了之后开始解压 把bin目录添加到环境变量 可以点击进入bin目录&#xff0c;直接复…...

分布式一致性算法Raft原理图释

什么是分布式一致性算法Raft 分布式一致性算法Raft&#xff1a;指在分布式场景下实现集群数据同步的解决方案 掌握了这个算法&#xff0c;就可以较容易地处理绝大部分场景的容错和数据一致性需求 Raft三大角色 跟随者&#xff08;Follower&#xff09;&#xff1a;普通群众…...

网络安全-字典生成-crunch

网络安全-字典生成-crunch crunch工具&#xff0c;在kali已经集成好了 2是代表最小字符长度 4是最大字符长度 生成了一个2M的文件 还有我们来查看这个密码本 从abcd26个英文字母的2位到4位的组合&#xff0c;他全部排列了一次 还可以自定义数字&#xff0c;特殊字符&#xf…...

闪光桐人の实习日记

2023年2月13日 1&#xff0c;认识了职场礼仪&#xff0c;学习了职场礼仪的重要性 尊重->心情愉悦->建立信任与好感->合作机遇的敲门砖 2&#xff0c;学习了职场礼仪中的邮件礼仪 模板管理中设置自己的名片 部门写到三级部&#xff0c;如果部门名太长要换一行 发送…...

PostgreSQL 常见配置参数

max_wal_size : 两个检查点&#xff08;checkpoint&#xff09;之间&#xff0c;WAL可增长的最大大小&#xff0c;即&#xff1a;自动WAL checkpoint允许WAL增长的最大值。该值缺省是1GB。如果提高该参数值会提升性能&#xff0c;但也是会消耗更多空间、同时会延长崩溃恢复所需…...

JAVA 常用类型之String结构

String在java中我们是用来操作字符串的&#xff0c;但它的底层结构确是一个char[]数组&#xff0c;通过数组的方式将每个字符进行保存。 使用时&#xff1a;String str"ABCD"&#xff0c;内部存value确是&#xff1a;value[A,B,C,D]; 如下图&#xff1a; 参考String源…...

如何快速集成Draw.io Mermaid插件:提升图表绘制效率的终极指南

如何快速集成Draw.io Mermaid插件&#xff1a;提升图表绘制效率的终极指南 【免费下载链接】drawio_mermaid_plugin Mermaid plugin for drawio desktop 项目地址: https://gitcode.com/gh_mirrors/dr/drawio_mermaid_plugin 还在为绘制复杂的流程图、时序图而烦恼吗&am…...

GPU流水线设计:提升深度学习计算效率的关键技术

1. GPU流水线设计基础概念现代GPU架构为深度学习工作负载提供了强大的并行计算能力&#xff0c;但传统的批量同步并行(BSP)执行模型存在资源利用率低下的问题。GPU流水线技术通过将计算图分解为多个阶段并在其间插入队列节点&#xff0c;实现了计算与通信的重叠执行。1.1 传统B…...

一键部署Obsidian环境:自动化脚本实现跨设备配置同步

1. 项目概述&#xff1a;为什么我们需要一个“一键式”的 Obsidian 安装脚本&#xff1f;如果你是一个深度依赖 Obsidian 进行知识管理、笔记写作或项目规划的从业者&#xff0c;无论是程序员、作家、学生还是研究员&#xff0c;大概率都经历过这样的场景&#xff1a;换了一台新…...

疫情如何重塑GPU市场:从游戏硬件到数字基础设施的演变

1. 市场预期的“扭曲”&#xff1a;疫情如何重塑GPU行业逻辑如果你在2020年初问任何一位半导体行业的分析师&#xff0c;他们对当年第二季度GPU&#xff08;图形处理器&#xff09;市场的预测&#xff0c;大概率会得到一个基于历史季节性规律的保守或平稳的答案。然而&#xff…...

Buzz音频转录工具故障快速定位:5大紧急级别终极排查指南 [特殊字符]

Buzz音频转录工具故障快速定位&#xff1a;5大紧急级别终极排查指南 &#x1f6a8; 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Trending/buz/buzz…...

ARM AMU与PMU架构详解及性能监控实践

1. ARM AMU与PMU架构概述在现代ARM处理器架构中&#xff0c;活动监控单元(AMU)和性能监控单元(PMU)是系统级性能分析的核心组件。作为芯片设计工程师&#xff0c;我经常需要与这些硬件监控模块打交道。AMU主要负责处理器内部活动的监控和统计&#xff0c;而PMU则提供更通用的性…...

技术人必备的Chrome插件清单:第7个让调试效率翻倍

对于软件测试从业者而言&#xff0c;浏览器早已不是单纯的信息浏览窗口&#xff0c;而是集接口调试、性能分析、元素定位、辅助功能验证于一体的核心工作站。面对日益复杂的Web应用和紧迫的交付周期&#xff0c;一套精悍的Chrome插件组合往往能带来远超预期的效率回报。本文从测…...

C 语言开发一个简单的线程池函数

既然了解了为什么用线程池&#xff0c;那么就回到了怎么管理这些东西。在开发中肯定要设计怎么对齐进行管理。所有代码的开始都从设计结构开始。仔细想一下&#xff0c;我们的一个简单想法就是用链表保存一系列线程&#xff0c;然后用链表保存一系列处理线程的对象。所有我们就…...

windows构建mamba环境

收集必要的whl文件 在某&#x1f41f;等平台或者是精密搜索找到以下whl文件 对于3.10 python triton-2.0.0-cp310-cp310-win_amd64.whl causal_conv1d-1.1.1-cp310-cp310-win_amd64.whl mamba_ssm-1.1.3-cp310-cp310-win_amd64.whl 对于3.11 python FuouM/mamba-ssm-windo…...

ETS2LA:为《欧洲卡车模拟2》带来终极智能驾驶体验的5大核心功能

ETS2LA&#xff1a;为《欧洲卡车模拟2》带来终极智能驾驶体验的5大核心功能 【免费下载链接】Euro-Truck-Simulator-2-Lane-Assist Plugin based interface program for ETS2/ATS. 项目地址: https://gitcode.com/gh_mirrors/eur/Euro-Truck-Simulator-2-Lane-Assist 想…...