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 ...
随机推荐
- go 学习笔记之10 分钟简要理解 go 语言闭包技术
闭包是主流编程语言中的一种通用技术,常常和函数式编程进行强强联合,本文主要是介绍 Go 语言中什么是闭包以及怎么理解闭包. 如果读者对于 Go 语言的闭包还不是特别清楚的话,可以参考上一篇文章 go ...
- Spring boot 官网学习笔记 - Configuration Class(@import)
推荐使用 Java-based configuration ,也可以使用xml we generally recommend that your primary source be a single ...
- Vue2.0+ElementUI实现表格翻页的实例
参考地址: https://www.cnblogs.com/zhouyifeng/p/7706815.html
- 对vue nextTick深入理解-vue性能优化、DOM更新时机、事件循环机制
一.定义[nextTick.事件循环] nextTick的由来: 由于VUE的数据驱动视图更新,是异步的,即修改数据的当下,视图不会立刻更新,而是等同一事件循环中的所有数据变化完成之后,再统一进行视图 ...
- MongoDB的全文索引
Table of Contents 背景 如何使用 准备工作:插入数据 建立全局索引 查询结果 使用中存在哪些问题? 英文存在停止词 中文无法采用全文索引 前面了解了多种索引方式,比如单键索引,多 ...
- [Vjudge][POJ][Tony100K]搜索基础练习 - 全题解
目录 POJ 1426 POJ 1321 POJ 2718 POJ 3414 POJ 1416 POJ 2362 POJ 3126 POJ 3009 个人整了一些搜索的简单题目,大家可以clone来练 ...
- Jetpack系列:应用内导航的正确使用方法
今天小编要分享的还是Android Jetpack库的基本使用方法,本篇介绍的内容是Jetpack Navigation组件,让我们一起学习,为完成年初制定的计划而努力吧! *** 组件介绍 导航,是 ...
- Vue.js实战学习笔记(中)
1.递归组件给组件设置name属性,组件就可以在它的模板内调用自己,但必须给一个条件来限制递归数量.<div id="app"> <child-component ...
- latex转word公式 java (latextoword,latex_word,latex2word,latex_omml)
latex_word 主要目的: 给大家分享一个我的原创作品:latex转为word公式(omml)工具 [java] 此工具主要用于将含有latex公式的文本下载成word时,将latex转 ...
- Drill 学习笔记之 入门体验
简介: Apache Drill是一个低延迟的分布式海量数据(涵盖结构化.半结构化以及嵌套数据)交互式查询引擎.分布式.无模式(schema-free) 是Google Dremel的开源实现,本质是 ...