我们先弄清楚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. 关于stm32 HardFault_Handler 异常的处理 死机

    在系统开发的时候,出现了HardFault_Handler硬件异常,也就是死机,尤其是对于调用了os的一系统,程序量大,检测堆栈溢出,以及数组溢出等,找了半天发现什么都没有的情况下,估计想死的心都有了 ...

  2. nc基本操作&反弹shell

    一.nc简介 nc 被称为瑞士军刀netcat ,所做的就是在两台电脑之间建立链接,并返回两个数据流. 可运行在TCP或者UDP模式,添加参数 -u 则调整为UDP,默认为TCP 即可用在window ...

  3. noip 模拟 6

    果然考试一多就改不过来了 考试经过 上来看题,T1似乎是一个计数题,但看见1e9的数据范围就觉得不可做,拿了20部分分匆忙跑路 T2是个图论题,不过一看统计种类就发现是自己不会的东西,瞄准30分冲了一 ...

  4. docker部署mysql5-7-31

    快速开始 docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql docker-compo ...

  5. C#多线程---委托实现异步

    一.概述 通过调用ThreadPool的QueueUserWorkItem方法来来启动工作者线程非常方便,但委托WaitCallback指向的是带有一个参数的无返回值的方法. 如果我们实际操作中需要有 ...

  6. 12.SpringMVC之拦截器

    1.拦截器概述 1.1 什么是拦截器? Spring MVC中的拦截器(Interceptor)类似于Servlet中的过滤器(Filter),它主要用于拦截用户请求并作相应的处理.例如通过拦截器可以 ...

  7. list切片

    对list进行切片 取一个list的部分元素是非常常见的操作.比如,一个list如下: >>> L = ['Adam', 'Lisa', 'Bart', 'Paul'] 取前3个元素 ...

  8. 图解Java 垃圾回收机制

    摘要: Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区.关于对象 ...

  9. jQuery中的常用方法:empty()、each()、$.each()、$.trim()、focus()(二)

    <!DOCTYPE html> <html> <head> <title>02_commonMethod.html</title> < ...

  10. 一招解决下载或下拉GitHub项目速度太慢的问题

    相信很多朋友都有过这样的体验,就是从Github上下载或clone别人的项目时特别慢,甚至还会出现链接意外终止的情况,那么今天就来给大家分享一个提速的方法,步骤也非常简单,亲测有效! 首先进入你的目标 ...