kafka相关操作
kafka安装
下载
wget http://apache.gree.com/apache/kafka/1.0.2/kafka_2.11-1.0.2.tgz
tar -zxvf kafka_2.11-1.0.2.tgz -C /usr/local/
mv /usr/local/kafka_2.11-1.0.2 /usr/local/kafka
cd /usr/local/kafka/config/
vi server.properties
broker.id=0 这里的id每个kafka的id都是唯一的
host.name=10.2.xxx.xx 设置当前机器的IP
zookeeper.connect=10.2.xxx.xx:2181,10.2.xx.xxx:2181,10.2.xxx.xx:2181 设置zookeeper的地址
log.dirs=/tmp/kafka0-logs 设置日志地址,不同机器上的地址可能需要区别一下,避免broker启动不起来
其他节点配置类似
kafka指令
启动kafka
/usr/local/kafka/bin/kafka-server-start.sh --daemon /usr/local/kafka/config/server.properties 1>/dev/null 2>&1 &
添加--daemon让kafka在后台以守护进程的方式启动,不会自动停掉
创建topic,名为netSwitch ,分区数为3(--partition 3),总备份数为2(--replication-factor 2),备份数不可超过机器的数量,分区数可以大于机器的数量
/usr/local/kafka/bin/kafka-topics.sh --create --zookeeper HDP-master,HDP-slave1,HDP-slave2 --replication-factor 2 --partitions3 --topic netSwitch
kafka-topics --create --zookeeper HDP-master --replication-factor 2 --partitions3 --topic netSwitch
查看topic的描述
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper HDP-master,HDP-slave1,HDP-slave2 --topic netSwitch
Topic:netSwitch PartitionCount:3 ReplicationFactor:2
Topic:netSwitch Partition:0 Leader:2 Replicas: 2,0 Isr: 2,0
Topic:netSwitch Partition:1 Leader:0 Replicas: 0,1 Isr: 0,1
Topic:netSwitch Partition:2 Leader:1 Replicas: 1,2 Isr: 1,2
其中Leader表示数据所在节点,在其他节点上的数据为备份数据
列出所有topic
/usr/local/kafka/bin/kafka-topics.sh --list --zookeeper HDP-master,HDP-slave1,HDP-slave2
kafka的topic数据保存在之前配置的日志文件目录下(server.properties文件中log.dirs的值,默认为/tmp/kafka0-logs),如果要删除某个topic,需要删除日志目录下对应的文件夹
查看已注册到zookeeper中的broker个数
/usr/lcoal/zookeeper/bin/zkCli.sh 进入zookeeper命令行
ls /brokers/ids 列出已注册的brokers的id
out:[1,2] id为1,2的节点注册正常,0节点异常?
quit 退出zookeeper命令行
当部分broker注册异常时可尝试修改log.dirs的值为不同目录名 后 正常启动
修改topic的分区数
kafka-topics --alter --zookeeper 10.4.56.22:9013/kafka --topic eSafenet --partitions 4
修改topic的备份数(将已有数据进行重新 分布配置)
(1)查看topic的分区备份情况
/usr/local/kafka/bin/kafka-topics.sh --describe --zookeeper HDP-master,HDP-slave1,HDP-slave2 --topic netSwitch
Topic:netSwitch PartitionCount:3 ReplicationFactor:1
Topic:netSwitch Partition:0 Leader:2 Replicas: 2 Isr: 2
Topic:netSwitch Partition:1 Leader:0 Replicas: 0 Isr: 0
Topic:netSwitch Partition:2 Leader:1 Replicas: 1 Isr: 1
(2)根据分区备份信息,编辑新的配置
vi ./increase-replication-factor.json
{"version":1,
"partitions":[
{"topic":"netSwitch","partition":0,"replicas":[2,0]},
{"topic":"netSwitch","partition":1,"replicas":[0,1]},
{"topic":"netSwitch","partition":1,"replicas":[1,2]}
]}
kafka-reassign-partitions --zookeeper HDP-master --reassignment-json-file ./increase-replication-factor.json --execute
(3)查看重分配的执行情况
kafka-reassign-partitions --zookeeper HDP-master --reassignment-json-file ./increase-replication.json --verify
清空topic中的数据
kafka-topics --zookeeper HDP-master --delete --topic netSwitch
发送消息到broker (生产者)
/usr/local/bin/kafka-console-producer.sh --broker-list HDP-master:9092 --topic netSwitch
>this is the first hdp-master test message
>this is the second hdp-master test message
>three of it
^c ctrl+c 退出并发送消息
从broker消费消息 (消费者)
/usr/local/bin/kafka-console-consumer.sh --zookeeper HDP-master,HDP-salve1,HDP-slave2 --from-beginning --topic netSwitch
this is the first hdp-master test message
three of it
this is the second hdp-master test message
kafka-console-consumer --bootstrap-server 10.2.24.15:9092 --topic netSwitch
可以看出消费kafka的topic数据时,不一定是按顺序来的,因为这些数据在不同的partition分区,kafka只能保证同一分区上的数据是按顺序读取的,
可以通过某种方式,设置某一类型的数据被发送到同一分区。
kafka相关操作的更多相关文章
- kafka的相关操作脚本
总结最近用到的kafka相关命令和脚本. 1.创建Topic./kafka-topics.sh --zookeeper cc13-141:2182 --topic mytopic --replicat ...
- 简单封装kafka相关的api
一.针对于kafka版本 <dependency> <groupId>org.apache.kafka</groupId> <artifactId>ka ...
- Kafka学习笔记之Kafka自身操作日志的清理方法(非Topic数据)
0x00 概述 本文主要讲Kafka自身操作日志的清理方法(非Topic数据),Topic数据自己有对应的删除策略,请看这里. Kafka长时间运行过程中,在kafka/logs目录下产生了大量的ka ...
- Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作
Spark-读写HBase,SparkStreaming操作,Spark的HBase相关操作 1.sparkstreaming实时写入Hbase(saveAsNewAPIHadoopDataset方法 ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 从零自学Hadoop(21):HBase数据模型相关操作下
阅读目录 序 变量 数据模型操作 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
- 理解CSV文件以及ABAP中的相关操作
在很多ABAP开发中,我们使用CSV文件,有时候,关于CSV文件本身的一些问题使人迷惑.它仅仅是一种被逗号分割的文本文档吗? 让我们先来看看接下来可能要处理的几个相关组件的词汇的语义. Separat ...
- Liunx下的有关于tomcat的相关操作 && Liunx 常用指令
先记录以下liunx下的有关于tomcat的相关操作 查看tomcat进程: ps-ef|grep java (回车) 停止tomcat进程: kill -9 PID (进程号如77447) (回车) ...
- pip的相关操作
>Python中的pip是什么?能够做些什么? pip是Python中的一个进行包管理的东西,能够下载包.安装包.卸载包......一些列操作 >怎么查看pip的相关信息 在控制台输入: ...
随机推荐
- 转战物联网·基础篇09-选择MQTT协议还是CoAP协议
前面章节介绍过,MQTT协议和CoAP协议都是物联网中比较流行的协议,都对传输量做了很大的精简,传输开销小,以适应物理网的网络环境. XMPP协议也有人说是适合物联网通信的,但它是基于XML, ...
- Linux:Apache服务器的搭建
下载安装并启动apache服务 安装apache服务 yum install -y httpd 启动apache服务 systemctl start httpd.service apache服务器的目 ...
- React 修改获取state中的值
14===> 修改state中的值 不能够直接修改 state = { num: 10 } 如 this.state.num+=12; 不能够直接修改 错误 通过 this.setState({ ...
- centos7删除MariaDB怎么操作
有时我们要在centos上安装一些组件,需要先把原来的数据库删除,比如MariaDB,不然就出现冲突错误,那么如何删除数据库呢?首先查询所安装的MariaDB组件: [root@localhost l ...
- LeetCode 5129. 下降路径最小和 II Minimum Falling Path Sum II
地址 https://leetcode-cn.com/contest/biweekly-contest-15/problems/minimum-falling-path-sum-ii/ 题目描述给你一 ...
- 设计模式-Proxy(结构型模式)
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //Proxy.h #pragma once class Subject { public: virtual ~Subject ...
- 设计模式-Bridge(结构型模式)-用于客户需求较多,频繁对类进行添加修改的情形,将抽象类与具体实现类分开
以下代码来源: 设计模式精解-GoF 23种设计模式解析附C++实现源码 //AbstractionImp.h #pragma once class AbstractionImp { public: ...
- WPF 精修篇 page
原文:WPF 精修篇 page 前言 前段时间看UML 大象 这本书 虽然马上看到了精华片 最后还是暂时暂停 因为这本书 很好 但是暂时对现在的我来说 有点超前 很多东西理解起来还是很难 但是 这本书 ...
- 小程序-API请求
Page({ onLoad:function(){ // 在onLoad中调用发送请求的函数 this.getProList(); } getProList:function(){ var self= ...
- 基于Django的Rest Framework框架的视图组件
本文目录 一 基本视图 二 mixin类和generice类编写视图 三 使用generics 下ListCreateAPIView,RetrieveUpdateDestroyAPIView 四 使用 ...