Linux下kafka单机版搭建

1.zookeeper的安装

这里使用3.6.4版本

前提:服务器已经安装了jdk,zookeeper运行需要jdk环境

1.1创建放zookeeper的目录

#创建目录
mkdir -p /usr/local/zookeeper

#赋予权限
chmod 777 /usr/local/zookeeper

1.2安装包的下载

#这里推荐去官网下载
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.6.4/apache-zookeeper-3.6.4-bin.tar.gz

1.3放置安装包并解压

#切换到创建的目录
cd /usr/local/zookeeper

#将下载的包放在该目录

#解压该目录
tar -zxvf apache-zookeeper-3.6.4-bin.tar.gz

#重命名
mv apache-zookeeper-3.6.4-bin zookeeper-3.6.4

1.4修改配置文件

#进入配置文件目录
cd /usr/local/zookeeper/zookeeper-3.6.4/conf

#复制原有的配置文件并改名
cp zoo_sample.cfg zoo.cfg

#修改配置文件
vim zoo.cfg

#内容如下:
# 数据文件夹
dataDir=/usr/local/zookeeper/zookeeper-3.6.4/data
    
# 日志文件夹
dataLogDir=/usr/local/zookeeper/zookeeper-3.6.4/logs

# 客户端访问 zookeeper 的端口号
clientPort=2181



#退出保存zoo.cfg
:wq

1.5添加环境变量

#编辑环境变量文件
vim /etc/profile
#尾部添加如下内容
export ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.6.4/
export PATH=$ZOOKEEPER_HOME/bin:$PATH
export PATH

#退出保存
:wq

#重新执行一下
source /etc/profile

1.6测试zookeeper启动

#进入bin目录
cd /usr/local/zookeeper/zookeeper-3.6.4/bin

#启动服务
zkServer.sh start

ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper/zookeeper-3.6.4/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
出现这个就是成功了

#查看状态
zkServer.sh status

#关闭服务
zkServer.sh stop

#重启服务
zkServer.sh restart

2.kafka的安装

2.1下载kafka

下载地址:Apache Kafka

在这里插入图片描述

这里两个,第一个带源码我们可以下载下来查看对应的zookeeper版本

解压后的gradle/dependencies.gradle文件里面有zookeeper版本号

2.2创建目录

mkdir -p /opt/kafka  #y用于存放kafka的解压包

mkdir -p /opt/kafka/kafka_data #用于存放kafka的数据

mkdir -p /opt/kafka/kafka_log #用于存放kafka的日志

2.3将kafka解压

将下载的kafka放在/opt/kafka

#解压
tar -zxvf kafka_2.12-3.4.1.tgz

2.4配置kafka服务

cd /opt/kafka/kafka_2.12-3.4.1/config

vim server.properties

#修改一下参数
broker.id=0
#端口号
port=9092   
#服务器IP地址,修改为自己的服务器IP
host.name=localhost
#日志存放路径,上面创建的目录
log.dirs=/opt/kafka/kafka_log
#zookeeper地址和端口,单机配置部署,localhost:2181
zookeeper.connect=localhost:2181         

2.5启动kafka

/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties

2.6测试

前提开启两个终端,一个生产者,一个消费者

2.6.1生产者

cd /opt/kafka/kafka_2.12-3.4.1/bin

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

2.6.2消费者

cd /opt/kafka/kafka_2.12-3.4.1/bin

./kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test

3.脚本设计

上面都是手动启动,这里可以考虑写一个脚本,自动去启动

3.1启动脚本

cd /opt/kafka/kafka_2.12-3.4.1/bin

vim kafka_start.sh

#内容如下:

#!/bin/bash
#
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh start
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-start.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties &i

3.2关闭脚本

cd /opt/kafka/kafka_2.12-3.4.1/bin

vim kafka_stop.sh

#内容如下:

