鲲鹏麒麟安装Kafka-v1.1.1

因项目需要在鲲鹏麒麟服务器上安装Kafka v1.1.1,因此这里将安装配置过程记录下来。

环境说明

# 查看系统相关详细信息
[root@test kafka_2.12-1.1.1]# uname -a
Linux test.novalocal 4.19.148+ #1 SMP Mon Oct 5 22:04:46 EDT 2020 aarch64 aarch64 aarch64 GNU/Linux
# 查看操作系统版本信息
[root@test kafka_2.12-1.1.1]# cat /etc/kylin-release 
Kylin Linux Advanced Server release V10 (Tercel)
# 查看逻辑CPU数量
[root@test kafka_2.12-1.1.1]# cat /proc/cpuinfo| grep "processor"| wc -l
32
# 查看CPU信息
[root@test kafka_2.12-1.1.1]# lscpu
Architecture:                    aarch64
CPU op-mode(s):                  64-bit
Byte Order:                      Little Endian
CPU(s):                          32
On-line CPU(s) list:             0-31
Thread(s) per core:              1
Core(s) per socket:              16
Socket(s):                       2
NUMA node(s):                    2
Vendor ID:                       HiSilicon
Model:                           0
Model name:                      Kunpeng-920
Stepping:                        0x1
CPU max MHz:                     2400.0000
CPU min MHz:                     2400.0000
BogoMIPS:                        200.00
L1d cache:                       2 MiB
L1i cache:                       2 MiB
L2 cache:                        16 MiB
L3 cache:                        64 MiB
NUMA node0 CPU(s):               0-15
NUMA node1 CPU(s):               16-31
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Spec store bypass: Not affected
Vulnerability Spectre v1:        Mitigation; __user pointer sanitization
Vulnerability Spectre v2:        Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected
Flags:                           fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm jscvt fcma dcpop asimddp asimdfhm
# 查看Java的版本信息
[root@test kafka_2.12-1.1.1]# java -version
openjdk version "1.8.0_242"
OpenJDK Runtime Environment (build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM (build 25.242-b08, mixed mode)

下载

从apache官网下载相应的版本信息,地址:https://kafka.apache.org/downloads,找到1.1.1版本下载即可,这里下载kafka_2.12-1.1.1.tgz,下载地址:https://archive.apache.org/dist/kafka/1.1.1/kafka_2.12-1.1.1.tgz
这里的版本号有两段,前一段为Scala的版本号,后一段为Kafka的版本,现在最新版本已经到3.X,这里用1.1.1,主要是项目特殊需要,建议还是用高版本的。

Scala 2.11 和 Scala 2.12 是 Scala 编程语言的两个主要版本,它们之间存在一些关键的区别
1. 性能优化Scala 2.12 在性能方面做了很多优化,特别是在 JVM 上。它引入了值类(Value Classes)的改进,减少了运行时的开销。Scala 2.11 的性能相对较低,但它的优化主要集中在稳定性和兼容性上。
2. 字符串插值Scala 2.12 引入了新的字符串插值语法,使用 s 前缀,例如 s"Hello, $name"。Scala 2.11 使用的是旧的字符串插值语法,使用 #{},例如 "Hello, #{name}"。
3. 隐式转换Scala 2.12 对隐式转换进行了一些改进,使其更加安全和易于理解。Scala 2.11 的隐式转换机制相对较为复杂,容易引起混淆。
4. 模块化Scala 2.12 引入了模块化系统,允许开发者将代码分割成多个模块,便于管理和维护。Scala 2.11 没有模块化系统,所有代码都放在一个项目中。
5. 兼容性Scala 2.12 相对于 Scala 2.11 有一些不兼容的更改,特别是在 API 和库的使用上。因此,从 Scala 2.11 迁移到 Scala 2.12 可能需要一些工作。Scala 2.11 是一个长期支持(LTS)版本,这意味着它将获得更长时间的支持和维护。
6. 社区支持Scala 2.12 是目前的主流版本,得到了广泛的社区支持和库的更新。Scala 2.11 虽然仍然在使用,但社区支持逐渐减少。
总结如果你正在开发一个新的项目,建议使用 Scala 2.12 或更高版本,以获得更好的性能和更多的功能。如果你正在维护一个现有的 Scala 2.11 项目,可以考虑在适当的时候迁移到 Scala 2.12,但需要注意兼容性问题。

部署

1、解压文件执行
tar -zxvf kafka_2.12-1.1.1.tgz
2、解压后路径为
[root@test kafka_2.12-1.1.1]# pwd
/data/public/kafka/kafka_2.12-1.1.1
3、修改config/server.properties,注意修改listeners和advertised.listeners即可

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#    http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.# see kafka.server.KafkaConfig for additional details and defaults############################# Server Basics ############################## The id of the broker. This must be set to a unique integer for each broker.
broker.id=0############################# Socket Server Settings ############################## The address the socket server listens on. It will get the value returned from 
# java.net.InetAddress.getCanonicalHostName() if not configured.
#   FORMAT:
#     listeners = listener_name://host_name:port
#   EXAMPLE:
#     listeners = PLAINTEXT://your.host.name:9092
listeners=PLAINTEXT://192.138.31.100:9092# Hostname and port the broker will advertise to producers and consumers. If not set, 
# it uses the value for "listeners" if configured.  Otherwise, it will use the value
# returned from java.net.InetAddress.getCanonicalHostName().
advertised.listeners=PLAINTEXT://192.138.31.100:9092# Maps listener names to security protocols, the default is for them to be the same. See the config documentation for more details
#listener.security.protocol.map=PLAINTEXT:PLAINTEXT,SSL:SSL,SASL_PLAINTEXT:SASL_PLAINTEXT,SASL_SSL:SASL_SSL# The number of threads that the server uses for receiving requests from the network and sending responses to the network
num.network.threads=3# The number of threads that the server uses for processing requests, which may include disk I/O
num.io.threads=8# The send buffer (SO_SNDBUF) used by the socket server
socket.send.buffer.bytes=102400# The receive buffer (SO_RCVBUF) used by the socket server
socket.receive.buffer.bytes=102400# The maximum size of a request that the socket server will accept (protection against OOM)
socket.request.max.bytes=409600000############################# Log Basics ############################## A comma separated list of directories under which to store log files
log.dirs=/tmp/kafka-logs# The default number of log partitions per topic. More partitions allow greater
# parallelism for consumption, but this will also result in more files across
# the brokers.
num.partitions=1# The number of threads per data directory to be used for log recovery at startup and flushing at shutdown.
# This value is recommended to be increased for installations with data dirs located in RAID array.
num.recovery.threads.per.data.dir=1############################# Internal Topic Settings  #############################
# The replication factor for the group metadata internal topics "__consumer_offsets" and "__transaction_state"
# For anything other than development testing, a value greater than 1 is recommended for to ensure availability such as 3.
offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1############################# Log Flush Policy ############################## Messages are immediately written to the filesystem but by default we only fsync() to sync
# the OS cache lazily. The following configurations control the flush of data to disk.
# There are a few important trade-offs here:
#    1. Durability: Unflushed data may be lost if you are not using replication.
#    2. Latency: Very large flush intervals may lead to latency spikes when the flush does occur as there will be a lot of data to flush.
#    3. Throughput: The flush is generally the most expensive operation, and a small flush interval may lead to excessive seeks.
# The settings below allow one to configure the flush policy to flush data after a period of time or
# every N messages (or both). This can be done globally and overridden on a per-topic basis.# The number of messages to accept before forcing a flush of data to disk
#log.flush.interval.messages=10000# The maximum amount of time a message can sit in a log before we force a flush
#log.flush.interval.ms=1000############################# Log Retention Policy ############################## The following configurations control the disposal of log segments. The policy can
# be set to delete segments after a period of time, or after a given size has accumulated.
# A segment will be deleted whenever *either* of these criteria are met. Deletion always happens
# from the end of the log.# The minimum age of a log file to be eligible for deletion due to age
log.retention.hours=168# A size-based retention policy for logs. Segments are pruned from the log unless the remaining
# segments drop below log.retention.bytes. Functions independently of log.retention.hours.
#log.retention.bytes=1073741824# The maximum size of a log segment file. When this size is reached a new log segment will be created.
log.segment.bytes=1073741824# The interval at which log segments are checked to see if they can be deleted according
# to the retention policies
log.retention.check.interval.ms=300000############################# Zookeeper ############################## Zookeeper connection string (see zookeeper docs for details).
# This is a comma separated host:port pairs, each corresponding to a zk
# server. e.g. "127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002".
# You can also append an optional chroot string to the urls to specify the
# root directory for all kafka znodes.
zookeeper.connect=localhost:2181# Timeout in ms for connecting to zookeeper
zookeeper.connection.timeout.ms=6000############################# Group Coordinator Settings ############################## The following configuration specifies the time, in milliseconds, that the GroupCoordinator will delay the initial consumer rebalance.
# The rebalance will be further delayed by the value of group.initial.rebalance.delay.ms as new members join the group, up to a maximum of max.poll.interval.ms.
# The default value for this is 3 seconds.
# We override this to 0 here as it makes for a better out-of-the-box experience for development and testing.
# However, in production environments the default value of 3 seconds is more suitable as this will help to avoid unnecessary, and potentially expensive, rebalances during application startup.
group.initial.rebalance.delay.ms=0

启动

1、先启动Zookeeper,执行
nohup /data/public/kafka/kafka_2.12-1.1.1/bin/zookeeper-server-start.sh /data/public/kafka/kafka_2.12-1.1.1/config/zookeeper.properties > /dev/null 2>&1 &

2、然后启动Kafka,执行
nohup /data/public/kafka/kafka_2.12-1.1.1/bin/kafka-server-start.sh /data/public/kafka/kafka_2.12-1.1.1/config/server.properties > /dev/null 2>&1 &

3、检查是否启动

[root@test kafka_2.12-1.1.1]# netstat -nltp | grep -E '(2181|9092)'
tcp6       0      0 192.168.31.100:9092     :::*                    LISTEN      970022/java         
tcp6       0      0 :::2181                 :::*                    LISTEN      966577/java

表明Kafka已经启动起来,其中2181为Zookeeper的端口,9092为Kafka的端口

开启客户端访问

firewall-cmd --zone=public --add-port=2181/tcp --permanent
firewall-cmd --zone=public --add-port=9092/tcp --permanent
firewall-cmd --reload

使用Offset Explorer 2.0访问

在这里插入图片描述
在这里插入图片描述
配置完成后,连接服务器,这时就可以使用Kafka进行生产和消费消息了。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/489983.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UE5编辑器下将RenderTarget输出为UTexture并保存

在使用UE5开发项目时,RenderTarget是一种非常强大的工具,常用于生成实时纹理效果、后处理和调试。而将RenderTarget的内容转换为UTexture并储存,是许多编辑器内的需求都需要的功能。 1.材质球输出至Texture 首先创建一个Actor类&#xff0c…

电容Q值、损耗角、应用

电容发热的主要原因:纹波电压 当电容两端施加纹波电压时,电容承受的是变化的电压,由于电容内部存在寄生电阻(ESR)和寄生电感(ESL).因此电容会有能量损耗,从而产生热量,这…

go-zero(十三)使用MapReduce并发

go zero 使用MapReduce并发 一、MapReduce 介绍 MapReduce 是一种用于并行计算的编程模型,特别适合在大规模数据处理场景中简化逻辑代码。 官方文档: https://go-zero.dev/docs/components/mr 1. MapReduce 的核心概念 在 MapReduce 中,主…

入门pytorch-Transformer

前言 虽然Transformer是2017年由Google推出,如果按照读论文只读近两年的思路看,那它无疑是过时的,但可惜的是,目前很多论文的核心依然是Transformer,或者由其进行改进的,故本文使用pytorch来搭建一下Trans…

利用代理IP爬取Zillow房产数据用于数据分析

引言 最近数据分析的热度在编程社区不断攀升,有很多小伙伴都开始学习或从事数据采集相关的工作。然而,网站数据已经成为网站的核心资产,许多网站都会设置一系列很复杂的防范措施,阻止外部人员随意采集其数据。为了解决这个问题&a…

精品基于Python实现的微信小程序校园导航系统-微信小程序

[含文档PPT源码等] [包运行成功永久免费答疑辅导] 《django微信小程序校园导航系统》该项目采用技术Python的django框架、mysql数据库 ,项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、核心代码介绍视频等 软件开发环境及开发工具&#xf…

动手学深度学习-线性神经网络-7softmax回归的简洁实现

目录 初始化模型参数 重新审视Softmax的实现 优化算法 训练 小结 在 线性回归的实现中, 我们发现通过深度学习框架的高级API能够使实现 线性回归变得更加容易。 同样,通过深度学习框架的高级API也能更方便地实现softmax回归模型。 本节如在上一节…

09篇--图片的水印添加(掩膜的运用)

如何添加水印? 添加水印其实可以理解为将一张图片中的某个物体或者图案提取出来,然后叠加到另一张图片上。具体的操作思想是通过将原始图片转换成灰度图,并进行二值化处理,去除背景部分,得到一个类似掩膜的图像。然后…

封装数组去重的方法

前言 之前在工作中我一直在用lodash这个方法库,前段时间又接触了更现代化的方法库radash,这两个方法库可以说是各有优劣,lodash中有很实用的cloneDeep,radash中则有tryit、all等异步方法,它们都无法做到完全代替对方。…

前端成长之路:CSS复合选择器

复合选择器 在CSS中,可以根据选择器的类型将选择器分为基础选择器和复合选择器。 基础选择器就是前面提到过的类选择器、id选择器、标签选择器等;而复合选择器就是在基础选择器的基础之上,将基本选择器进行组合形成的。 复合选择器是由两个及…

在数字孪生开发领域threejs现在的最新版本已经更新到多少了?

在数字孪生开发领域three.js现在的最新版本已经更新到多少了? 在数字孪生开发领域,three.js作为一款强大的JavaScript 3D库,广泛应用于Web3D可视化、智慧城市、智慧园区、数字孪生等多个领域。随着技术的不断进步和需求的日益增长&#xff0…

HTML入门级学习笔记1【超详细】

目录 一、计算机基础知识 2.1 文件和文件夹管理 2.2 特殊按键和快捷键 2.3 打字速度 二、互联网的原理 3.1 上网就是请求数据 3.2 服务器 3.3 浏览器 3.4 HTTP 三、HTML初步认识 4.1 认识什么是纯文本文件txt 4.2 HTML是负责描述文档语义的语言 四、Sublime 五、HTML骨架和基本…

【网络】传输层协议UDP/TCP网络层IP数据链路层MACNAT详解

主页:醋溜马桶圈-CSDN博客 专栏:计算机网络原理_醋溜马桶圈的博客-CSDN博客 gitee:mnxcc (mnxcc) - Gitee.com 目录 1.传输层协议 UDP 1.1 传输层 1.2 端口号 1.3 UDP 协议 1.3.1 UDP 协议端格式 1.3.2 UDP 的特点 1.3.3 面向数据报 1…

计算机网络技术基础:3.计算机网络的拓扑结构

网络拓扑结构是指用传输媒体互连各种设备的物理布局,即用什么方式把网络中的计算机等设备连接起来。将工作站、服务站等网络设备抽象为点,称为“节点”;将通信线路抽象为线,称为“链路”。由节点和链路构成的抽象结构就是网络拓扑…

SecureCRT/FX使用[无限试用SecureCRT][新版本SecureFX双击站点总是自动跳到SecureCRT]

无限试用SecureCRT 本文摘录于:https://blog.csdn.net/qq_52162404/article/details/139703993#:~:textSecureCRT只是做学习备份之用,绝无抄袭之意,有疑惑请联系本人! 我这里修改BAT如下,同时删除CRT和FX的license: echo off re…

Nacos系列:Nacos 控制台手册

引言 Nacos是阿里巴巴中间件部门开源的一款用于服务发现和配置管理的产品,Nacos 控制台主要旨在于增强对于服务列表、健康状态管理、服务治理、分布式配置管理等方面的管控能力,以便进一步帮助用户降低管理微服务应用架构的成本。 一、访问 Nacos 控制台…

frida打印日志字体加颜色

平时写frida hook 脚本,有时打印出来的日志太多都是一个颜色不美观。 于是找AI 问了一下frida打印日志字体加颜色的方法 // ANSI 转义码 const RESET “\x1b[0m”; const RED “\x1b[31m”; const GREEN “\x1b[32m”; const YELLOW “\x1b[33m”; const BLUE …

Thunderfury, Blessed Blade of the Windseeker

Thunderfury, Blessed Blade of the Windseeker 雷霆之怒,逐风者的祝福之剑 她应该是wow里面造型最帅,最酷的模型超大武器,而且特效触发频率很高,群拉效果非常好。 雷霆之怒,逐风者的祝福之剑 - 物品 - NFU魔兽世界1…

ubuntu+ros新手笔记(三)

系统ubuntu22.04 ros2 humble 1. 设置ubuntu终端字体大小 点击Terminal右上角的三条横线—>Preferences—>Unnamed—>Text—>勾选Custom font—>点击右侧的字号(我的显示的是12)—>最下方Size处设置字号大小—>Select—>设置完…

Deveco报错Only files in a module can be previewed

创建工程后需要看看预览的效果,却出现了这个错误 到Index.ets文件下重新构建工程 详细可以查询 鸿蒙报错(Only files in a module can be previewed)