kafka的安装及配置

1、下载地址

Apache Download Mirrors

下载命令:wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.4.0/kafka_2.13-2.4.0.tgz

2、解压

解压命令:tar –zxvf  kafka_2.13-2.4.0.tgz

移动: cp -R kafka_2.13-2.4.0 /zjl/program/

创建软链接: ln -s kafka_2.13-2.4.0/  /zjl/program/kafka

解压后可使用

配置zookeeper集群参见:

zookeeper安装配置 - pk.com.cn - 博客园
压后即可使用

二、配置kafka

1、配置server.properties

位置:  /kafka/config

默认配置 advertised.listeners=PLAINTEXT://your.host.name:9092

修改为 advertised.listeners=PLAINTEXT://ip:9092

例:advertised.listeners=PLAINTEXT://192.168.244.128:9092

  1. ip为服务器ip
  2. hostname和端口是用来建议给生产者和消费者使用的,如果没有设置,将会使用listeners的配置,如果listeners也没有配置,将使用java.net.InetAddress.getCanonicalHostName()来获取这个hostname和port,对于ipv4,基本就是localhost了。
  3. "PLAINTEXT"表示协议,可选的值有PLAINTEXT和SSL,hostname可以指定IP地址,也可以用"0.0.0.0"表示对所有的网络接口有效,如果hostname为空表示只对默认的网络接口有效。也就是说如果你没有配置advertised.listeners,就使用listeners的配置通告给消息的生产者和消费者,这个过程是在生产者和消费者获取源数据(metadata)。

主要注意三个配置:

  1. broker.id标识本机
  2. log.dirs是kafka接收消息存放路径
  3. zookeeper.connect指定连接的zookeeper集群地址

2、kafka集群计划

三台机器:192.168.244.128    192.168.244.130   192.168.244.131

修改server.properties文件,只修改三项,其他根据需要配置

192.168.244.128

broker.id=1
log.dirs=/zjl/program/kafka/datalogs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181

192.168.244.130

broker.id=2
log.dirs=/zjl/program/kafka/datalogs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181

192.168.244.131

broker.id=3
log.dirs=/zjl/program/kafka/datalogs/kafka-logs
zookeeper.connect=192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181

3、启动

三个节点分别执行:nohup ./kafka-server-start.sh -daemon ../config/server.properties &

启动时若报错java.net.UnknownHostException  XXX

命令查看:hostname  打印出本机hostname 我的机器是  zjlLinux1

修改文件 :vim /etc/hosts

添加内容  192.168.244.128  zjlLinux1  #ip是本机IP 后边是hostname

4、较验启动是否成功

  1. jps
  2. ps –ef|grep kafka

5、kafka-manager

下载地址:https://github.com/yahoo/kafka-manager/releases

https://github.com/yahoo/CMAK/releases

编译

tar -zxvf 1.3.3.17.tar.gz

cd kafka-manager-1.3.3.17/

./sbt clean dist

配置

在解压后的conf目录中打开 application.conf文件,修改其中的配置信息,最主要的内容为:kafka-manager.zkhosts="192.168.1.22:2181,192.168.1.23:2181,192.168.1.24:2181"  配置为Kafka的 zookeeper 服务器。你还可以通过环境变量ZK_HOSTS配置这个参数值。

启动

在解压的目录中,使用下面的命令启动Kafka-manager :    bin/kafka-manager

默认情况下端口为9000,你还可以通过下面的命令指定配置文件和端口: bin/kafka-manager -Dconfig.file=/path/to/application.conf -Dhttp.port=9000

启动后,从浏览器打开:http://[服务器IP]:9000/  就可以看到配置页面了

三、kafka基本命令操作

1、创建TOPIC

./kafka-topics.sh --create --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181  --replication-factor 3 --partitions 6 --topic kfk_test

2、列出创建的topic

./kafka-topics.sh --list --zookeeper 192.168.244.128:2181,192.168.244.130:2181,192.168.244.131:2181 

3、生成数据

注意这里的端口号是kafka的端口  9092

./kafka-console-producer.sh -broker-list 192.168.244.128:9092,192.168.244.130:9092,192.168.244.131:9092   --topic kfk_test

功连接后,可以看到如下输出:

image

从日志输出可以看到,客户端连接的是192.168.244.128:2181进程(连接上哪台机器的zk进程是随机的),客户端已成功连接上zk集群。

4、zookeeper指令

连接成功后,便可以使用命令与zk服务进行交互。

1、help

help命令会输出zk支持的所有命令。

复制代码

[zk: 127.0.0.1:2182(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit
    getAcl path
    close
    connect host:port

复制代码

2、ls

查看命令(niocoder是我测试集群创建的节点,默认只有zookeeper一个节点)

复制代码

[zk: localhost:2181(CONNECTED) 1] ls /
[niocoder, zookeeper]
[zk: localhost:2181(CONNECTED) 2] ls /zookeeper
[quota]
[zk: localhost:2181(CONNECTED) 4] ls /zookeeper/quota
[]

复制代码

3、create

创建一个节点,例如:

[zk: localhost:2181(CONNECTED) 3] create /zk mydata
Created /zk

以上命令创建一个/zk节点,且其内容为 “myData”

4、get

显示指定路径下节点的信息,例如,我们检查一下上面的/zk节点最否创建成功

复制代码

[zk: localhost:2181(CONNECTED) 4] get /zk
mydata
cZxid = 0xb59
ctime = Thu Jun 30 11:13:24 CST 2016
mZxid = 0xb59
mtime = Thu Jun 30 11:13:24 CST 2016
pZxid = 0xb59
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

复制代码

可以看到/zk节点的内容为”myData”,且输出包含了znode的其他信息。有关各个字段的具体含义,请参见了本博客对znode的介绍。

5、set

设置节点的内容,例如:

[zk: localhost:2181(CONNECTED) 6] set /zk "anotherData"
……
[zk: localhost:2181(CONNECTED) 7] get /zk
"anotherData"
……

6、delete

删除一个节点,例如:

[zk: localhost:2181(CONNECTED) 8] delete /zk
[zk: localhost:2181(CONNECTED) 9] get /zk
Node does not exist: /zk

以上就是zk客户端最常用的几个命令,从这几个命令我们也可以看到zk提供的API设计的简单。

7、四字母命令

ZooKeeper提供了多个由4个字母构成的命令,可以使用nc或者telnet来使用这些命令。例如:

telnet 127.0.0.1 2181
  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值