#!/bin/bash
echo "启动zookeeper服务..."
sh /usr/local/zookeeper/zookeeper-3.6.4/bin/zkServer.sh stop
sleep 5
echo "启动kafka服务..."
/opt/kafka/kafka_2.12-3.4.1/bin/kafka-server-stop.sh /opt/kafka/kafka_2.12-3.4.1/config/server.properties 

3.3给脚本赋予权限

chmod +x kafka_start.sh
 
chmod +x kafka_stop.sh

3.4设置开机自启

vi /etc/rc.d/rc.local #编辑,在最后添加一行
sh /opt/kafka/kafka_2.12-3.4.1/kafka_start.sh & #设置开机自动在后台运行脚本

4.内网穿透

在kafka的配置文件server.properties里面设置如下

############################# 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://:9092
listeners=PRIVATE://0.0.0.0:9093,PUBLIC://0.0.0.0:9092


auto.create.topics.enable=true

# 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://your.host.name:9092
#修改为外网ip
advertised.listeners=PRIVATE://192.168.150.203:9093,PUBLIC://10.140.211.88:9092

inter.broker.listener.name=PRIVATE
listener.security.protocol.map=PRIVATE:PLAINTEXT,PUBLIC:PLAINTEXT

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

使用大卫的k8s监控面板(k8s+prometheus+grafana)

问题 书接上回,对EKS(AWS云k8s)启用AMP(AWS云Prometheus)监控AMG(AWS云 grafana),上次我们只是配通了EKSAMPAMG的监控路径。这次使用一位大卫老师的grafana的面板,具体地址如下: ht…

Git 介绍和安装

Git 介绍和安装 | CoderMast编程桅杆Git 介绍和安装 Git介绍 Git是一款免费、开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目。 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目版本管理。Git 是 Linus T…

算法思想总结:栈

一、栈的经典应用:波兰表达式与逆波兰表达式 我们平时看到的 12*(3-4*5)6/7 叫做中缀表达式,平时我们习惯用这个计算的原因是我们可以整体地去看到这个表达式并且清楚地知道各个运算符的优先级,但是计算机并不一定知道…

截断堆积柱状图绘制教程

本教程原文链接:截断堆积柱状图绘制教程 欢迎大家转载!!!! 本期教程 写在前面 堆积柱状图是柱状图的常见类型之一,也是平时使用概率较高的图形之一。我们前期发布了很多个柱状图的绘制教程,若你…

FPGA Quartus IP核 打开使用

两种Quartus版本下的IP核,从使用者的角度来看仅仅是配置界面不同,在参数设置和使用方法上基本一致。本文以“MegaWizard Plug-In Manager”中的FIR Compiler IP核使用为例。 Quartus的FIR IP核属于收费IP,如果是个人学习使用需要对IP核单独破…

xhEditor实现WORD粘贴图片自动上传

1.下载示例: 从官网下载 http://www.ncmem.com/webapp/wordpaster/versions.aspx 从gitee中下载 https://gitee.com/xproer/wordpaster-php-xheditor1x 2.将插件目录复制到项目中 3.引入插件文件 定义插件图标 初始化插件,在工具栏中添加插件按钮 效果…

Java——三层架构

在我们进行程序设计以及程序开发时,尽可能让每一个接口、类、方法的职责更单一些(单一职责原则)。 单一职责原则:一个类或一个方法,就只做一件事情,只管一块功能。 这样就可以让类、接口、方法的复杂度更低…

贪心 | | 将数组和减半的最少操作数

目录 将数组和减半的最少操作数 除 2 将数组和减半的最少操作数 2208. 将数组和减半的最少操作次数 - 力扣(LeetCode)https://leetcode.cn/problems/minimum-operations-to-halve-array-sum/description/ 由题意可知,我们可以遍历数组&…

【C++类和对象】初始化列表与隐式类型转换

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

OpenLayers6实战,OpenLayers鼠标拖拽方式绘制半圆环形(半圆扇形)

