我们先弄清楚kafka集群环境首先需要些什么

  • JDK 10+
  • Zookeeper
  • Kafka 2.x

首先准备三台虚拟机 centos7 ,更改IP地址为静态地址分别为,29、30.31

cd /etc/sysconfig/network-scripts #进入网卡文件目录

vim ifcfg-ens33 #使用vim编辑器编辑该网卡信息(需要编辑当前链接的网卡)



service network restart #重启网卡服务,依次配置好三台linux的IP地址保证能够相互通信

先安装java jdk

  • 下载

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.rpm

  • 授权限

chmod +x jdk-8u131-linux-x64.rpm

  • 安装

rpm -ivh jdk-8u131-linux-x64.rpm

检查是否安装成功

再安装zookeeper ,29.30.31 三台机器需要如下同样的方式安装 zookeeper 形成 zookeeper 集群

  • 下载zookeeper并解压 官网推荐下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/
  • tar -zxvf zookeeper-3.4.14.tar.gz -C /opt/     //这里解压至/opt目录中使用
  • cp zoo_sample.cfg zoo.cfg //进入/opt/zookeeper-3.4.14/conf/目录,先拷贝一份配置文件
  • 然后vim编辑zoo.cfg

  • 说明:除了修改zoo.cfg文件外还需要在这个文件中指定的data目录下新增一个 myid 的文件,这个文件里面就只有一个数据,就是上图中配置的 server.x 这个x的值(29,30,31)zookeeper启动时会以此来确定自己的节点标识
  • 切换到 zookeeper 的bin文件夹下,启动三台机器的zookeeper

./zkServer.sh start

启动后发现每台机器的运行模式仍然为单机模式,“试试关闭防火墙然后重新启动”

systemctl stop firewalld.service //关闭防火墙

systemctl disable firewalld.service //禁止开机启动

  • 重启zookeeper后再次查看zookeeper的状态,你会发现,一台leader 两台 follower,说明到此我们的zookeeper安装成功

这里终端工具我使用的是 MobaXterm 可以同时多台机器输入同样的shell命令,操作起来相当方便,建议使用

现在我们开始正式安装kafka

  • 下载kafka并解压 下载地址 http://kafka.apache.org/

  • tar zxvf kafka_2.13-2.5.0.tgz -C /opt/

  • 进入 /opt/kafka_2.13-2.5.0/ 进入到config目录,编辑配置文件:server.properties





  • 三台机器配置信息修改完成之后 启动 kafka , -daemon 为后台启动

启动命令 ./kafka-server-start.sh -daemon ../config/server.properties

停止命令 ./kafka-server-stop.sh

  • 检查测试

我们先切回到 zookeeper 的bin 文件夹下 ,使用zookeeper的客户端工具查看

