kafka集群安装及简单使用
关于kafka是什么及原理,请参考kafka官方文档的介绍:http://kafka.apache.org/documentation/#introduction ,英文不好的同学可以看这里http://ifeve.com/kafka-1/。
kafka依赖于zookeeper才能运行,而zookeeper运行需要jdk的支持,所以我们需要在linux系统上先行安装jdk和zookeeper。
本人使用的centos7系统,安装步骤如下:
1、jdk安装:
rpm -qa | grep jdk 查看jdk信息,如果已经安装了openjdk,先卸载,命令 yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7;
jdk下载地址 :http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载好linux对应版本的压缩包后通过xftp传入到centos中。
切换到压缩包所在目录,执行tar -zxvf jdk-8u152-linux-x64.tar.gz -C /usr/local/
配置环境变量,在/etc/profile文件最后加上:
export JAVA_HOME=/usr/local/jdk1.8.0_152
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
source /etc/profile 使配置文件生效
2、zookeeper安装:
下载zookeeper:http://mirrors.hust.edu.cn/apache/zookeeper/
下载好通过xftp传入到centos7中,放置在/opt/down/目录下
执行命令:tar -zxvf zookeeper-3.4.12.tar.gz -C /usr/local/
在zookeeper的conf目录下,将zoo_sample.cfg改名为zoo.cfg,cp zoo_sample.cfg zoo.cfg
zookeeper启动时会读取该文件作为默认配置文件。
启动(切换到安装目录的bin目录下):./zkServer.sh start
关闭(切换到安装目录的bin目录下):./zkServer.sh stop
3、kafka安装:
下载kafka2.0.0:http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz
下载好通过xftp传入到centos7中,放置在/opt/down/目录
执行命令:tar -zvxf kafka_2.11-2.0.0.tgz -C /usr/local
进入kafka目录,敲入命令 bin/kafka-server-start.sh config/server.properties &,启动kafka
这样我们就安装了一个单节点的kafka server,需要注意的是我们使用的默认配置,所以只能在本地访问,如果想配置允许客户端远程连接,可修改server.properties中的listeners和advertised.listeners,取消注释,并且加上kafka所在服务器的ip。

简单使用:
创建topic, bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic myFirstTopic
查看topic列表, bin/kafka-topics.sh --list --zookeeper localhost:2181
发送消息 ,bin/kafka-console-producer.sh --broker-list localhost:9092 --topic myFirstTopic
消费消息,在xshell另起一个窗口进入kafka目录,bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic myFirstTopic --from-beginning
搭建多节点集群:
我们已有1个kafka server 和1个zookeeper,所以再需要两个kafka server就可以搭建一个集群,由于在一个linux系统起三个同样的kafka节点,所以需要改一下配置文件
cp config/server.properties config/server-1.properties
cp config/server.properties config/server-2.properties
编辑两个properties如下:
config/server-.properties:
broker.id=
listeners=PLAINTEXT://:9093
log.dirs=/tmp/kafka-logs- config/server-.properties:
broker.id=
listeners=PLAINTEXT://:9094
log.dirs=/tmp/kafka-logs-
启动两个节点:bin/kafka-server-start.sh config/server-1.properties &,bin/kafka-server-start.sh config/server-2.properties &
创建一个新的topic,1个分区,3个节点,bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 1 --topic my-replicated-topic
查看刚才创建的topic,bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-replicated-topic

“Leader”,负责指定分区所有读取和写入的节点。每个节点将是一部分随机选择的分区中的领导者。“Replicas”是此分区日志的节点列表集合,不管这些节点是否是领导者或者只是还活着(不在in-sync状态)。“ISR”是一组”in-sync” 节点列表的集合。这个列表包括目前活着并跟leader保持同步的replicas,Isr 是Replicas的子集。请注意,在我的例子节点2是该主题的唯一分区中的leader。
查看myFirstTopic的详细信息:bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic myFirstTopic

可以看出myFirstTopic没有副本,只有我们创建它时只有唯一的节点0。
测试容错性,kill掉主节点2,再次查看my-replicated-topic

可以看出节点2挂掉后,节点1充当了新的leader。
kafka集群安装及简单使用的更多相关文章
- kafka集群安装部署
kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...
- zookeeper+kafka集群安装之二
zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...
- zookeeper+kafka集群安装之一
zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...
- zookeeper+kafka集群安装之中的一个
版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...
- KafKa集群安装详细步骤
最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...
- Kafka 集群安装
Kafka 集群安装 环境: Linux 7.X kafka_2.x 在linux操作系统中,kafka安装在 /u04/app目录中 1. 下载 # wget https://mirrors.cnn ...
- KafKa集群安装、配置
一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...
- Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装
Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...
- (Linux环境Kafka集群安装配置及常用命令
Linux环境Kafka集群安装配置及常用命令 Kafka 消息队列内部实现原理 Kafka架构 一.下载Kafka安装包 二.Kafka安装包的解压 三.设置环境变量 四.配置kafka文件 4.1 ...
随机推荐
- JavaBugCharSequence
目录 文章背景 目录 问题分析 问题解决 说明 参考文章 版本记录 文章背景 新建一个项目时候,不知道为什么,代码出现java.lang.CharSequence cannot be resolved ...
- thinkjs 框架图
- RobotFramework做接口自动化(post请求)
接口成功时返回: { "reCorde": "SUCCESS", "data": { ", "verify": ...
- 使用扩展方法重写.NET底层架构
我们在开发B/S架构的项目时,用到的都是.NET底层各种命名空间提供的操作类,利用扩展类可以重新写出一套真正属于你自己的框架. PS:扫描下方二维码或点击链接,加入QQ群
- Python【变量】
本文介绍 1.Python运算符 运算符分类 运算符分为:算数运算.比较运算.逻辑运算.赋值运算.成员运算.身份运算.位运算 一.算数运算:返回数字 假设变量a=10,b=20 运算符: + 相加a+ ...
- 快速排序 java实现 (原理-优化) 三路快排
一.基本的快速排序 在数组中选取一个元素为基点,然后想办法把这个基点元素移动到它在排好序后的最终位置,使得新数组中在这个基点之前的元素都小于这个基点,而之后的元素都大于这个基点,然后再对前后两部分数组 ...
- DCL实现多线程安全的高性能懒汉模式
DCL实现多线程安全的高性能懒汉模式 1.单线程安全的懒汉模式实现 源码: private static LazyLoad instance = null; public static LazyLoa ...
- AOP之 Filter实用
前言 开心一笑~~~ 一个年轻的程序员和一个项目经理登上了一列在山里行驶的火车,他们发现列车上几乎都坐满了,只有两个在一起的空位,这个空位的对面是一个老奶奶和一个年轻漂亮的姑娘.两个上前坐了下来.程序 ...
- Nginx+Apache动静分离
Nginx的静态处理能力很强,但是动态处理能力不足,因此,在企业中常用动静分离技术.动静分离技术其实是采用代理的方式,在server{}段中加入带正则匹配的location来指定匹配项 针对PHP的动 ...
- Hello QT(译)
简评:PySide2 是 QT 官方出品,值得期待 PySide2 第一个技术预览版快要发布了,在此给出一个简单的例子,来展示它将如何打开 Python世界的大门. 下面我们将使用 QWidgets ...