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 ...
随机推荐
- 在vue项目中使用less
1.安装 less 和 less-loader. 命令: npm install less less-loader --save-dev 2.打开 build/webpack.ba ...
- vue-router之路由元信息
路由元信息?(黑人问号脸???)是不是这么官方的解释很多人都会一脸懵?那么我们说meta,是不是很多人恍然大悟,因为在项目中用到或者看到过呢? 是的,路由元信息就是我们定义路由时配置的meta字段:那 ...
- 将CDH中的hive和hbase相互整合使用
一..hbase与hive的兼容版本: hive0.90与hbase0.92是兼容的,早期的hive版本与hbase0.89/0.90兼容,不需要自己编译. hive1.x与hbase0.98.x或则 ...
- JVM 调优 - JPS
Java命令学习系列(一)——Jps 2015-04-16 分类:Java 阅读(23993) 评论(7) 阿里大牛珍藏架构资料,点击链接免费获取 jps位于jdk的bin目录下,其作用是显示当前系统 ...
- 死磕 java同步系列之终结篇
简介 同步系列到此就结束了,本篇文章对同步系列做一个总结. 脑图 下面是关于同步系列的一份脑图,列举了主要的知识点和问题点,看过本系列文章的同学可以根据脑图自行回顾所学的内容,也可以作为面试前的准备. ...
- Eclipse利用Maven快速上手搭建MyBatis
一.what is maven? Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的项目管理工具软件. Maven 除了以程序构建能力为特色之外,还提供高级项目管理 ...
- layload.js的使用
网上有人反映说lazyload只是效果好看并没有实现真正的懒加载,在后台仍然是把页面上的所有图片下了一遍,只不过是先把图片隐藏并在窗口向下滚动时再逐一显示出来罢了.lazyloag3经测试这个问题已经 ...
- python爬虫——爬取B站用户在线人数
国庆期间想要统计一下bilibili网站的在线人数变化,写了一个简单的爬虫程序.主要是对https://api.bilibili.com/x/web-interface/online返回的参数进行分析 ...
- 【主动学习】Variational Adversarial Active Learning
本文记录了博主阅读ICCV2019一篇关于主动学习论文的笔记,第一篇博客,以后持续更新哈哈 论文题目:<Variational AdVersarial Active Learning> 原 ...
- HTML5 + WebGL 实现的垃圾分类系统
前言 垃圾分类,一般是指按一定规定或标准将垃圾分类储存.分类投放和分类搬运,从而转变成公共资源的一系列活动的总称.分类的目的是提高垃圾的资源价值和经济价值,力争物尽其用.垃圾在分类储存阶段属于公众的私 ...