./zkCli.sh -server 192.168.3.29:2181 随意链接其中的一个节点(能链接上去,且输入 ls / 出现不少信息说明安装已经成功,但看不到我们想要看的信息,不慌,继续

这里我们介绍另一款工具 kafka-manager-1.3.3.7.zip,自行下载(https://github.com/yahoo/kafka-manager ),上传至任意一台机器,然后解压修改配置文件 application.conf

保存后,进入kafka-manager/bin目录下,执行运行命令 ./kafka-manager 默认端口为 9000 可以使用以下命令指定配置文件和端口运行

./kafka-manager -Dconfig.file=./config/application.conf -Dhttp.port=9000

当然也可以使用 nohup & 的形式后台运行

我们可以看到,正在启动 kafka-manager 并在同步状态了,我们到浏览器访问 http://192.168.3.29:9000/

添加集群

到此,kafka集群搭建算是完成,后续,我们针对net5来使用kafka做一些demo程序,来试试kafka

消息队列之 kafka 集群搭建的更多相关文章

  1. 消息队列kafka集群搭建

    linux系统kafka集群搭建(3个节点192.168.204.128.192.168.204.129.192.168.204.130)    本篇文章kafka集群采用外部zookeeper,没采 ...

  2. Kafka【第一篇】Kafka集群搭建

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  3. 【转】kafka集群搭建

    转:http://www.cnblogs.com/luotianshuai/p/5206662.html Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否 ...

  4. zookeeper与Kafka集群搭建及python代码测试

    Kafka初识 1.Kafka使用背景 在我们大量使用分布式数据库.分布式计算集群的时候,是否会遇到这样的一些问题: 我们想分析下用户行为(pageviews),以便我们设计出更好的广告位 我想对用户 ...

  5. kafka学习(三)-kafka集群搭建

    kafka集群搭建 下面简单的介绍一下kafka的集群搭建,单个kafka的安装更简单,下面以集群搭建为例子. 我们设置并部署有三个节点的 kafka 集合体,必须在每个节点上遵循下面的步骤来启动 k ...

  6. 大数据 --> Kafka集群搭建

    Kafka集群搭建 下面是以三台机器搭建为例,(扩展到4台以上一样,修改下配置文件即可) 1.下载kafka http://apache.fayea.com/kafka/0.9.0.1/ ,拷贝到三台 ...

  7. Kafka 集群搭建 (自用)

    Zookeeper集群搭建 1.软件环境 (3台服务器-测试环境) 192.168.56.9 192.168.56.6 192.168.56.7 1.Linux服务器一台.三台.五台.(2*n+1), ...

  8. (十)RabbitMQ消息队列-高可用集群部署实战

    原文:(十)RabbitMQ消息队列-高可用集群部署实战 前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. Ra ...

  9. Linux下kafka集群搭建过程记录

    环境准备 zookeeper集群环境kafka是依赖于zookeeper注册中心的一款分布式消息对列,所以需要有zookeeper单机或者集群环境. 三台服务器: 172.16.18.198 k8s- ...

随机推荐

  1. WPF自定义控件一:StackPanel 控件轮播

    实现效果 带定时器的轮播图 using引用 using System.Windows; using System.Windows.Controls; using System.Windows.Mark ...

  2. ACM学习笔记:可持久化线段树

    title : 可持久化线段树 date : 2021-8-18 tags : 数据结构,ACM 可持久化线段树 可以用来解决线段树存储历史状态的问题. 我们在进行单点修改后,线段树只有logn个(一 ...

  3. 初探 Python Flask+Jinja2 SSTI

    初探 Python Flask+Jinja2 SSTI 文章首发安全客:https://www.anquanke.com/post/id/226900 SSTI简介 SSTI主要是因为某些语言的框架中 ...

  4. WPF在圆上画出刻度线

    思路 我们可以使用Ellipse先画出一个圆当背景,然后用Canvas再叠加画上刻度线,就能得到如下的效果 我们先用Ellipse画一个橙色的圆,然后将Canvas的宽度和高度绑定到Ellipse的宽 ...

  5. Thread类中yield方法

    Yield方法可以暂停当前正在执行的线程对象,让其他有相同优先级的线程执行.它是一个静态方法而且只保证当前线程放弃CPU占用而不能保证其它线程一定能占用CPU,执行yield()的线程有可能在进入到暂 ...

  6. docker运行gerrit(代码审查工具)

    gerrit是什么? Gerrit,一种免费.开放源代码的代码审查软件,使用网页界面. gerrit背景 Gerrit,一种免费.开放源代码的代码审查软件,使用网页界面.利用网页浏览器,同一个团队的软 ...

  7. C#中的信号量---Semaphore

    emaphore是System.Threading下的类,限制可同时访问某一资源或资源池的线程数. 常用构造方法 https://msdn.microsoft.com/zh-cn/library/e1 ...

  8. QT怎样插入图片

    工具/原料   QT designer 方法/步骤   1 首先创建一个Manwindow窗口   拖一个label到窗口上   把文字去掉,然后把label放大   找到stylesheet一栏   ...

  9. 理解java调试的工作目录 working directory

    原文链接使用idea或者eclipse进行调试的时候会有Working directory配置: 我们创建工程,IDE会自动创建一个工程目录,假设工程名称为:TestProject,那么在会创建一个目 ...

  10. SpEL表达式注入漏洞学习和回显poc研究

    目录 前言 环境 基础学习和回显实验 语法基础 回显实验 BufferedReader Scanner SpEL漏洞复现 低版本SpringBoot中IllegalStateException CVE ...