centos7.2系统部署ZooKeeper集群和Kafka集群(集群应用系统商城前置环境)

news2024/11/17 10:38:51

本次实验将使用centos7.2系统部署部署ZooKeeper集群因为Kafka依赖于ZooKeeper,所以我们一并进行部署。

实验所示的资源软件已上传至百度网盘,需要自取。

链接:https://pan.baidu.com/s/1a-7_iAIX0DBAMkF9bhiTcA?pwd=2333 
提取码:2333 
复制这段内容后打开百度网盘手机App,操作更方便哦。

ip网段规划如下:

IP

主机名

节点

172.16.51.23

zookeeper1

集群节点

172.16.51.32

zookeeper2

集群节点

172.16.51.41

zookeeper3

集群节点

既然是集群自然有多台主机了,本次实验则使用3台主机。我们可以通过克隆的方式快速搭建它们。至于网卡模式不做要求,nat和主机都可以。仅取决与你是否想让它们能通外网。

首先打开我们已经安装好的centos7.2系统,我们先做克隆前的环境准备。先配置一下ip地址,本地镜像源和主机映射文件还要关闭防火墙。

然后关闭防火墙。

移走本地的网络源,通过ssh上传本地资源软件包然后做个本地源仓库挂载。默认都上传在root目录下。

编写一下主机映射文件。

[root@localhost ~]# vi /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
172.16.51.23 zookeeper1
172.16.51.32 zookeeper2
172.16.51.41 zookeeper3

安装一下java环境。可以用命令查看一下能不能找到java版本来验证java是否安装成功。不过一般yum命令安装完了都是成功的。。。。我都不会再去打这个命令。

[root@localhost ~]# yum install -y java java-devel
[root@localhost ~]# java -version
openjdk version "1.8.0_222"
OpenJDK Runtime Environment (build 1.8.0_222-b10)
OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

ssh本地上传zookeeper软件包准备解压使用。

[root@localhost ~]# tar -zxvf zookeeper-3.4.14.tar.gz

进入zookeeper-3.4.14/conf目录下,修改zoo_sample.cfg文件为zoo.cfg,并编辑该文件到文件末尾添加3个服务节点参数即可。其他不用动一般都是默认的端口之类的都能对上运行。

[root@localhost ~]# cd zookeeper-3.4.14/conf/
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
[root@localhost conf]# vi zoo.cfg

接着在3台机器dataDir目录(此处为/tmp/zookeeper)下,分别创建一个myid文件,文件内容分别只有一行,其内容为1,2,3。即文件中只有一个数字,这个数字即为上面zoo.cfg配置文件中指定的值。ZooKeeper是根据该文件来决定ZooKeeper集群各个机器的身份分配。先在1节点这边创建一下,然后克隆完后记得修改2和3节点的myid。

接着我们关闭这个虚拟机保存一个快照开始克隆。

选择完整克隆,防止zookeeper1节点如果出问题崩了牵连到其他2个节点。

zookeeper3也以相同的方式克隆,最后如下图所示。

接下来不要乱,开启这些虚拟机修改它们对应的ip地址和主机名以及myid数字标识。

zookeeper2节点地址

zookeeper3节点地址

配置完后记得重启网络服务包括zookeeper1节点。

然后修改它们各自的主机名,即使这边已经根据主机映射文件智能更新获取到了主机名,我们也要手动修改一下保险一点。

[root@zookeeper1 ~]# hostnamectl set-hostname zookeeper1
[root@zookeeper1 ~]# bash
[root@zookeeper2 ~]# hostnamectl set-hostname zookeeper2
[root@zookeeper2 ~]# bash
[root@zookeeper3 ~]# hostnamectl set-hostname zookeeper3
[root@zookeeper3 ~]# bash

在2节点和3节点上修改一下myid。3节点自己改成3,这里不截图贴了。

最后在3个节点的zookeeper启动目录下启动服务。

[root@zookeeper3 ~]# cd zookeeper-3.4.14/bin/
[root@zookeeper3 bin]# ./zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
[root@zookeeper3 bin]# ./zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /root/zookeeper-3.4.14/bin/../conf/zoo.cfg
Mode: follower

如果出现一个服务查看状态时报错不用紧张,先把所有节点的服务都启动好,然后再回来查看就行了。

