kafka搭建到配置borker集群(项目开发-区块链)
(以下分享了搭建kafka需要使用到的命令,差不多齐了,这里没有提到kafka-manager ,同学可以在网上自行查找)
最近公司的项目比较紧,先说下使用kafka的用处:
要替代原来 撮合引擎发数据到交易所中,原来使用api方式,弊端:若一方出现宕机,则会发生数据丢失情况,为避免,这里开始搭建kafka消息分布式系统。
顶着小压力~开始研究学习,在一周时间之后,终于我的第一个集群分布式kafka搭建完成。
在这其中走了不少坑,在这里我把自己从开始过程到搭建完成的使用命令分享给大家,(欢迎指出错误~)
我用的环境是
mac系统 (unix)
php 7.2.1 (虽然没多大关系~)
------------------------- kafka 安装 -------------------------
安装kafka前需先安装jdk
yum install java
wget http://ftp.cuhk.edu.hk/pub/packages/apache.org/kafka/1.1.0/kafka_2.11-1.1.0.tgz
tar -xzf kafka_2.11-1.1.0.tgz
使用说明具体详见http://kafka.apache.org/quickstart
-------------------------编译安装kafka-------------------------
***********注意!!***********
若你是mac系统,请同样使用编译安装,尽量不用brew安装,原因:1,版本旧 2,个别配置与官网配置不一致,导致不能很好进行负载均衡。
*********************************
1 安装kafka
首先从官网获取安装包 (网址 http://kafka.apache.org/downloads)
这里目前选用kafka_2.11-1.1.1.tgz 版本
2 在src目录中解压,打开进入kafka_2.11-1.1.1文件
3 开始启动kafka,首先需要启动zookeeper(安装说明在下面)
tips:为方便快捷,需要将kafka中bin目录加载到环境变量中 打开~/.bash_profile
添加一条 export PATH=/Users/apple/src/kafka-2.11-1.1.1/bin:$PATH
保存退出,source ~/.bash_profile
开始命令:(每次开机都要启动)
(以下kafka中conf里面的配置文件都已copy到/usr/local/etc/kafka/目录下,方便管理 )
启动zookeeper系统
zookeeper-server-start.sh /usr/local/etc/kafka/zookeeper.properties
启动kafka系统
kafka-server-start.sh /usr/local/etc/kafka/server.properties
新建topic
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic zzyk
#--zookeeper是集群列表,可以指定所有节点,也可以指定为部分列表
#--replication-factor 为复制数目,数据会自动同步到其他broker上,防止某个broker宕机数据丢失
#--partitions 一个topic可以切分成多个partition,一个消费者可以消费多个partition,但一个partition只能被一个消费者消费
生产消息
kafka-console-producer.sh --broker-list localhost:9092 --topic new_topic
消费消息
kafka-console-consumer.sh --zookeeper localhost:2181 --from-beginning --topic new_topic
查看当前全部topic
kafka-topics.sh --list --zookeeper localhost:2181
查看当前主题详细信息
kafka-topics.sh --zookeeper 127.0.0.1:2181 --describe --topic new_topic
查看全部主题信息
kafka-topics.sh --describe --zookeeper localhost:2181
查看consumer group列表(新版命令)
kafka-consumer-groups.sh --new-consumer --bootstrap-server 127.0.0.1:9092 --list
查看consumer group列表(老命令)
kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --list
删除主题:
kafka-topics.sh --delete --zookeeper localhost:2181 --topic new_topic
若需要真正删除,去除mark
可以参考该同学博文(https://blog.csdn.net/fengzheku/article/details/50585972)
这里也分享下:
此时你若想真正删除它,可以如下操作:
(1)登录zookeeper客户端:命令:./bin/zookeeper-client
(2)找到topic所在的目录:ls /brokers/topics
(3)找到要删除的topic,执行命令:rmr /brokers/topics/【topic name】即可,此时topic被彻底删除。
另外被标记为marked for deletion的topic你可以在zookeeper客户端中通过命令获得:ls /admin/delete_topics/【topic name】,
如果你删除了此处的topic,那么marked for deletion 标记消失
删除 消费者组
kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --delete --group <group-name>
查看某个组中的topic信息
kafka-consumer-groups.sh --zookeeper 127.0.0.1:2181 --group 1 --describe
-------------------------搭建Kafka broker集群-------------------------
修改config/server.properties文件 复制此配置文件分别为server-1.properties,server-2.properties,server-3.properties
//准备三份用于启动kafka服务的配置
cp server.properties server-0.properties
cp server.properties server-1.properties
cp server.properties server-2.properties
三份配置中都要修改以下
broker.id=0(三个配置中分别修改为0,1,2)
port=9092(三个配置中分别修改为9092,9093,9094)
log.dirs=/tmp/kafka-logs-0(三个配置中分别修改为/tmp/kafka-logs-0,/tmp/kafka-logs-1,/tmp/kafka-logs-2)
num.partitions=3 (都设置为3,即每个topic默认三个partition)
配置完毕后,令开启三个终端 开启kafka
kafka-server-start.sh /usr/local/etc/kafka/server-1.properties
kafka-server-start.sh /usr/local/etc/kafka/server-2.properties
kafka-server-start.sh /usr/local/etc/kafka/server-3.properties
最后就可以在php中使用kafka了~~
安装zookeeper (若已经安装kafka,则其包内带有zookeeper在 src/kafka2.11-1.1.1/libs目录中 )
wget http://mirrors.cnnic.cn/apache/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz
tar zxvf zookeeper-3.4.6.tar.gz
cd zookeeper-3.4.6
cp -rf conf/zoo_sample.cfg conf/zoo.cfg
cd conf
vim zoo.cfg
修改zook.cfg里头的dataDir (数据路径这里配置路径为dataDir=/usr/local/var/lib/zookeeper)
重要kafka配置参数中文说明
http://debugo.com/kafka-params/
https://www.cnblogs.com/weixiuli/p/6413109.html
Kafka集群生产/消费的负载均衡(Rebalance)测试
https://blog.csdn.net/cjf_wei/article/details/57121845
--------------- kafka php客户端安装(php-rdkafka) --------------
1.安装 librdkafka
git clone https://github.com/edenhill/librdkafka
cd librdkafka
./configure
make
sudo make install
2.安装php-rdkafka
git clone https://github.com/arnaud-lb/php-rdkafka.git
cd php-rdkafka
phpize
./configure
make all -j 5
sudo make install
vi /usr/local/lib/php.ini
加入 extension=rdkafka.so
-------------------------为完成此文档,提交到公司手册中,花了不少时间,也希望大家多多指出其中不正确地方,不胜感激~-------------------------
人的一切痛苦,本质上都是对自己的无能的愤怒。
kafka搭建到配置borker集群(项目开发-区块链)的更多相关文章
- 在 Linux 服务器上搭建和配置 Hadoop 集群
实验条件:3台centos服务器,jdk版本1.8.0,Hadoop 版本2.8.0 注:hadoop安装和搭建过程中都是在用户lb的home目录下,master的主机名为host98,slave的主 ...
- Kafka server.properties配置,集群部署
server.properties中所有配置参数说明(解释) broker.id =0每一个broker在集群中的唯一表示,要求是正数.当该服务器的IP地址发生改变时,broker.id没有变化,则不 ...
- [转帖]kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
kafka入门:简介.使用场景.设计原理.主要配置及集群搭建 http://www.aboutyun.com/thread-9341-1-1.html 还没看完 感觉挺好的. 问题导读: 1.zook ...
- hadoop+yarn+hbase+storm+kafka+spark+zookeeper)高可用集群详细配置
配置 hadoop+yarn+hbase+storm+kafka+spark+zookeeper 高可用集群,同时安装相关组建:JDK,MySQL,Hive,Flume 文章目录 环境介绍 节点介绍 ...
- 搭建高可用mongodb集群(一)——配置mongodb
在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写.海量数据高效存储.高可扩展性和高可用性这些难题.不过就是因为这些问题Nosql诞生了. NOSQL有这些优势: 大数据量,可以通过 ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.7. 配置资源与参数
2.7.配置资源与参数 2.7.1. 修改主机名称 [root@linuxrac1 ~]# cd /etc/sysconfig [root@linuxrac1 sysconfig]# vi netwo ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.5. 配置网络
2.5. 配置网络 2.5.1. 配置网络 Oracle Rac数据库涉及到公用网络和私有网络,因此要做网络划分和IP地址规划,下表列出了要安装的RAC数据库对应的IP地址.主机名以及网络连接类型: ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:2.搭建环境-2.3配置共享磁盘
2.3.配置共享磁盘 2.3.1.创建共享磁盘 在cmd中进入WMware Workstation 10.0 安装目录: 1.创建存储Oracle Clusterware文件 (Oracle Clu ...
- 基于CentOS与VmwareStation10搭建Oracle11G RAC 64集群环境:4.安装Oracle RAC FAQ-4.6.重新配置与缷载11R2 Grid Infrastructure
1.[root@linuxrac1 ~]# /u01/app/oraInventory/orainstRoot.sh 2.[root@linuxrac2 ~]# /u01/app/oraInvento ...
随机推荐
- Mysql rpm安装
总结下mysql rpm安装的方式,与一些错误 环境[root@host2 ~]# uname -aLinux host2 2.6.32-504.3.3.el6.x86_64 #1 SMP Wed D ...
- 为什么懂云的IT高手能过得比你好
盼望着,盼望着,一年一度的国庆7天长假还有不到24小时就到来了.各个部门的同事都已准备好满世界旅行去了. IT 部门各位同事的心还是悬着,信息系统还要持续的运转,对外的网站不能停,假期的线上促销也不能 ...
- Python初学者第十四天 三元运算及文件处理2
14day 1.三元运算: 又称三目运算,是对简单的条件语句的简写 如简单条件语句: if a > b: n = a else: n = b print(n) 三目运算语句: n = a if ...
- 沉淀再出发:用python画各种图表
沉淀再出发:用python画各种图表 一.前言 最近需要用python来做一些统计和画图,因此做一些笔记. 二.python画各种图表 2.1.使用turtle来画图 import turtle as ...
- HTTP协议图--HTTP 协议报文结构
1.HTTP 报文 用于 HTTP 协议交互的信息被称为 HTTP 报文.请求端(客户端)的 HTTP 报文叫做请求报文:响应端(服务器端)的叫做响应报文.HTTP 报文本身是由多行(用 CR[car ...
- python接口测试:自动保存cookies
接口测试中遇到上一个请求返回响应包含cookie(如下图登录请求的响应结果).需将cookies保存下来,后续请求自动带入,否则会提示未登录. python requests的cookie类型是< ...
- Html5 移动应用软件开发框架 JqueryMobile SenchaTouch 介绍
一.JqueryMobile 介绍 jQuery Mobile 是 jQuery 在手机上和平板设备上的版本. jQuery Mobile 不仅会给主流移动平台带来 jQuery 核心库,而且会发布一 ...
- JavaScript权威指南第01章 JavaScript 概述
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/huangbin10025/article/details/27951767 JavaScript 概 ...
- WebUploader 图片上传控件使用范例
官网 http://fex.baidu.com/webuploader/getting-started.html 其实官网写的挺详细的,看官网也可以了. 引入资源 使用Web Uploader文件上 ...
- 1085. [SCOI2005]骑士精神【IDA※】
Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2 ...