Kafka集群的安装和部署
一、Kafka的下载与解压
http://kafka.apache.org/downloads.html下载kafka_2.11-1.1.1.tgz.gz并解压到/home/jun下
[jun@master ~]$ cd kafka_2.-1.1./
[jun@master kafka_2.-1.1.]$ ls -l
total
drwxr-xr-x. jun jun Jul : bin
drwxr-xr-x. jun jun Jul : config
drwxr-xr-x. jun jun Jul : libs
-rw-r--r--. jun jun Jul : LICENSE
-rw-r--r--. jun jun Jul : NOTICE
drwxr-xr-x. jun jun Jul : site-docs
二、配置Kafka集群
1.在Master节点上的配置
配置server.properties
[jun@master kafka_2.-1.1.]$ gedit /home/jun/kafka_2.-1.1./config/server.properties
(1)在Server Basics部分增加下面的配置:将master作为broker,其id采用了默认的0
############################# Server Basics ############################# # The id of the broker. This must be set to a unique integer for each broker.
broker.id=
host.name=master
listeners=PLAINTEXT://master:9092
(2)在Zookeeper部分增加下面的配置,Zookeeper作为协调器,它连接的节点包括了集群的所有计算机。
############################# Zookeeper ############################# # Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=master:,slave0:,slave1: # Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=
将Kafka文件复制Slave节点
[jun@master kafka_2.-1.1.]$ scp -r /home/jun/kafka_2.-1.1./ slave0:~/
[jun@master kafka_2.-1.1.]$ scp -r /home/jun/kafka_2.-1.1./ slave1:~/
2.在Slave节点上的配置
同理,将slave0的broker.id设置为1,host.name=slave0,listeners=PLAINTEXT://slave0:9092;将slave1的broker.id设置为2,host.name=slave1,listeners=PLAINTEXT://slave1:9092即可。
三、Kafka的应用
1.启动Kafka自带的Zookeeper服务
首先查看当前系统进程列表
[jun@master ~]$ jps
Jps [jun@slave0 ~]$ jps
Jps [jun@slave1 ~]$ jps
Jps
启动Kafka自带的Zookeeper服务
[jun@master kafka_2.-1.1.]$ bin/zookeeper-server-start.sh config/zookeeper.properties
[jun@slave0 kafka_2.11-1.1.1]$ bin/zookeeper-server-start.sh config/zookeeper.properties
[jun@slave1 kafka_2.11-1.1.1]$ bin/zookeeper-server-start.sh config/zookeeper.properties
另开一个终端,查看此时的系统进程,此时QuorumPeerMain就是Zookeeper服务器进程
[jun@master kafka_2.-1.1.]$ jps
Jps
QuorumPeerMain [jun@slave0 kafka_2.-1.1.]$ jps
Jps
QuorumPeerMain [jun@slave1 kafka_2.-1.1.]$ jps
QuorumPeerMain
Jps
2.启动Kafka服务
[jun@master kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
[jun@slave0 kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
[jun@slave1 kafka_2.-1.1.]$ bin/kafka-server-start.sh config/server.properties
另开一个终端,查看此时的系统进程,此时的Kafka就是Kafka的服务器进程
[jun@master kafka_2.-1.1.]$ jps
Jps
Kafka
QuorumPeerMain [jun@slave0 kafka_2.-1.1.]$ jps
Kafka
QuorumPeerMain
Jps [jun@slave1 kafka_2.-1.1.]$ jps
QuorumPeerMain
Kafka
Jps
3.创建主题
· 主题(Topic)是消息中间件的基本概念,相当于文件系统的目录,其实就是用于保存消息内容的计算实体,通过主题名加以标识,就如同目录通过目录名标识一样。
(1)在master节点上创建一个名称为“test”的主题
[jun@master kafka_2.-1.1.]$ bin/kafka-topics.sh --create -zookeeper master: --replication-factor --partitions --topic test
Created topic "test".
(2)查看已经创建的消息主题,同样,在其他Slave结点上执行该命令也可以查看到创建的主题
[jun@master kafka_2.-1.1.]$ bin/kafka-topics.sh --list --zookeeper master:
test
4.发送消息
消息中间件是一个用于接收消息并转发消息的服务,为了检验Kafka是否能够正常工作,需要创建一个消息生产者(producer)、利用它产生消息
[jun@master kafka_2.-1.1.]$ bin/kafka-console-producer.sh --broker-list master: --topic test
>say hi
[-- ::,] WARN [Producer clientId=console-producer] Error while fetching metadata with correlation id : {myfinaltest=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
>hi
>you
>cnm
>
5.接收消息
在一个新终端上执行如下的命令,可以看到接收到了producer发送的消息
[jun@slave0 kafka_2.-1.1.]$ bin/kafka-console-consumer.sh --bootstrap-server slave0: --topic test--from-beginning
say hi
hi
you
cnm [jun@slave1 kafka_2.-1.1.]$ bin/kafka-console-consumer.sh --bootstrap-server slave0: --topic test--from-beginning
say hi
hi
you
cnm
Kafka集群的安装和部署的更多相关文章
- 一脸懵逼学习KafKa集群的安装搭建--(一种高吞吐量的分布式发布订阅消息系统)
kafka的前言知识: :Kafka是什么? 在流式计算中,Kafka一般用来缓存数据,Storm通过消费Kafka的数据进行计算.kafka是一个生产-消费模型. Producer:生产者,只负责数 ...
- kafka集群监控之kafka-manager部署(kafka-manager的进程为:ProdServerStart)
kafka集群监控之kafka-manager部署(ProdServerStart) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 雅虎官网GitHub项目:https://git ...
- 即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破?
即将上线的Kafka 集群(用CM部署的)无法使用“--bootstrap-server”进行消费,怎么破? 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.报错:org.a ...
- kafka集群管理工具kafka-manager部署安装
一.kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager.这个管理工具可以很 ...
- zookeeper+kafka集群的安装部署
准备工作 上传 zookeeper-3.4.6.tar.gz.scala-2.11.4.tgz.kafka_2.9.2-0.8.1.1.tgz.slf4j-1.7.6.zip 至/usr/local目 ...
- Kafka集群的安装和使用
Kafka是一种高吞吐量的分布式发布订阅的消息队列系统,原本开发自LinkedIn,用作LinkedIn的活动流(ActivityStream)和运营数据处理管道(Pipeline)的基础.现在它已被 ...
- Kafka集群模式安装(二)
我们来安装Kafka的集群模式,三台机器: 192.168.131.128 192.168.131.130 192.168.131.131 Kafka集群需要依赖zookeeper,所以需要先安装好z ...
- zookeeper+kafka集群的安装
时效性要求很高的数据,库存,采取的是数据库+缓存双写的技术方案,也解决了双写的一致性的问题 缓存数据生产服务,监听一个消息队列,然后数据源服务(商品信息管理服务)发生了数据变更之后,就将数据变更的消息 ...
- Ubuntu 18 Kubernetes集群的安装和部署 以及Helm的安装
首先说一下我的环境, 我是在windows 10 上面建了一个ubuntu18的虚拟机,同时由于某些原因 不受网络限制, 所以安装比较顺利. Install 1.安装并启用 Docker sudo ...
随机推荐
- 解决AndroidKiller APK 反编译失败,无法继续下一步源码反编译!
报错背景 今天使用AndroidKiller V1.3.1,反编译一个APK,遇到如下报错: 当前 Apktool 使用版本:Android Killer Default APKTOOL 正在反编译 ...
- Spring MVC-从零开始-@RequestMapping 注解value属性
1.@RequestMapping 注解可以在控制器类的级别和/或其中的方法的级别上使用. 2.直接在方法上使用@RequestMapping package com.jt; import org.s ...
- grep、正则表达式
1.grep :文本搜索工具 -i:忽略大小写--color:匹配到的内容高亮显示-v:显示没有被模式匹配到的行-o:只显示被模式匹配到的字符串-n:显示匹配到行的行号-E:使用扩展正则表达式-A:后 ...
- MVC4 Jqgrid设计与实现
项目本来使用的是webgrid.后台弃用改成Jqgrid插件. 首先介绍一下webgrid的用法:webgrid是mvc中HtmlHelper自带的.首先创建viewmodel用于数据的绑定,然后在页 ...
- 05-pandas索引切片读取数据缺失数据处理
引入 numpy已经能够帮助我们处理数据,能够结合matplotlib解决我们数据分析的问题,那么pandas学习的目的在什么地方呢? numpy能够帮我们处理处理数值型数据,但是这还不够 很多时候, ...
- MongoDB 学习笔记之 删除数据,集合,数据库
删除数据,集合,数据库: 删除一个文档: db.media.deleteOne({"name": "Sky"}) 删除多个文档: db.media.delete ...
- iOS性能优化-异步绘制
参考地址:https://blog.ibireme.com/2015/11/12/smooth_user_interfaces_for_ios/ 很久以前就看过这篇文章,但是也只是看过就过了,没有去整 ...
- JDBC访问数据库的基本步骤
加载驱动 通过DriverManager对象获取连接对象Connection 通过连接对象获取会话 通过会话进行数据的增删改查,封装对象 关闭资源
- React+后端实现导出Excle表格的功能
最近在做一个基于React+antd前端框架的Excel导出功能,我主要在后端做了处理,根据以下步骤,可以很容易就实现导出Excel表格数据的功能. 在做这类导出文件的功能,其实,在后端进行处理,会更 ...
- IMongoQuery的使用-C#
一.Mongodb的IMongoQuery的使用 引用命名空间:MongoDB.Driver;MongoDB.Driver.Builders; Query.All("name", ...