可以看到,3个节点,zookeeper2leader,其他的都是follower

到这里为止zookeeper集群配置完毕,接着我们直接开始配置Kafka集群。

当时做的时候忘记把Kafka服务包也提前上传了,所以这边就需要手动上传给这三台机子了。

也可以选择上传给其中一台然后使用scp命令拷贝给另外两台。

因为是上传到root目录下所以需要cd回到root目录下去解压。

三个节点都需要解压哦。

修改Kafka配置文件,因为3个节点有需要相同注释修改的部分,所以我们可以先修改好这部分然后scp传给另外两个节点进行覆盖。

在zookeeper1节点,进入kafka_2.11-1.1.1/config目录下,编辑server.properties文件。

在配置文件中找到以下两行并注释掉。

[root@zookeeper1 config]# scp server.properties root@172.16.51.32:/root/kafka_2.11-1.1.1/config/server.properties
The authenticity of host '172.16.51.32 (172.16.51.32)' can't be established.
ECDSA key fingerprint is a2:06:6f:65:a3:1f:9c:53:91:6d:0a:81:d0:6f:da:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.51.32' (ECDSA) to the list of known hosts.
root@172.16.51.32's password:
server.properties                                        100% 6854     6.7KB/s   00:00
[root@zookeeper1 config]# scp server.properties root@172.16.51.41:/root/kafka_2.11-1.1.1/config/server.properties
The authenticity of host '172.16.51.41 (172.16.51.41)' can't be established.
ECDSA key fingerprint is a2:06:6f:65:a3:1f:9c:53:91:6d:0a:81:d0:6f:da:6a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '172.16.51.41' (ECDSA) to the list of known hosts.
root@172.16.51.41's password:
server.properties                                        100% 6854     6.7KB/s   00:00
[root@zookeeper1 config]#

接着再逐个节点修改不一样的部分。

1节点:

直接在文件末尾添加条目。137这些是行数序号不要抄。

    137 broker.id=1
    138 zookeeper.connect=172.16.51.23:2181,172.16.51.32:2181,172.16.51.41:2181
    139 listeners = PLAINTEXT://172.16.51.23:9092

2节点同理:

broker.id=2
zookeeper.connect=172.16.51.23:2181,172.16.51.32:2181,172.16.51.41:2181
listeners = PLAINTEXT://172.16.51.32:9092

3节点:

[root@zookeeper3 ~]# vi kafka_2.11-1.1.1/config/server.properties
broker.id=3
zookeeper.connect=172.16.51.23:2181,172.16.51.32:2181,172.16.51.41:2181
listeners = PLAINTEXT://172.16.51.41:9092

最后同样进入到启动目录启动服务。

1节点:

