kafka安装(单机版)
一、安装kafka(单机版)
因为现在的kafka安装包都自带zookeeper,所以如果是安装本地单机版kafka,不需要额外去安装zookeeper,使用自带的就可以了。
1、下载kafka 2.4版本
kafka下载地址:http://kafka.apache.org/downloads.html
# wget https://mirror.bit.edu.cn/apache/kafka/2.4.1/kafka_2.12-2.4.1.tgz
# tar xf kafka_2.12-2.4.1.tgz
# mv kafka_2.12-2.4.1 /apps/kafka
2、修改server.properties文件
# cd /apps/kafka/
# vim config/server.properties
listeners=PLAINTEXT://:9092
host.name= 172.16.143.115
advertised.listeners=PLAINTEXT://172.16.143.115:9092
3、配置jdk环境
jdk下载地址:https://www.oracle.com/java/technologies/downloads/
# 上传jdk1.8到服务器
# 解压
# mkdir /usr/java
# tar xf jdk-8u162-linux-x64.tar.gz -C /usr/java/
# 配置环境变量
# vim /etc/profile
# jdk1,8
export JAVA_HOME=/usr/java/jdk1.8.0_162
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin # kafka
export KAFKA_HOME=/apps/kafka # 重新加载使生效
# source /etc/profile
4、启动zookeeper
./bin/zookeeper-server-start.sh -daemon ./config/zookeeper.properties
5、启动kafka
# ./bin/kafka-server-start.sh -daemon ./config/server.properties
6、加入开机自启动
# vim /etc/rc.local
# start kafka
/apps/kafka/bin/zookeeper-server-start.sh -daemon /apps/kafka/config/zookeeper.properties
/apps/kafka/bin/kafka-server-start.sh -daemon /apps/kafka/config/server.properties
7、创建开机启动服务项
# 创建zookeeper的服务启动项。jdk与kafka安装目录修改为自己的路径。
# vim /usr/lib/systemd/system/zookeeper.service
[Unit]
Description=Zookeeper service
After=network.target [Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_162/bin/"
User=root
Group=root
ExecStart=/data/apps/kafka/bin/zookeeper-server-start.sh /data/apps/kafka/config/zookeeper.properties
ExecStop=/data/apps/kafka/bin/zookeeper-server-stop.sh
Restart=on-failure [Install]
WantedBy=multi-user.target
创建kafka服务启动项
# vim /usr/lib/systemd/system/kafka.service
[Unit]
Description=Apache Kafka server (broker)
After=network.target zookeeper.service [Service]
Type=simple
Environment="PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/jdk1.8.0_162/bin/"
User=root
Group=root
ExecStart=/data/apps/kafka/bin/kafka-server-start.sh /data/apps/kafka/config/server.properties
ExecStop=/data/apps/kafka/bin/kafka-server-stop.sh
Restart=on-failure [Install]
WantedBy=multi-user.target
重新加载服务启动项
# systemctl daemon-reload
启动服务
# 启动zookeeper
systemctl restart zookeeper.service
# 启动kafka
systemctl start kafka.service # 查看服务状态
systemctl status zookeeper.service
systemctl status kafka.service # 开机自启动
systemctl enable zookeeper.service
systemctl enable kafka.service
二、Php 安装Kafka扩展
方法一:使用之前的remi源直接yum安装kafka扩展。
# 安装remi源
yum install epel-release -y
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm -y
# 使用remi源安装kafka扩展
yum --enablerepo=remi-php73 install php-rdkafka -y # 查看是否已经包含改模块了
[root@test-135 kafka]# php -m |grep rdkafka
rdkafka # 重启php-fpm
systemctl restart php-fpm
在php里添加访问kafka的配置,
# vim /apps/web/php/api/dev.php
'KAFKA' => [
'host' => '172.16.143.115',
'port' => 9092,
'version' => '2.4.1'
],
# php easyswoole restart
方法二:也可以用源码编译的方式安装php扩展。
1.安装librdkafka
git clone https://github.com/edenhill/librdkafka.git
cd librdkafka
./configure
make && make install 2.安装php-rdkafka扩展,with-php-config改成自己的php-config路径 #git clone https://github.com/arnaud-lb/php-rdkafka.git
wget https://pecl.php.net/get/rdkafka-3.0.3.tgz
tar xf rdkafka-3.0.3.tgz
cd rdkafka-3.0.3/
phpize
./configure --with-php-config=/usr/bin/php-config
make && make install 3.修改php.ini文件,添加
extension = rdkafka.so 4.查看是否安装成功
php -m |grep rdkafka 5.重启php
# systemctl restart php-fpm
三、配置kafka内外网都可以访问
默认advertised.listeners是不接受0.0.0.0的配置的,只能填具体的合法的IP地址或域名,所以要想实现kafka内外网都可以访问,则可以用主机名映射的方式实现。
将advertised.listeners=PLAINTEXT://kafkahost:9092 ,注释listeners和host.name,然后在内网服务器将kafkahost映射为内网ip,外网客户端将kafkahost映射为kafka服务器的外网IP。
修改配置,注释host.name和listeners
# vim config/server.properties
#listeners=PLAINTEXT://0.0.0.0:9092
#host.name= 0.0.0.0
advertised.listeners=PLAINTEXT://kafkahost:9092
修改本地hosts文件,
# vim /etc/hosts
127.0.0.1 kafkahost
在kafka客户端,映射为内网地址:
# vim /etc/hosts
192.168.x.x kafkahost
在外网,比如本地,映射为外网地址:
# 编辑 C:\Windows\System32\drivers\etc\hosts
外网IP kafkahost
用kafka工具连接如下图:

四、kafka客户端连接工具kafka Tool
推荐一款kafka可视化的界面连接工具:kafka Tool
官方下载地址:https://www.kafkatool.com/download.html
选择自己对应的版本进行下载安装

填写相关的连接地址即可连上,在界面操作主题分区

kafka安装(单机版)的更多相关文章
- hadoop 之 kafka 安装与 flume -> kafka 整合
62-kafka 安装 : flume 整合 kafka 一.kafka 安装 1.下载 http://kafka.apache.org/downloads.html 2. 解压 tar -zxvf ...
- Kafka安装及部署
安装及部署 一.环境配置 操作系统:Cent OS 7 Kafka版本:0.9.0.0 Kafka官网下载:请点击 JDK版本:1.7.0_51 SSH Secure Shell版本:XShell 5 ...
- [Kafka] - Kafka 安装介绍
Kafka是由LinkedIn公司开发的,之后贡献给Apache基金会,成为Apache的一个顶级项目,开发语言为Scala.提供了各种不同语言的API,具体参考Kafka的cwiki页面: Kafk ...
- Centos7上安装单机版redis
Centos 7 上安装单机版redis Redis 官网下载 https://redis.io/download 1. 下载.解压.安装 cd /usr/local #wget http://dow ...
- Kafka 安装配置 windows 下
Kafka 安装配置 windows 下 标签(空格分隔): Kafka Kafka 内核部分需要安装jdk, zookeeper. 安装JDK 安装JDK就不需要讲解了,安装完配置下JAVA_HOM ...
- kafka安装教程
今天需要在新机器上安装一个kafka集群,其实kafka我已经装了十个不止了,但是没有一个是为生产考虑的,因此比较汗颜,今天好好地把kafka的安装以及配置梳理一下: 1,kafka版本选取: 现在我 ...
- Kafka安装及开启SASL_PLAINTEXT认证(用户名和密码认证)
前些日子要封装一个kafka的客户端驱动,配置了下kafka环境,发现配置复杂度完爆rabbitmq很多倍啊,而且发布订阅模式使用起来也很麻烦,可能就胜在分布式了吧. kafka需要java环境,自行 ...
- Kafka安装与配置(windows)
作者:灬花儿灬 出处:http://www.cnblogs.com/flower1990/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则 ...
- kafka安装步骤
kafka 安装内存会报不够 https://stackoverflow.com/questions/9350437/incompatible-initial-and-maximum-heap-siz ...
随机推荐
- Python AttributeError: module 'sys' has no attribute 'setdefaultencoding'
Python 3 与 Python 2 有很大的区别,其中Python 3 系统默认使用的就是utf-8编码. 所以,对于使用的是Python 3 的情况,就不需要sys.setdefaultenco ...
- JavaScript 对象:String & Array 及其常见应用
String对象 split 功能:把字符串分割为字符串数组.官方文档已经描述的够清楚,不多赘述.主要说一下需要注意的情况以及应用 1.省略分割参数 var str="How are you ...
- maven添加代理,默认的.m2路径
Maven设置http代理 编辑~/.m2/settings.xml文件,添加如下配置 找到 <proxies> 节点.去掉相应的注释,设置代理信息如下: 1 <proxy> ...
- 为什么不直接去Arraylist list = new Arraylist();而是直接通过List list = new ArrayList();使用接口的好处
ArrayList不是继承List接口,是实现了List接口. 你写成ArrayList arrayList = new ArrayList();这样不会有任何问题.和List list = new ...
- 9组-Alpha冲刺-1/6
一.基本情况 队名:不行就摆了吧 组长博客:https://www.cnblogs.com/Microsoft-hc/p/15526668.html 小组人数: 8 二.冲刺概况汇报 谢小龙 过去两天 ...
- scrapy_电影天堂多页数据和图片下载
嵌套的 爬取 先获取第一页的标题 点击标题到第二页的图片url 1.创建项目 > scrapy startproject scrapy_movie_099 2.创建爬虫文件 spiders> ...
- 菜鸡的Java笔记 第三十四 Annotation
Annotation 多例模式特点: 1. 多例类可以有多个实例 2. 多例类必须自己创建自己的实例,并管理自己的实例,和向外界提供自己的实例 ...
- Python 爬取妹子图(技术是无罪的)
... import requests from bs4 import BeautifulSoup import os import sys class mzitu(): def html(self, ...
- AtCoder Regular Contest 127
Portal B Description 给出\(n(\leq5\times10^4),L(\leq15)\),构造\(3n\)个不同\(L\)位的三进制数,使得在这\(3n\)个数的每一位上,0/1 ...
- python有关于图像的深度和通道
目录: (一)图像的深度和图像的通道 (1)图像的深度 (2)图像的通道 (二)自定义一张多通道的图片 (1)zeros 函数 (2)ones 函数 (三)自定义一张单通道的图片 (四)像素操作 ...