centos7安装kafka 转
CentOS7安装和使用kafka
环境准备
安装kafka之前我们需要做一些环境的准备
1、centOS7系统环境
2、jdk环境
3、可用的zookeeper集群服务
安装jdk
安装Kafka
从官网下载Kafka 安装包,解压安装:
tar zxvf kafka_2.11-2.0.0.tgz
mv kafka_2.11-2.0.0.tgz
cd kafka
解压好既安装完成。
安装zookeeper服务
方案一使用kafka自带的kafka
适用于测试等小型场景或者单点kafka
使用kafka安装包中的脚本启动单节点Zookeeper 实例:
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties
方案二独立安装zookeeper服务
最灵活的方式,适用于单点和多节点kafka
下载ZooKeeper
要在您的计算机上安装ZooKeeper框架,请访问以下链接并下载最新版本的ZooKeeper。
http://zookeeper.apache.org/releases.html
现在,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。
提取tar文件
使用以下命令提取tar文件
$ cd opt/
$ tar -zxf zookeeper-3.4.6.tar.gz
$ cd zookeeper-3.4.6
$ mkdir data
创建配置文件
使用命令vi conf/zoo.cfg 打开名为 conf/zoo.cfg 的配置文件,并将所有以下参数设置为起点。
$ vi conf/zoo.cfg
tickTime=2000
dataDir=/path/to/zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
一旦配置文件成功保存并再次返回终端,您可以启动zookeeper服务器。
启动ZooKeeper服务器
$ bin/zkServer.sh start
执行此命令后,您将得到如下所示的响应 -
$ JMX enabled by default
$ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
$ Starting zookeeper ... STARTED
启动CLI进入操作命令界面
$ bin/zkCli.sh
输入上面的命令后,您将被连接到zookeeper服务器,并将获得以下响应。
Connecting to localhost:2181
................
................
................
Welcome to ZooKeeper!
................
................
WATCHER::
WatchedEvent state:SyncConnected type: None path:null
[zk: localhost:2181(CONNECTED) 0]
停止Zookeeper服务器
连接服务器并执行所有操作后,可以使用以下命令停止zookeeper服务器 -
$ bin/zkServer.sh stop
成功安装ZooKeeper。
##方案三使用hadoop集群cdh等套件中的zookeeper
如果已经有hadoop集群,一般都已经有zookeeper集群服务了。
例如zookeeper集群服务ip如下:
192.168.11.90:2181
192.168.11.91:2181
192.168.11.92:2181
kafka可以直接配置使用。
如下:
配置zookeeper
config/server.properties是kafka安装目录中的配置文件
vim config/server.properties
里面的 zookeeper.connect
修改为:
zookeeper.connect=192.168.11.90:2181,192.168.11.91:2181,192.168.11.92:2181
使用kafka
启动服务器
通过以下命令来启动服务器
$ bin/kafka-server-start.sh config/server.properties
服务器启动后,您会在屏幕上看到以下响应:
$ bin/kafka-server-start.sh config/server.properties
INFO KafkaConfig values:
request.timeout.ms = 30000
log.roll.hours = 168
inter.broker.protocol.version = 0.9.0.X
log.preallocate = false
security.inter.broker.protocol = PLAINTEXT
....
创建topic
使用kafka-topics.sh 创建单分区单副本的topic test:
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
查看topic:
bin/kafka-topics.sh --list --zookeeper localhost:2181
test
或者 使用ip创建
bin/kafka-topics.sh --create --zookeeper 192.168.11.90:2181/kafka100 --topic topic-test3 --replication-factor 2 --partitions 4 --config key=value
生产消息
使用kafka-console-producer.sh 发送消息:
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test
然后输入想要发送的消息例如
>Hello world!
>Hello Kafka!
消费消息
使用kafka-console-consumer.sh 接收消息并在终端打印:
老版本的kafka使用如下命令消费
bin/kafka-console-consumer.sh --zookeeper 192.168.11.90:2181 --topic test --from-beginning
新版本kafka使用如下消费(注意端口)
bin/kafka-console-consumer.sh --bootstrap-server 192.168.11.90:9092 --topic test --from-beginning
输出如下:
可能遇到的问题–zookeeper is not a recognized option
原因
对于消费者,kafka中有两个设置的地方:对于老版本的消费者,由–zookeeper参数设置;对于新版本的消费者,由–bootstrap-server参数设置
如果使用了–zookeeper参数,那么consumer的信息将会存放在zk之中
查看的方法是使用bin/zookeeper-client,然后
ls /consumers/[group_id]/offsets/[topic]/[broker_id-part_id]
这个是查看某个group_id的某个topic的offset
如果使用了–bootstrap-server参数,那么consumer的信息将会存放在kafka之中
《Kafka权威指南》中是这样描述的
停止服务器
执行所有操作后,可以使用以下命令停止服务器
$ bin/kafka-server-stop.sh config/server.properties
集群配置
单机多broker 集群配置
利用单节点部署多个broker。 不同的broker 设置不同的id,监听端口及日志目录。 例如:
cp config/server.properties config/server-1.properties
编辑配置:
config/server-1.properties:
broker.id=1
port=9093
log.dir=/tmp/kafka-logs-1
启动Kafka服务:
bin/kafka-server-start.sh config/server-1.properties &
启动多个服务,按上文类似方式产生和消费消息。序号1对应增加。
多机多broker 集群配置
分别在多个节点按上述方式安装Kafka,配置启动多个Zookeeper 实例。 例如: 在192.168.11.90,192.168.11.91,192.168.11.92三台机器部署,Zookeeper配置如下:
initLimit=5
syncLimit=2
server.1=192.168.11.90:2888:3888
server.2=192.168.11.91:2888:3888
server.3=192.168.11.92:2888:3888
分别配置多个机器上的Kafka服务 设置不同的broke id,zookeeper.connect设置如下:
zookeeper.connect=192.168.11.90:2181,192.168.11.91:2181,192.168.11.92:2181
转载请注明出处 :CentOS7安装和使用kafka
参考链接:
http://kafka.apache.org/quickstart
https://www.w3cschool.cn/apache_kafka/apache_kafka_installation_steps.html
https://www.mtyun.com/library/how-to-install-kafka-on-centos7
centos7安装kafka 转的更多相关文章
- CentOS7 安装kafka集群
1. 环境准备 JDK1.8 ZooKeeper集群(参见本人博文) Scala2.12(如果需要做scala开发的话,安装方法参见本人博文) 本次安装的kafka和zookeeper集群在同一套物理 ...
- centos7 安装kafka Manager
1.安装sbt编译环境 curl https://bintray.com/sbt/rpm/rpm |tee /etc/yum.repos.d/bintray-sbt-rpm.repo yum inst ...
- CentOS7 安装Kafka
关闭防火墙 systemctl stop firewalld.service systemctl disable firewalld.service 安装JDK yum install -y http ...
- centos7安装kafka
1.官网或 wget 下载 kafka_2.12-2.2.0.tgz 二进制代码包 cd /home/tar wget http://mirror.bit.edu.cn/apache/kafka/2. ...
- centOS7安装kafka和zookeeper
wget http://mirrors.hust.edu.cn/apache/kafka/2.0.0/kafka_2.11-2.0.0.tgz tar zxvf kafka_2.-.tgz cd ka ...
- CentOS7安装CDH 第九章:CDH中安装Kafka
相关文章链接 CentOS7安装CDH 第一章:CentOS7系统安装 CentOS7安装CDH 第二章:CentOS7各个软件安装和启动 CentOS7安装CDH 第三章:CDH中的问题和解决方法 ...
- Centos7.5安装kafka集群
Tags: kafka Centos7.5安装kafka集群 Centos7.5安装kafka集群 主机环境 软件环境 主机规划 主机安装前准备 安装jdk1.8 安装zookeeper 安装kafk ...
- Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装
Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...
- centos7单机安装kafka,进行生产者消费者测试
[转载请注明]: 原文出处:https://www.cnblogs.com/jstarseven/p/11364852.html 作者:jstarseven 码字挺辛苦的..... 一.k ...
随机推荐
- tcp建立连接为什么需要三次握手和四次挥手
前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文. 三次握手 在<计算机网络 ...
- 第3课 - 启航Lua之路
第3课 - 启航Lua之路 1. Lua中的变量 (1)变量:全局变量和局部变量 — Lua中支持全局变量和局部变量的概念 全局变量:直接定义变量名,并复制 a = 1; -- 用 ; 结束当前语 ...
- [LeetCode]66. 加一(数组)
###题目 给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一. 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字. 你可以假设除了整数 0 之外,这个整数不会以零开头. 示例 ...
- java identityHashCode 和 hashCode
当类并没有重写Object#hashCode()时, 对于 System.identityHashCode(Object) 和 Object#hashCode() 的结果是一致的; 但对于类似Stri ...
- @JsonCreator自定义反序列化函数-JSON框架Jackson精解第5篇
Jackson是Spring Boot(SpringBoot)默认的JSON数据处理框架,但是其并不依赖于任何的Spring 库.有的小伙伴以为Jackson只能在Spring框架内使用,其实不是的, ...
- dubbo学习(七)dubbo项目搭建--生产者(服务提供者)
PS: 项目架子以及工程间的maven依赖配置暂时省略,后续看情况可能会单独写一篇文章捋捋框架结构,先马克~ 配置和启动 1.pom文件引入dubbo和zookeeper的操作客户端 <!-- ...
- pandas 使用技巧
多列展示 查看DataFrame时,列数较多会省略中间列的信息,可以设置最大展示列数,代码如下: 1 import pandas as pd 2 pd.set_option('display.max_ ...
- 使用deeplabv3+训练自己数据集(迁移学习)
概述 在前边一篇文章,我们讲了如何复现论文代码,使用pascal voc 2012数据集进行训练和验证,具体内容可以参考<deeplab v3+在pascal_voc 2012数据集上进行训练& ...
- 用ThreadLocal来优化下代码吧
最近接手了一个老项目,看到一个很有意思的现象. 这个项目中大量的方法入参都会带上user信息,比如这样 它的意图是希望在方法内使用user的信息,但是如此大范围的传递用户信息,第一感觉就是不优雅.那有 ...
- Django新手图文入门教程
版权所有,转载需注明来源! 本文是广受大家欢迎的<Django1.10新手图文入门教程>的2.1版本升级篇,原1.10版本传送门点击我 本文面向有一些的Python基础,但刚接触web框架 ...