Kafka系列-Apache Kafka 环境搭建

这是我参与11月更文挑战的第1天,活动详情查看:2021最后一次更文挑战

Apache Kafka 简介

Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010年贡献给了Apache基金会并成为顶级开源项目。

Linux 环境安装单机Kafka

2.1 检查Jdk是否安装

java -version 命令, 我的linux环境已经安装了JDK,直接跳到下一步

image.png

2.2 检查zk是否安装

因为Kafka的运行需要依赖zookeeper,所以安装前要检查zookeeper是不已经安装了。
直接去官网下载,然后上传到服务器上.

zk官网: downloads.apache.org/zookeeper/s…

选择Binary downloads,选择版本进行下载

  1. 解压
    [root@VM_0_14_centos local]# tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
  2. 配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
bash复制代码## 1. 复制配置文件
[root@VM_0_14_centos ~]# cd /usr/local/
[root@VM_0_14_centos local]# tar -xzvf apache-zookeeper-3.6.3-bin.tar.gz
[root@VM_0_14_centos local]# cd apache-zookeeper/
[root@VM_0_14_centos apache-zookeeper]# cd conf/
[root@VM_0_14_centos conf]# cp zoo_sample.cfg zoo.cfg
[root@VM_0_14_centos conf]# vi zoo.cfg

## 2. zoo.cfg文件末尾添加
dataDir=/tmp/zookeeper/data
dataLogDir=/tmp/zookeeper/log

## 3. 在tmp目录创建目录
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper/data
[root@VM_0_14_centos conf]# mkdir /tmp/zookeeper/log

## 4. 配置环境变量
[root@VM_0_14_centos conf]# export ZK_PATH=/usr/local/apache-zookeeper/
[root@VM_0_14_centos conf]# export PATH=$PATH:$ZK_PATH/bin

## 5. 启动zk
[root@VM_0_14_centos bin]# ./zkServer.sh start
/usr/bin/java
ZooKeeper JMX enabled by default
Using config: /usr/local/apache-zookeeper-3.6.3/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

## 6. 验证zk
[root@VM-16-2-centos bin]# ./zkServer.sh status

1635780576(1).png

2.3 安装单节点Kafaka

进入Apache官网 http://kafka.apache.org/downloads.html

选择Binary downloads,选择版本进行下载。一般建议安装1.1 版本之前的,安装的问题比较少。

image.png

2.3.1 上传并解压

  1. tar -xzvf kafka_2.11-1.0.2.tgz
  2. mv kafka_2.11-1.0.2 kafka
  3. mkdir -p /tmp/kafka-logs

2.3.2 修改配置文件

修改kafka的config目录下,server.properties文件,主要修改的地方如下:

broker的全局唯一编号,不能重复

broker.id=1

监听

listeners=PLAINTEXT://VM-16-2-centos:9092
advertised.listeners=PLAINTEXT://VM-16-2-centos:9092
日志目录

log.dirs=/tmp/kafka-logs

配置zookeeper的连接(如果不是本机,需要该为ip或主机名)

zookeeper.connect=localhost:2181

注意:这边hostname我直接取的虚拟机配置的名字, linux 系统可以直接用hostname直接查看。

2.3.3 启动kafka

nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties 2>&1 &

好了启动了一下报错,内存不足了, 这台虚拟机安装了太多东西,已经不堪重负了。

image.png

没办法只能重新买一台云服务器了,趁着双11活动搞了一台2C4G的服务器重新安装一下。

  1. 新服务器从JDK开始安装起
  1. 查看系统是否已经安装JDK yum list installed |grep java
  2. 在线安装, yum -y install java-1.8.0-openjdk

image.png

  1. 安装zk

image.png

image.png

  1. 安装kafka
    配置完,这样基本上就是启动OK了

image.png

2.4 测试验证

  1. 创建topic

./kafka-topics.sh –create –zookeeper localhost:2181 –replication-factor 1 –partitions 1 –topic test

image.png

  1. 查看topic

./kafka-topics.sh -list -zookeeper localhost:2181

image.png

  1. 启动生产者

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

image.png

  1. 启动消费者

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

image.png

参考文档

kafka.apache.org/quickstart

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%