Apache kafka v1.0.0 部署文档
简介:
Apache Kafka 是一个 Scala 语言编写的可扩展、分布式、高性能的容错消息发布、订阅系统。
中文教程:http://www.orchome.com/kafka/index
下载地址:http://mirror.bit.edu.cn/apache/kafka/1.0.0/kafka_2.11-1.0.0.tgz ( Scala 2.11 is recommended )
Java版本:jdk-8u111-linux-x64.rpm
一、单机部署
shell > vim /etc/hosts 192.168.10.23 zk-node01 kb-node01 # 必须配置,否则无法启动 shell > rpm -ivh jdk-8u111-linux-x64.rpm shell > java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) -Bit Server VM (build 25.111-b14, mixed mode) shell > cd /usr/local/src; tar zxf kafka_2.-1.0..tgz -C /usr/local shell > cd /usr/local/kafka_2.-1.0.
1、zookeeper
shell > vim config/zookeeper.properties # 数据目录
dataDir=/data/zookeeper_data
# 监听端口
clientPort=
# 最大连接数 不限制
maxClientCnxns= shell > sh bin/zookeeper-server-start.sh -daemon config/zookeeper.properties # 启动 zookeeper
2、kafka
shell > vim config/server.properties # 唯一ID
broker.id=
# 监听地址
listeners=PLAINTEXT://0.0.0.0:9092
# 向 Zookeeper 注册的地址,这里如果需要同时内外网访问需要注册 hostname,否则只能注册外网IP地址,会导致所有流量都走外网
advertised.listeners=PLAINTEXT://kb-node01:9092
# 数据目录
log.dirs=/data/kafka_data
# 允许删除topic
delete.topic.enable=true
# 不允许自动创建topic
auto.create.topics.enable=false
# 磁盘IO不足的时候,可以适当调大该值 ( 当内存足够时 )
#log.flush.interval.messages=
#log.flush.interval.ms=
# kafka 数据保留时间 默认 -> 天
log.retention.hours=
# zookeeper
zookeeper.connect=zk-node01: # 其余都使用默认配置 # 这样配置,外网访问 kafka 时,需要配置 hosts ( IP kb-node01 ) 否则提示主机名未知! shell > sh bin/kafka-server-start.sh -daemon config/server.properties # 启动 kafka
二、kafka 指令
1、topic
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --create --topic kafka-test --partitions --replication-factor
Created topic "kafka-test". shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --list
kafka-test
# 创建一个 topic kafka-test,它有一个分区、一个副本
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --describe --topic kafka-test
Topic:kafka-test PartitionCount: ReplicationFactor: Configs:
Topic: kafka-test Partition: Leader: Replicas: Isr:
# 查看这个 topic 的属性,总共一个分区,一个副本;当前分区为 0,leader 为 broker.id=1 的 broker,
# 副本所在 broker,活跃的 broker ( 需要同步副本的broker )
2、consumer
shell > sh bin/kafka-console-consumer.sh --bootstrap-server kb-node01: --topic kafka-test --from-beginning
# 启动一个消费者,消费 kafka-test 这个 topic,从头读取
3、producer
shell > sh bin/kafka-console-producer.sh --broker-list kb-node01: --topic kafka-test
> hello world
# 重启一个终端,启动一个生产者,输入 hello world,这是消费者终端会看到消息 hello world
4、alter topic
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --alter --topic kafka-test --partitions shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --describe --topic kafka-test
Topic:kafka-test PartitionCount: ReplicationFactor: Configs:
Topic: kafka-test Partition: Leader: Replicas: Isr:
Topic: kafka-test Partition: Leader: Replicas: Isr:
# 这样就将 topic kafka-test 的分区修改成了 2 个
5、delete topic
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --delete --topic kafka-test shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --list
__consumer_offsets
# 这样就删除了 topic kafka-test了,__consumer_offsets 这个 topic 为系统自动生成,用来存放消费者 offset 信息的。
三、伪分布式部署
shell > sh bin/kafka-server-stop.sh
# 停止原来的 kafka 不停也行...
shell > cp config/server.properties config/server-.properties
shell > cp config/server.properties config/server-.properties
shell > cp config/server.properties config/server-.properties
# 没办法,强迫症
shell > vim config/server-.properties broker.id=
listeners=PLAINTEXT://0.0.0.0:9091
advertised.listeners=PLAINTEXT://kb-node01:9091
log.dirs=/data/kafka_data- shell > vim config/server-.properties broker.id=
listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://kb-node01:9092
log.dirs=/data/kafka_data- shell > vim config/server-.properties broker.id=
listeners=PLAINTEXT://0.0.0.0:9093
advertised.listeners=PLAINTEXT://kb-node01:9093
log.dirs=/data/kafka_data-
# 这几项不能重复 注意:防火墙要开启相应的端口
shell > sh bin/kafka-server-start.sh -daemon config/server-.properties
shell > sh bin/kafka-server-start.sh -daemon config/server-.properties
shell > sh bin/kafka-server-start.sh -daemon config/server-.properties
# 启动这些 broker
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --create --topic kafka-all --partitions --replication-factor
Created topic "kafka-all". shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --list
__consumer_offsets
kafka-all
# 新创建的 topic
shell > sh bin/kafka-topics.sh --zookeeper zk-node01: --describe --topic kafka-all
Topic:kafka-all PartitionCount: ReplicationFactor: Configs:
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
Topic: kafka-all Partition: Leader: Replicas: ,, Isr: ,,
# 一个 6 分区、3 副本的 topic 诞生了,0 分区的 leader 是 3,
# 副本分布在 3、1、2 上,活跃的 broker 为 3、1、2 ( 需要同步副本的broker )
shell > sh bin/kafka-console-producer.sh --broker-list kb-node01:,kb-node01: --topic kafka-all
> hello kafka-all
# 启动一个生产者,注意:只写了两个 broker 向 kafka-all topic 中发送了一条消息
shell > sh bin/kafka-console-consumer.sh --bootstrap-server kb-node01: --topic kafka-all --from-beginning
hello kafka-all
# 启动一个消费者,注意:只写了生产者没填写的 broker,还是消费到了消息
# 说明:broker 不需要全部填写,会自动发现,即使有机器宕机数据也不会丢失!
# 注意:集群部署时,zookeeper 要么为 1,要么为 3,不要是两台,否则其中一台宕机,集群则无法提供服务!
# 部署 zookeeper 集群请参照其余博文。
Apache kafka v1.0.0 部署文档的更多相关文章
- zabbix3.0安装部署文档
zabbix v3.0安装部署 摘要: 本文的安装过程摘自http://www.ttlsa.com/以及http://b.lifec-inc.com ,和站长凉白开的<ZABBIX从入门到精通v ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- kafka单机部署文档
单机Kafka部署文档 最简单的使用方式,单机,使用自带的zookeeper 1.解压 下载地址:http://pan.baidu.com/s/1i4K2pXr tar –zxvf kafka_2.1 ...
- NGINX Ingress控制器1.0.0升级迁移文档(翻译)
Ingress 是什么 Ingress 是对k8s集群中服务的外部访问进行管理的 API 对象,典型的访问方式是 HTTP. Ingress 可以提供负载均衡.SSL 终结和基于名称的虚拟托管. 最近 ...
- Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探
Android BLE与终端通信(五)--Google API BLE4.0低功耗蓝牙文档解读之案例初探 算下来很久没有写BLE的博文了,上家的技术都快忘记了,所以赶紧读了一遍Google的API顺便 ...
- 基于WPF系统框架设计(5)-Ribbon整合Avalondock 2.0实现多文档界面设计(二)
AvalonDock 是一个.NET库,用于在停靠模式布局(docking)中排列一系列WPF/WinForm控件.最新发布的版本原生支持MVVM框架.Aero Snap特效并具有更好的性能. Ava ...
- confluence6.0.3安装文档
一.Atlassian Confluence 6.0.3安装文档包含内容 1.wiki的安装步骤: 2.旧系统迁移中碰到的无法编辑和问题和解决方案: 3.wiki源码安装包.连接mysql用的jar包 ...
- HP DL160 Gen9服务器集群部署文档
HP DL160 Gen9服务器集群部署文档 硬件配置=======================================================Server Memo ...
- Hadoop 部署文档
Hadoop 部署文档 1 先决条件 2 下载二进制文件 3 修改配置文件 3.1 core-site.xml 3.2 hdfs-site.xml 3.3 mapred-site.xml 3.4 ya ...
- Flink 部署文档
Flink 部署文档 1 先决条件 2 下载 Flink 二进制文件 3 配置 Flink 3.1 flink-conf.yaml 3.2 slaves 4 将配置好的 Flink 分发到其他节点 5 ...
随机推荐
- Android应用程序如何调用shell脚本(一)
转自: Android应用程序如何调用shell脚本(一) 一般来说, Android 下的应用程序可以“直接”得到的最大的权限为 system ,但是如果我们需要在程序中执行某些需要 root 权限 ...
- lwip调试记录
1. lwip在调用tcp_write后不会立即发送数据,而会等到tcp_slow_tmr中再发送.如需立即发送,可以在tcp_write后调用tcp_output.lwip的这种处理方式对连续调用t ...
- BASIC-8_蓝桥杯_回文数
示例代码: #include <stdio.h> int main(void){ int i = 0 ; int a = 0 , b = 0 , c = 0 , d = 0 ; for ( ...
- 小峰servlet/jsp(4)EL表达式
一.EL表达式内置对象: 二.EL表达式访问4种范围属性: 寻找值的顺序: page-->request-->session-->application; 三.EL表达式接收请求参数 ...
- OS信号实现Java异步通知
OS信号实现Java异步通知本文将结合操作系统的信号机制,来尝试实现一个简单的,不依赖功能环境的Java异步通知功能.没有特殊说明,本文所有的示例,都是基于Linux.信号简介信号是在软件层次上对中断 ...
- VMware新建虚拟机
VMware作为一个非常便捷的虚拟机软件,学会简单的使用方法,对试验非常有帮助. 1. 打开VM,选择“创建新的虚拟机” 2. 选择典型: 3. 选择稍后选择安装源: 4. 选择Linux,并选择Li ...
- tomcat 加载顺序 web.xml文件详解
一. 1.启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点. 2.紧急着,容创建一个Se ...
- oracle查看处理过程
通过函数可以查看数据库的执行过程
- Leetcode 之Simplify Path @ python
Given an absolute path for a file (Unix-style), simplify it. For example,path = "/home/", ...
- Linux中make, make install命令分别是什么
用于linux源码安装软件,一般下载源码包得到文件:xxxx.tgz====================================1.解包软件 tar zxf xxxx.tgz======= ...