[root@zookeeper1 config]# cd
[root@zookeeper1 ~]# cd kafka_2.11-1.1.1/bin/
[root@zookeeper1 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
[root@zookeeper1 bin]# jps
10336 Kafka
2753 QuorumPeerMain
10405 Jps
[root@zookeeper1 bin]#

2:

[root@zookeeper2 ~]# cd
[root@zookeeper2 ~]# cd kafka_2.11-1.1.1/bin/
[root@zookeeper2 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
[root@zookeeper2 bin]#  jps
2708 Kafka
2327 QuorumPeerMain
2775 Jps
[root@zookeeper2 bin]#

3:

[root@zookeeper3 ~]# cd
[root@zookeeper3 ~]# cd kafka_2.11-1.1.1/bin/
[root@zookeeper3 bin]# ./kafka-server-start.sh -daemon ../config/server.properties
[root@zookeeper3 bin]# jps
2327 QuorumPeerMain
2700 Kafka
2767 Jps
[root@zookeeper3 bin]#

接着我们测试一下服务。

在zookeeper1节点,进入kafka_2.11-1.1.1/bin目录下,创建topic命令

如果成功的话,会输出“Created topic "test".”。

[root@zookeeper1 bin]# ./kafka-topics.sh --create --zookeeper 172.16.51.23:2181 --replication-factor 1 --partitions 1 --topic test
Created topic "test".
[root@zookeeper1 bin]#

查看topic,虽然topic是在172.16.51.23上创建的,但是在其他机器上也能看到。我们可以到2和3节点的启动目录中使用命令查看。

[root@zookeeper2 bin]#  ./kafka-topics.sh --list --zookeeper 172.16.51.32:2181
test
[root@zookeeper2 bin]#

[root@zookeeper3 bin]#  ./kafka-topics.sh --list --zookeeper 172.16.51.41:2181
test
[root@zookeeper3 bin]#

测试成功!

那么centos7.2系统部署ZooKeeper集群和Kafka集群(集群应用系统商城前置环境)全部完成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1573865.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++:stack类和queue类

stack的介绍和使用 1. stack 是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。 2. stack 是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并…

壁纸小程序Vu3(预览页面:弹窗)

1.展示跳转后的分类列表图片 classlist.vue <template><view class"classlist"><view class"content"><navigator class"item" v-for"item in 10"><image src"../../common/images/64.png" mode…

DFS(排列数字、飞机降落、选数、自然数的拆分)

注&#xff1a;1.首先要知道退出条件 2.还原现场 典型&#xff1a;全排列 题目1&#xff1a; 代码&#xff1a; #include<bits/stdc.h> using namespace std; int a[1005],p[1005],v[1005]; int n; void dfs(int x) {//此次dfs结束条件,即搜到底 if(xn1){for(int i1;i&…

AcWing刷题-计算系数

计算系数 代码&#xff1a; MOD 10007 a, b, k, n, m [int(x) for x in input().split()]def pow(a, n):r 1 % MODwhile n:if n & 1: r r * a % MODa a * a % MODn >> 1return rdef C(n, m):r 1 % MODfor i, j in zip(range(n, -1, -1), range(1, m 1)):r …

CLR学习

视频链接&#xff1a;《CLR十分钟》系列之CLR运行模型_哔哩哔哩_bilibili 什么是 CLR 公共语言运行时&#xff08;Common Language Runtime CLR&#xff09; 是一个可有多种编程语言使用的 运行时&#xff0c;CLR 的核心功能&#xff08;比如 内存管理&#xff0c;程序集加载…

解锁网络安全新境界:雷池WAF社区版让网站防护变得轻而易举!

网站运营者的救星&#xff1a;雷池WAF社区版 ️ 嘿朋友们&#xff01;今天我超级激动要跟你们分享一个神器——雷池WAF社区版。这个宝贝对我们这帮网站运营者来说&#xff0c;简直就是保护伞&#xff01; 智能语义分析技术&#xff1a;超级侦探上线 先说说为啥我这么稀饭它。雷…

Qt环形颜色选择控件, 圆环颜色选择器

参考文章Qt编写自定义控件&#xff1a;环形颜色选择控件_qconicalgradient圆环渐变-CSDN博客 感谢作责提供的方法&#xff0c;下面程序的基础思路同参考文章。 为了更方便使用&#xff0c;这个选择器是基于64色表的&#xff0c;会显示选中的索引和色值。颜色选择时计算方式也…

Vite源码学习--调试源码

简介 当我们开始构建越来越大型的应用时&#xff0c;需要处理的 JavaScript 代码量也呈指数级增长。包含数千个模块的大型项目相当普遍。基于 JavaScript 开发的工具就会开始遇到性能瓶颈&#xff1a;通常需要很长时间&#xff08;甚至是几分钟&#xff01;&#xff09;才能启…

接口日志表结构

表&#xff1a;ZTALL_IFLOG MANDT MANDT CLNT 3 0 0 客户端 UUID SYSUUID_C32 CHAR 32 0 0 16-byte UID in 32 chars (hexadecimal) IFSNR ZE_IFSNR CHAR 30 0 0 接口编号(系统ID流水号) FUNCNAME RS38L_FNAM CHAR 30 0 0 功能模块的名称 STATUS BAPI_MTYPE CHAR 1 0 0 消息类…

【计算机毕业设计】电影购票系统——后附源码

&#x1f389;**欢迎来到我的技术世界&#xff01;**&#x1f389; &#x1f4d8; 博主小档案&#xff1a; 一名来自世界500强的资深程序媛&#xff0c;毕业于国内知名985高校。 &#x1f527; 技术专长&#xff1a; 在深度学习任务中展现出卓越的能力&#xff0c;包括但不限于…

linux--进程创建

执行了3次ps -f ,ps -f的父进程的ID(PPID)都是一样的,即bash. 实际上Linux上这个bash就是不断的复制自身,然后把复制出来的用exec替换成想要执行的程序(比如ps); 运行ps,发现ps是bash的一个子进程;原因就是bash把自己复制一份,然后替换成ps; 替换,这里就体现了写时拷贝的意义,…

学习vue3第十四节 Teleport 内置组件介绍

<Teleport></Teleport> 作用目的&#xff1a; 用于将指定的组件或者元素传送到指定的位置&#xff1b; 通常是自定义的全局通用弹窗&#xff0c;绑定到 body 上&#xff0c;而不是在当前元素上面&#xff1b; 使用方法&#xff1a; 接收两个参数 to: 要将目标传…

Ceph学习 - 1.存储知识

文章目录 1.存储基础1.1 基础知识1.1.1 存储基础1.1.2 存储使用 1.2 文件系统1.2.1 简介1.2.2 数据存储1.2.3 存储应用的基本方式1.2.4 文件存储 1.3 小结 1.存储基础 学习目标&#xff1a;这一节&#xff0c;我们从基础知识、文件系统、小节三个方面来学习。 1.1 基础知识 1.…

Qt中的网络通信

C没有封装专门的网络套接字的类&#xff0c;因此C只能调用C对应的API&#xff0c;而在Linux和Windows环境下的API都是不一样的 Qt作为一个C框架提供了相关封装好的套接字通信类 在Qt中需要用到两个类&#xff0c;两个类都属于network且都是属于IO操作&#xff0c;只不过这两个类…

第十四届蓝桥杯C/C++大学B组题解(一)

1、日期统计 #include <bits/stdc.h> using namespace std; int main() {int array[100] {5, 6, 8, 6, 9, 1, 6, 1, 2, 4, 9, 1, 9, 8, 2, 3, 6, 4, 7, 7,5, 9, 5, 0, 3, 8, 7, 5, 8, 1, 5, 8, 6, 1, 8, 3, 0, 3, 7, 9,2, 7, 0, 5, 8, 8, 5, 7, 0, 9, 9, 1, 9, 4, 4, 6,…

Golang | Leetcode Golang题解之第8题字符串转换整数atoi

题目&#xff1a; 题解&#xff1a; func myAtoi(s string) int {abs, sign, i, n : 0, 1, 0, len(s)//丢弃无用的前导空格for i < n && s[i] {i}//标记正负号if i < n {if s[i] - {sign -1i} else if s[i] {sign 1i}}for i < n && s[i] >…

DFS序列

什么是DFS序 DFS序是指对一棵树进行DFS时&#xff0c;每个节点被访问到的顺序。DFS序分成两个部分&#xff1a;进入该节点的顺序和退出该节点的顺序。 如何求DFS序 对于DFS中当前节点 1&#xff1a;计数 2&#xff1a;进入当前节点的顺序等于当前计数 3&#xff1a;想所有…

阿里云可观测 2024 年 3 月产品动态

本月可观测热文回顾 文章一览&#xff1a; 全新架构&#xff01;日志服务 SLS 自研免登录方案发布 AIOps 智能运维&#xff1a;有没有比专家经验更优雅的错/慢调用分析工具&#xff1f; 一文看懂如何做好 SQL 质量监控 使用 SPL 高效实现 Flink SLS Connector 下推 功能快…

pandas用法-详解教程

pandas用法-详解教程 一、生成数据表二、数据表信息查看三、数据表清洗四、数据预处理五、数据提取六、数据筛选七、数据汇总八、数据统计九、数据输出 一、生成数据表 1、首先导入pandas库&#xff0c;一般都会用到numpy库&#xff0c;所以我们先导入备用&#xff1a; impor…

深度学习理论基础(六)Transformer多头注意力机制

目录 一、自定义多头注意力机制1. 缩放点积注意力&#xff08;Scaled Dot-Product Attention&#xff09;● 计算公式● 原理 2. 多头注意力机制框图● 具体代码 二、pytorch中的子注意力机制模块 深度学习中的注意力机制&#xff08;Attention Mechanism&#xff09;是一种模仿…