我们先弄清楚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. 痞子衡嵌入式:i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是i.MXRT中不支持DQS的FlexSPI引脚组连接Flash下载与启动注意事项. 最近痞子衡在支持一个印度客户,这个客户项目主芯片选择 ...

  2. 进程之间的通信(multiprocess.Queue)

    一.进程间通信 进程之间的数据是相互隔离的,例如 from multiprocessing import Process def task(): global n # 声明全局变量 n = 999 p ...

  3. Spring系列之多个数据源配置

    前言 在上篇文章讲到了如何配置单数据源,但是在实际场景中,会有需要配置多个数据源的场景,比如说,我们在支付系统中,单笔操作(包含查询.插入.新增)中需要操作主库,在批量查询或者对账单查询等对实时性要求 ...

  4. NOIP 模拟 $12\; \text{简单的玄学}$

    题解 有些难度 对于 \(30pts\) 直接暴力 对于 \(70pts\) 发现规律 \(2^n-a\) 与 \(a\;\;(a\in [1,2^n))\) 分解质因数后,\(2\) 的次数相同 \ ...

  5. 软件研发中也有5S 管理?

    在精益生产中,价值流是贯穿生产全程的关键要素,标准化作业是实现生产线同步的关键工具,而生产现场的5S 管理则是管理一切生产要素的基础,所以我们将5S 称为精益的基础并不为过.5S 管理不仅可以应用到车 ...

  6. C++ 三数之和

    来自leecode做题时,发现的双指针用法,觉得挺有意思所以记录一下 链接:https://leetcode-cn.com/problems/3sum 题目: 给你一个包含 n 个整数的数组 nums ...

  7. C#多线程---线程池的工作者线程

    一.线程池简介 创建和销毁线程是一个要耗费大量时间的过程,太多的线程也会浪费内存资源,所以通过Thread类来创建过多的线程反而有损于性能,为了改善这样的问题 ,.net中就引入了线程池. 线程池形象 ...

  8. 互斥锁(Lock)

    转载至:https://www.cnblogs.com/dolphin0520/p/3923167.html 一.synchronized的缺陷 synchronized是java中的一个关键字,也就 ...

  9. Javascript - Vue - vuex

    vuex 这是一个与vue配套的公共数据管理工具,可以将一些需要共享的数据保存到vuex中,以此方便项目中的任何组件都可以从vuex中得到共享数据.cnpm i vuex -S 装包 读取数据 //在 ...

  10. JavaWeb学习总结——使用Session防止表单重复提交

    在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表单,我们在开发中必须防止表单重复提交. 一.表单重复提 ...