目录

  • 一、安装 JDK
    • 1.安装jdk
    • 2.配置环境变量
    • 3.执行profile文件:
  • 二、安装kafka
    • 1. 下载kafka
    • 2. 启动zookeeper
    • 3. 启动kafka
    • 4. 测试kafka
      • 1).创建 Topic
      • 2).查看 topic 列表
      • 3).查看描述 topics 信息
      • 4).启动生产者(窗口不要关闭)
      • 5).启动消费者(窗口不要关闭)
      • 6).在生产者窗口输入内容,消费者端可查看到输入的内容
        • (1).生产端:
        • (2).消费端:
      • 7).删除topic及数据
  • 三、kafka查看消费数据
    • 1.查看所有组
    • 2.查看消费情况
  • 三、kafka其它错误
  • 1【Kafka】.org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 291020532 larger than 104857600)
  • 2. org.apache.kafka.common.errors.RecordTooLargeException: The request included a message larger than the max message size the server will accept.
    • 1).首先是server.properties,加入在服务端的配置文件server.properties加上的message.max.bytes配置
    • 2). 要在配置kafka连接(在生产者端配置)时,加入配置max.request.size即可,如下
  • 3. kafka 出现Java heap space的解决方法
    • 1.前言
    • 2.解决方案
  • 四、kafka端口号修改
    • 1.zookeeper端口修改
    • 2.修改kafka的server.properties端口号,默认port没有写在文件中
    • 3.重启服务
    • 4.测试

一、安装 JDK

1.安装jdk

2.配置环境变量

vim /etc/profile


在最后面添加:

export JAVA_HOME=/app/jdk-12.0.2
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

3.执行profile文件:

source /etc/profile

这样可以使配置文件立即生效

二、安装kafka

1. 下载kafka

https://kafka.apache.org/downloads

2. 启动zookeeper

Kafka依赖于ZooKeeper,所以您需要先启动一个ZooKeeper服务器。如果没有安装,您可以使用随Kafka一起打包的便捷脚本来获取一个快速但是比较粗糙的单节点ZooKeeper实例。

  • zookeeper配置是 config目录下的zookeeper.properties,默认端口 2181
vim /data/kafka_2.12-2.8.0/config/zookeeper.properties
  • 启动命令:nohup /data/kafka_2.12-2.8.0/bin/zookeeper-server-start.sh /data/kafka_2.12-2.8.0/config/zookeeper.properties &,启动后可后台运行zookeeper
nohup /data/kafka_2.12-2.8.0/bin/zookeeper-server-start.sh   /data/kafka_2.12-2.8.0/config/zookeeper.properties &
  • 命令:ps -ef | grep zookeeper 查看zookeeper是否启动成功
#查看进程
ps -ef | grep zookeeper
#查看端口
lsof -i:2181
netstat -antp | grep 2181

  • 查看日志
tail -100f /data/kafka_2.12-2.8.0/logs/server.log

3. 启动kafka

  1. 在config目录下提供了kafka的配置文件server.properties。为了保证可以远程访问Kafka,我们需要修改两处配置。
vim /data/kafka_2.12-2.8.0/config/server.properties
# 去掉注释
listeners=PLAINTEXT://:9092
# 去掉注释并修改地址
advertised.listeners=PLAINTEXT://127.0.0.1:9092

  1. 启动Kafka:
nohup /data/kafka_2.12-2.8.0/bin/kafka-server-start.sh /data/kafka_2.12-2.8.0/config/server.properties   &
  1. 守护进程方式启动kafka:
/data/kafka_2.12-2.8.0/bin/kafka-server-start.sh -daemon /data/kafka_2.12-2.8.0/config/server.properties
  1. 命令:ps -ef | grep kafka 查看kafka是否启动成功
#查看进程
ps -ef | grep kafka
#查看端口
lsof -i:9092
netstat -antp | grep 9092

  1. 查看日志
tail -100f /data/kafka_2.12-2.8.0/logs/kafkaServer.out

4. 测试kafka

1).创建 Topic

/data/kafka_2.12-2.8.0/bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test

2).查看 topic 列表

 # 返回上面创建的 test
/data/kafka_2.12-2.8.0/bin/kafka-topics.sh --list --zookeeper localhost:2181

3).查看描述 topics 信息

/data/kafka_2.12-2.8.0/bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic test

4).启动生产者(窗口不要关闭)

/data/kafka_2.12-2.8.0/bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

5).启动消费者(窗口不要关闭)

/data/kafka_2.12-2.8.0/bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning

6).在生产者窗口输入内容,消费者端可查看到输入的内容

(1).生产端:

{"id":"1"}

(2).消费端:

7).删除topic及数据

/data/kafka_2.12-2.8.0/bin/kafka-run-class.sh kafka.admin.TopicCommand --delete --topic ProjectBaseInfo --zookeeper localhost:2181

三、kafka查看消费数据

1.查看所有组

要想查询消费数据,必须要指定组。那么线上运行的kafka有哪些组呢?使用以下命令:

/data/kafka_2.12-2.8.0/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --list

2.查看消费情况

/data/kafka_2.12-2.8.0/bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --describe --group test

参数解释:

  • –describe 显示详细信息
  • –bootstrap-server 指定kafka连接地址
  • –group 指定组。

注意: --group指定的组必须存在才行!可以用上面的–list命令来查看

TOPIC
PARTITION
CURRENT-OFFSET
LOG-END-OFFSET
LAG
CONSUMER-ID
HOST
CLIENT-ID
topic名字 分区id 当前已消费的条数 总条数 未消费的条数 消费id 主机ip 客户端id

三、kafka其它错误

1【Kafka】.org.apache.kafka.common.network.InvalidReceiveException: Invalid receive (size = 291020532 larger than 104857600)


将$KAFKA_HOME/config/server.properties文件中的socket.request.max.bytes值重置为超过数据包大小,然后重新启动kafka服务器。将socket.request.max.bytes翻倍。

vim /data/kafka_2.12-2.8.0/config/server.properties

2. org.apache.kafka.common.errors.RecordTooLargeException: The request included a message larger than the max message size the server will accept.

1).首先是server.properties,加入在服务端的配置文件server.properties加上的message.max.bytes配置

vim /data/kafka_2.12-2.8.0/config/server.properties
message.max.bytes=2073741824

对于已创建的topic,调整max.message.bytes参数方法:

/data/kafka_2.12-2.8.0/bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic test  --config max.message.bytes=2073741824

2). 要在配置kafka连接(在生产者端配置)时,加入配置max.request.size即可,如下

但是需要注意的是,在这里配置的值应该小于服务端配置的最大值,否则报如下错误

org.apache.kafka.common.errors.RecordTooLargeException: The request included a message larger than the max message size the server will accept.

max.request.size必须小于message.max.bytes

3. kafka 出现Java heap space的解决方法

1.前言

kafka是由scala和java编写的。所以需要调一些jvm的参数。java的内存分为堆内内存和堆外内存。

  • -Xms2048m, -Xmx2048m,设置的是堆内内存。-Xms是初始可用的最大堆内内存。-Xmx设置的是最大可用的堆内内存。二者设置成一样是因为效率问题,可以让jvm少做一些运算。如果这两个参数设置的太小,kafka会出现java.lang.OutOfMemoryError:
    Java heap space的错误。
  • -XX:MaxDirectMemorySize=5120m。这个参数配置的太小,kafka会出现java.lang.OutOfMemoryError:
    Direct buffer memory的错误。

-XX:MaxDirectMemorySize加大,该参数默认是64M,可以根据需求调大,
如果没找到,就在KAFKA_JVM_PERFORMANCE_OPTS添加,
并且检查JVM参数里面有无:-XX:+DisableExplicitGC,如果有就去掉。

因为kafka的网络IO使用了java的nio中的DirectMemory的方式,而这个申请的是堆外内存。

2.解决方案

bin目录下的kafka-run-class.sh中需要配置的参数,找到 Memory options处,默认设置是256M,将其修改为如下值:
修改前:

vim /data/kafka_2.12-2.8.0/bin/kafka-run-class.sh-Xms2048m  -Xmx2048m -XX:MaxDirectMemorySize=5120m

修改后:

四、kafka端口号修改

1.zookeeper端口修改

vim /data/kafka_2.12-2.8.0/config/zookeeper.propertiesclientPort=12182

2.修改kafka的server.properties端口号,默认port没有写在文件中

vim /data/kafka_2.12-2.8.0/config/server.properties
# 服务端口号,默认9092
port=9093
# 对应zk地址
zookeeper.connect=localhost:12182

3.重启服务

#启动服务zookeeper 服务端口默认2181
nohup /data/kafka_2.12-2.8.0/bin/zookeeper-server-start.sh   /data/kafka_2.12-2.8.0/config/zookeeper.properties &#启动服务kafka/data/kafka_2.12-2.8.0/bin/kafka-server-start.sh -daemon /data/kafka_2.12-2.8.0/config/server.properties