专栏目录: OpenLayers实战进阶专栏目录 前言 本章讲解如何使用OpenLayers特殊图形绘制,通过鼠标拖拽方式来绘制出半圆环形(半圆扇形)的功能,效果像磁铁一样的半圆弧。 上一章中我们以及实现了四分之一圆环形的特殊图形绘制《OpenLayers6实战,OpenLayers实现鼠标拖拽方式…

【C++】——类与对象引入和认识

创作不易,多多支持! 前言 有了上一篇博客的基础以后,就正式进入C类和对象的领域了,如果看完本篇文章对你有用,还请多多支持!!😘😘 一 面向过程和面向对象 1.面向过程 …

DFS和回溯专题:组合总和

DFS和回溯专题&#xff1a;组合总和 题目链接: 39.组合总和 参考题解&#xff1a;代码随想录 题目描述 代码纯享版 class Solution {public List<List<Integer>> list_all new ArrayList();public List<Integer> list new ArrayList();public List<…

基于贝叶斯算法的机器学习在自动驾驶路径规划中的应用实例

目录 第一章 引言 第二章 数据准备 第三章 贝叶斯路径规划模型训练 第四章 路径规划预测 第五章 路径执行 第六章 实验结果分析 第一章 引言 自动驾驶技术的发展带来了自动驾驶车辆的出现&#xff0c;而路径规划作为自动驾驶车辆的关键功能之一&#xff0c;对于确定最佳行…

2024年Q1季度平板电视行业线上市场销售数据分析

Q1季度平板电视线上市场表现不如预期。 根据鲸参谋数据显示&#xff0c;2024年1月至3月线上电商平台&#xff08;京东天猫淘宝&#xff09;平板电视累计销量约360万件&#xff0c;环比下降12%&#xff0c;同比下降30%&#xff1b;累计销售额约99亿元&#xff0c;环比下降28%&a…

OSI网络七层协议<随手笔记>

1.OSI OSI&#xff08;Open System Interconnect&#xff09;&#xff0c;即开放式系统互连。 一般都叫OSI参考模型&#xff0c;是ISO组织在1985年研究的网络互连模型。该体系结构标准定义了网络互连的七层框架&#xff08;物理层、数据链路层、网络层、传输层、会话层、表示层…

Java工程maven中排包exclude的操作

一、背景 在开发项目时依赖了新的jar包&#xff0c;结果工程启动时报错了&#xff0c;此时应该是包依赖冲突的问题。 二、确定冲突的依赖包 执行mvn clean install&#xff0c;通过报错信息来确定冲突的jar包信息 三、排除冲突包的方案 有两种冲突的情况&#xff1a; 1&am…

电梯节能的推广意义

之前关于电梯能量回馈设备&#xff0c;小伍已经做了很多介绍&#xff0c;那么小伙伴们&#xff0c;他的推广意义你真的了解了么&#xff1f; 第一&#xff1a;节电降耗&#xff0c;电梯在运行过程中会产生大量的惯性能量&#xff0c;这些能量如果不被利用就会浪费。能量回馈技术…

【C语言】每日一题,快速提升(5)!

&#x1f525;博客主页&#x1f525;&#xff1a;【 坊钰_CSDN博客 】 欢迎各位点赞&#x1f44d;评论✍收藏⭐ 目录 1. strlen函数 2. strcpy函数 3. strcat函数 题目&#xff1a;模拟实现 strlen--strcpy--strcat--三个函数 1. strlen函数 字符串计算 #include <stdio.h…

[笔试训练](二)

004 牛牛的快递_牛客题霸_牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 使用向上取整函数ceil()&#xff0c;&#xff08;记得添加头文件#include<cmath>&#xff09; #include <iostream> #include <cmath> using namespace std;int main(…

TensorFlow文件读取 --TFRecords文件

TFRecords文件 是一种二进制文件&#xff0c;能够很好的利用内存&#xff0c;更方便复制和移动&#xff0c;并且不需要单独的标签文件 使用步骤 1&#xff09;获取数据 2&#xff09;将数据填入到Example协议内存块&#xff08;protocol buffer&#xff09; 3&#xff09;将协…