kafka系列一、kafka安装及部署、集群搭建
一、环境准备
操作系统:Cent OS 7
Kafka版本:kafka_2.10
Kafka官网下载:请点击
JDK版本:1.8.0_171
- zookeeper-3.4.10
二、kafka安装配置
1、下载Kafka并解压
下载:
curl -L -O http://mirrors.cnnic.cn/apache/kafka/0.9.0.0/kafka_2.11-2.0.1.tgz
解压:
tar zxvf kafka_2.11-2.0.1.tgz
2、Kafka目录介绍
/bin 操作kafka的可执行脚本,还包含windows下脚本
/config 配置文件所在目录
/libs 依赖库目录
/logs 日志数据目录,目录kafka把server端日志分为5种类型,分为:server,request,state,log-cleaner,controller
3、配置
配置zookeeper进入kafka安装工程根目录编辑config/server.properties
kafka最为重要三个配置依次为:broker.id、log.dir、zookeeper.connect,
其他kafka server端config/server.properties参数说明和解释如下:
4、启动Kafka
启动
进入kafka目录,敲入命令
bin/kafka-server-start.sh config/server.properties &
检测2181与9092端口
netstat -tunlp|egrep "(2181|9092)"
tcp ::: :::* LISTEN /java
tcp ::: :::* LISTEN /java
说明: Kafka的进程ID为28094,占用端口为9092 QuorumPeerMain为对应的zookeeper实例,进程ID为19787,在2181端口监听
5、单机连通性测试
启动2个XSHELL客户端,一个用于生产者发送消息,一个用于消费者接受消息。
运行producer,随机敲入几个字符,相当于把这个敲入的字符消息发送给队列。
bin/kafka-console-producer.sh --broker-list 192.168.1.105: --topic test
说明:早版本的Kafka,–broker-list 192.168.1.181:9092需改为–zookeeper 192.168.1.181:2181
运行consumer,可以看到刚才发送的消息列表。
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.105: --topic test --from-beginning
说明:早版本的Kafka,--bootstrap-server 192.168.1.181:9092需改为–zookeeper 192.168.1.181:2181
注意:
producer,指定的Socket(192.168.1.181+9092),说明生产者的消息要发往kafka,也即是broker
consumer, 指定的Socket(192.168.1.181+2181),说明消费者的消息来自zookeeper(协调转发)
上面的只是一个单个的broker,下面我们来实验一个多broker的集群。
三、集群搭建
一、copy /kafka_2.11-2.0.1/config/server.properties文件修改以下三个地方(zk地址相同)
broker.id=
listeners=PLAINTEXT://192.168.1.105:9092
zookeeper.connect=192.168.1.105:2181
二、启动zk、启动三个kafka
bin/kafka-server-start.sh ../config/server.properties &
三、集群测试
1、在broke1创建topic
bin/kafka-topics.sh --create --zookeeper 192.168.1.105: --replication-factor --partitions --topic test4
2、broke2和broke3主机上利用命令行工具创建一个consumer程序
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.106:9092 --topic test4 --from-beginning
bin/kafka-console-consumer.sh --bootstrap-server 192.168.1.107:9092 --topic test4 --from-beginning
3、在broke1主机上利用命令行工具创建一个producer程序
bin/kafka-console-producer.sh --broker-list localhost: --topic test4
4、broke1输入11、broke2和broke3同时收到11

四、Kafka常用命令
(1)启动kafka
nohup bin/kafka-server-start.sh config/server.properties > /dev/null 2>&1 &
(2)查看topic
bin/kafka-topics.sh --list --zookeeper localhost:2181
(3)控制台消费
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic middleware --from-beginning
(4)创建生产者
bin/kafka-console-producer.sh --broker-list localhost: --topic test
(5)删除topic
- 删除kafka存储目录(server.properties文件log.dirs配置,默认为"/tmp/kafka-logs")相关topic目录
- 如果配置了delete.topic.enable=true直接通过命令删除,如果命令删除不掉,直接通过zookeeper-client 删除掉"/brokers/topics/"目录下相关topic节点。
注意: 如果你要删除一个topic并且重建,那么必须重新启动kafka,否则新建的topic在zookeeper的/brokers/topics/test-topic/目录下没有partitions这个目录,也就是没有分区信息。
kafka系列一、kafka安装及部署、集群搭建的更多相关文章
- kafka系列二:多节点分布式集群搭建
上一篇分享了单节点伪分布式集群搭建方法,本篇来分享一下多节点分布式集群搭建方法.多节点分布式集群结构如下图所示: 为了方便查阅,本篇将和上一篇一样从零开始一步一步进行集群搭建. 一.安装Jdk 具体安 ...
- kubernetes(K8S)快速安装与配置集群搭建图文教程
kubernetes(K8S)快速安装与配置集群搭建图文教程 作者: admin 分类: K8S 发布时间: 2018-09-16 12:20 Kubernetes是什么? 首先,它是一个全新的基于容 ...
- helm安装redis+Sentinel集群搭建
一.redis集群特点 数据 在多个Redis节点之间自动分片 sentinel特点: 它的主要功能有以下几点 不时地监控redis是否按照预期良好地运行; 如果发现某个redis节点运行出现状况,能 ...
- redis系列之4----redis高级应用(集群搭建、集群分区原理、集群操作)
文章主目录 Redis集群简介 Redis集群搭建 Redis集群分区原理 集群操作 参考文档 本文是redis学习系列的第四篇,前面我们学习了redis的数据结构和一些高级特性,点击下面链接可回看 ...
- zookeeper的安装与部署-集群
1.Zookeeper的下载与解压 通过后面的链接下载Zookeeper: Zookeeper下载在此我们下载zookeeper-3.4.5下载后解压至安装目录下,本文我们解压到目录:/ ...
- DataStage 六、安装和部署集群环境
DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...
- 架构(三)MongoDB安装配置以及集群搭建
一 安装 1.1 下载MongoDB 我个人不太喜欢用wget url, 之前出现过wget下载的包有问题的情况 https://fastdl.mongodb.org/linux/mongodb-li ...
- Hadoop系列(一):Hadoop集群搭建
环境:CentOS 7 JDK: 1.7.0_80 hadoop:2.8.5 两台机器:master(192.168.56.101) slave(192.168.56.102) 配置基础环境 1. ...
- Mac MySQL 8.0 (免安装版) 主从集群搭建
一.下载解压包 打开 MySQL 官网地址:https://dev.mysql.com/downloads/mysql/ ,选择面安装版本. 二.解压文件 下载到合适文件夹,解压压缩包. 解压 mys ...
- Hadoop3集群搭建之——虚拟机安装
现在做的项目是个大数据报表系统,刚开始的时候,负责做Java方面的接口(项目前端为独立的Java web 系统,后端也是Java web的系统,前后端系统通过接口传输数据),后来领导觉得大家需要多元化 ...
随机推荐
- 冬令营前的一些计划&记录
冬令营前的一些计划&记录 计划 yyb发现自己很多以前学过的东西完完全全不记得了,所以在接下来的时间里可能会留下多篇复习向的博客,当然也可能因为觉得没有必要复习而到处乱做题. 现在先大概归类一 ...
- 洛谷 P1053 音乐会的等待 解题报告
P1823 音乐会的等待 题目描述 \(N\)个人正在排队进入一个音乐会.人们等得很无聊,于是他们开始转来转去,想在队伍里寻找自己的熟人.队列中任意两个人\(A\)和\(B\),如果他们是相邻或他们之 ...
- Python异步IO
在IO操作的过程中,当前线程被挂起,而其他需要CPU执行的代码就无法被当前线程执行了. 我们可以使用多线程或者多进程来并发执行代码,为多个用户服务. 但是,一旦线程数量过多,CPU的时间就花在线程切换 ...
- A1103. Integer Factorization
The K-P factorization of a positive integer N is to write N as the sum of the P-th power of K positi ...
- 试着用c写了一个多线程的同步
在Java中写多线程相关的程序简单很多,在多线程中需要同步的时候,使用synchronized就行了. 最近学习c的多线程与同步,感觉实现起来,要写的代码比较多一些,这也许是因为java封装的比较好吧 ...
- Kafka+Log4j2日志
默认你已经安装配置了Zookeeper和Kafka. 为了目录清晰,我的Kafka配置文件的Zookeeper部分是:加上了节点用来存放Kafka信息 启动Zookeeper,然后启动Kafka. Z ...
- Failed to load because no supported source was found
Uncaught (in promise) DOMException: Failed to load because no supported source was found? 等待解决:
- elasticsearch 动态模板设置
自定义动态映射 如果你想在运行时增加新的字段,你可能会启用动态映射.然而,有时候,动态映射 规则 可能不太智能.幸运的是,我们可以通过设置去自定义这些规则,以便更好的适用于你的数据. 日期检测 当 E ...
- 过时date.toLocaleString()的解决方法
System.out.println(new java.util.Date()); 输出:Thu Jan 27 14:43:28 CST 2011 System.out.println(new jav ...
- Omnibus test
sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程) https://study.163.com/course/introduction.htm?courseId=1005269003&a ...