4.测试


centos7 Kafka安装相关推荐

  1. 学习笔记Kafka(四)—— Kafka安装配置(3)—— Kafka多代理配置及常用操作

    一.环境准备 Centos7, 1 CPU , 2G Memory ,20G Disk , Virtual System Hosts : node110, node111 , node112 全部配置 ...

  2. 学习笔记Kafka(三)—— Kafka安装配置(2)—— Kafka单代理及常用操作

    一.Linux环境准备 Centos7, 1 CPU , 2G Memory ,20G Disk , Virtual System JDK Zookeeper 二.Kafka 安装 下载Kafka安装 ...

  3. CentOS7下安装使用HBase

    目录 背景 数据结构 安装 启动hadoop.kafka.ZooKeeper 解压hbase压缩包 配置HBase 启动hbase 关闭hbase 进入hbase命令行 命令 创建表,指定列族 插入数 ...

  4. Linux基础环境搭建(CentOS7)- 安装Flume

    Linux基础环境搭建(CentOS7)- 安装Flume 大家注意以下的环境搭建版本号,如果版本不匹配有可能出现问题! Linux基础环境搭建(CentOS7)- 虚拟机准备 Linux基础环境搭建 ...

  5. CentOS7下安装Mesos教程

    基于centos7,安装mesos以及相关示例运行的教程. 转载请注明出处:https://blog.lzoro.com,谢谢~ Mesos简介 Mesos is built using the sa ...

  6. centos7 Kafka部署(单机版)

    centos7 Kafka部署(单机版) 一.概念: Kafka主要应用场景是:日志收集系统和消息系统. Kafka是最初由Linkedin公司开发,是一个分布式.分区的.多副本的.多订阅者,基于zo ...

  7. Centos7.4安装Nginx

    Centos7.4安装Nginx 使用yum命令 一.安装准备 首先由于nginx的一些模块依赖一些lib库,所以在安装nginx之前,必须先安装这些lib库,这些依赖库主要有g++.gcc.open ...

  8. Centos7下安装Docker

    Centos7下安装Docker(详细的新手装逼教程) 参考: https://www.cnblogs.com/qgc1995/archive/2018/08/29/9553572.html 早就听说 ...

  9. Centos7.4安装kvm虚拟机(使用virt-manager管理)

    2019独角兽企业重金招聘Python工程师标准>>> Centos7.4安装kvm虚拟机(使用virt-manager管理) 之前介绍了使用WebVirtMgr或Openstack ...

最新文章

  1. Win2000域控制器+Exchange2000迁移至Win2003域控制器+Exchange2003
  2. c# Dictionary的遍历和排序
  3. HDU 1556 前缀和 树状数组 线段树
  4. php7-internal 7.7 zval的操作
  5. 集群状态正常时需要的jps进程+是否需要部署到各个节点(持续更新中)
  6. IT人员看待和预防癌症十大建议
  7. 好爸爸陪宝宝必做的50件小事儿
  8. 单片机c语言 一小时,1小时单片机C语言入门..doc
  9. bom成本分析模型_BOM成本核算实例
  10. 对接饿了么 获取授权
  11. 微信开发平台和微信公众平台绑定
  12. 安装监控的地方没有WiFi,没有无线网络,如何实现远程监控?
  13. 谈一谈APP支付失败的处理
  14. 12对胸椎对应体表标志_腰椎的体表标志_第一至第五腰椎怎么定位相应体表标志怎么对应_中国武警总医院...
  15. Ajax清晰请求步骤与代码
  16. 泡泡一分钟:BLVD: Building A Large-scale 5D Semantics Benchmark for Autonomous Driving
  17. 仓储管理之计价方法——个别计价法
  18. MT7621_基础篇(1) 芯片资料了解 一
  19. 记录-汶川地震 20080512
  20. 【华为交换机配置命令大全】

热门文章

  1. 推荐电影:朴赞郁的《老男孩》
  2. Qt学习笔记(二)【软件样式及界面外观设置】
  3. c语言鸡兔同笼(二)
  4. 隐函数存在定理3的证明Jacobi_20160503
  5. 什么是dB?为什么要用dB?dB家族成员有哪些?
  6. 国内最火的内存数据库,110000 QPS 没有之一!
  7. VBA禁止更改工作表名称
  8. C++计算带利息存款
  9. 视频打赏/付费视频引流吸粉/定时弹窗广告+自带视频+支付接口+自适应设计/带安装教程
  10. AMD显卡安装Caffe|深度学习|Ubuntu