当前位置:  首页>> 技术小册>> kafka入门到实战

一、安装JDK环境
1.1、下载jdk
jdk下载链接: http://www.jdkdownload.com/

1.2、上传jdk到linux
把下载好的jdk源码上传到/usr/local/java目录下

1.3、解压jdk
使用命令解压jdk的压缩包

  1. tar -zxvf jdk-8u181-linux-x64.tar.gz

1.4、配置环境变量
vim /etc/profile

  1. export JAVA_HOME=/usr/local/java/jdk1.8.0_181 #jdk安装目录
  2. export JRE_HOME=${JAVA_HOME}/jre
  3. export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
  4. export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
  5. export PATH=$PATH:${JAVA_PATH}

把上面几行配置到文件中

使用命令刷新文件

  1. source /etc/profile

1.5、测试jdk安装是否成功
使用命令

  1. java -version

出现版本即安装成功

二、安装Zookeper
2.1、下载安装包
zookeper下载链接: https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.9/

2.2、创建安装目录

  1. #创建安装目录
  2. mkdir -p /opt/zookeeper
  3. #移动到目录
  4. cd /opt/zookeepe

上传zookeeper安装包到服务器

解压缩

  1. tar -zxvf zookeeper-3.4.14.tar.gz

2.3、修改配置

  1. #移到配置目录
  2. cd /opt/zookeeper/zookeeper-3.4.14/conf/
  3. #复制配置文件
  4. cp zoo_sample.cfg zoo.cfg
  5. #修改及添加以下配置
  6. tickTime=2000
  7. initLimit=10
  8. syncLimit=5
  9. dataDir=/opt/zookeeper/zoodata
  10. dataLogDir=/opt/zookeeper/zoodatalog
  11. clientPort=2181
  12. server.0=127.0.0.1:2888:3888
  13. #多节点 集群
  14. #server.1=127.0.0.1:4888:5888
  15. #server.2=127.0.0.1:5888:6888

配置说明

  • tickTime:客户端会话超时时间,默认2000毫秒。

  • initLimit:配置客户端初始化可接受多少个心跳监测,默认10,即10*tickTime(默认2000),表示20s没有连接上集群的配置则连接失败。

  • syncLimit:配置Leader和follwer之间,允许多少个请求应答长度,默认5,即5*tickTime(默认2000),表示默认10sLeader和Follwer之间如果消息5次没有发送成功就不尝试了。

  • dataDir:配置存储快照文件的目录。

  • dataLogDir:配置事务日志存储的目录。

  • clientPort:服务默认端口,默认2181。

  • server.X=A:B:C 其中X是一个数字,表示这是第几号server,A是该server所在的IP地址,B配置该server和集群中的leader交换消息所使用的端口,C配置选举leader时所使用的端口。

2.4、创建节点的myid:

  1. #创建dataDir目录
  2. mkdir -p /opt/zookeeper/zoodata
  3. #移动到目录
  4. cd /opt/zookeeper/zoodata
  5. #把节点号写入myid文件(各个节点分别配置)
  6. echo 0 > myid
  7. #配置端口防火墙(各个节点分别配置)
  8. firewall-cmd --zone=public --add-port=2181/tcp --permanent
  9. firewall-cmd --reload

2.5、启动ZooKeeper

  1. #移到执行目录
  2. cd /opt/zookeeper/zookeeper-3.4.14/bin/
  3. #启动服务
  4. ./zkServer.sh start
  1. #重启
  2. ./zkServer.sh restart
  3. #关闭
  4. ./zkServer.sh stop
  5. #查看状态
  6. ./zkServer.sh staus
  7. #启动的时候,查看后台信息
  8. ./zkServer.sh start-foreground &

客户端链接

  1. ./zkCli.sh

基本操作

  1. #创建节点
  2. create /test test1
  3. #获取节点数据
  4. get /test
  5. #更新节点
  6. set /test test2
  7. #删除节点
  8. delete /test
  9. #递归删除数据,将子目录的数据也删除掉
  10. rmr /test
  11. #查看节点
  12. ls /
  13. #查看输入过的命令
  14. history

三、安装Kafka
3.1、下载kafka
kafka下载链接: https://kafka.apache.org/downloads

3.2、创建工作目录&启动

  1. #创建目录
  2. mkdir /opt/kafka
  3. cd /opt/kafka

上传kafka的压缩包到服务器。

解压并修改名称:

  1. tar -zxvf kafka_2.11-1.0.0.tgz
  2. mv kafka_2.11-1.0.0 kafka_2.11
  1. cd kafka_2.11
  2. #创个日志文件夹
  3. mkdir logs
  4. #修改配置文件
  5. cd /opt/kafka/kafka_2.11/config
  6. vim server.properties
  7. # broker.id属性在kafka集群中必须要是唯一
  8. broker.id=0
  9. # kafka部署的机器ip和提供服务的端口号,切勿设0.0.0.0可能报错
  10. listeners=PLAINTEXT://192.xxx.xx.xx:9092
  11. # kafka的消息存储文件
  12. log.dir=/usr/local/data/kafkalogs
  13. # kafka 连接 zookeeper 的地址
  14. zookeeper.connect=192.xxx.xx.xx:2181
  15. # 启动服务 , 运行的日志打印在 logs 目录里的server.log 里
  16. # 后台启动,不会打印日志到控制台
  17. 1bin/kafkaserverstart.sh daemon config/server.properties
  18. 2bin/kafka-server-start.sh config/server.properties &
  19. # 启动成功后,可以进入zookeeper 查看kafka节点
  20. bin/zk.Cli.sh
  21. ls /
  22. # 停止kafka
  23. bin/kafkaserverstop.sh

3.3、开启远程链接

  1. vim config/server.properties
  2. # 把下述配置注释
  3. listeners=PLAINTEXT://:127.0.0.1:9092
  4. # 配置下述内容
  5. advertised.listeners=PLAINTEXT://127.0.0.1:9092

3.4、创建和查看topic

  1. //创建
  2. ./bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test1
  3. //查看
  4. ./bin/kafka-topics.sh --list --zookeeper localhost:2181

用Kafka的console-producer在topic test1 生产消息
新开一个终端窗口:

  1. ./bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test1

用Kafka的console-consumer 消费topic test1的消息
新开一个shell窗口

  1. ./bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test1 --from-beginning

至此,我们的Kafka安装完成。


该分类下的相关小册推荐: