开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第2天,点击查看活动详情
中间件/kafka/搭建
💻实验环境:
操作软件 | 版本号/描述 | |
---|---|---|
操作系统 | centos7 | |
JDK | jdk-8u181-linux-x64.tar.gz | 下载地址 |
Apache ZooKeeper | zookeeper-3.4.12 | 下载地址 |
ZooInspector | zk可视化工具 | 下载地址 |
kafka | kafka_2.11-2.0.0 | 下载地址 |
kafka-tool | kafka可视化工具 | 下载地址 |
🦴一、linux目录划分
- 🥕linux安装目录划分:linux安装目录划分
- 🥕安装路径:
/usr/local
本地安装的软件和其他文件放在这里,一般新建/usr/local/software
- 🥕查看linux位数:
getconf LONG_BIT
🦴二、jvm安装
- 🥕安装路径:
/usr/lib/jvm
- 🥕检查是否已装有jdk
rpm -qa |grep java
rpm -qa |grep jdk
rpm -qa |grep gcj
cd /usr/lib/jvm
wget http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz
tar -zxvf jdk-8u161-linux-x64.tar.gz
🥕配置环境变量
vim /etc/profile
编辑文件
JAVA_HOME=/usr/lib/jvm/jdk1.8.0_181
JRE_HOME=/usr/lib/jvm/jdk1.8.0_181/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
source /etc/profile
生效
🥕查看是否生效
[root@localhost jdk1.8.0_181]# java -version
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
☢️遇到的问题:
第一次下载时,通过wget下载到的tar包是有问题的,通过tar -zxvf xxx
一直解压不成功,然后通过 file xxxx
查看文件,发现它是html内容的,就知道下载错了
🦴三、安装zookeeper
🥕官方文档
https://zookeeper.apache.org/
🥕安装目录:/usr/local/software/zookeeper/zookeeper-3.4.12 默认端口:2181
🥕zk配置
2.编辑profile vim /etc/profile
export ZOOKEEPER_HOME=/usr/local/software/zookeeper/zookeeper-3.4.12
export PATH=$PATH:$ZOOKEEPER_HOME/bin
source /etc/profile
3.cp zoo_sample.cfg zoo.cfg
复制配置文件
title:配置文件
collapse: false
~~~
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/software/zookeeper/zookeeper-3.4.12/data
dataLogDir=/usr/local/software/zookeeper/zookeeper-3.4.12/log
# the port at which the clients will connect
clientPort=2181
~~~
4.启动zk
cd $ZOOKEEPER_HOME/bin
# zk启动
./zkServer.sh start
# 用于校验运行情况
./zkServer.sh status
🥕 ZooInspector curator zk客户端 github.com/apache/cura…
☢️遇到的问题
用curator连接zk一直连补上去,用netstat查netstat -anp | grep 端口号
也是正常的,然后外网telnet不通,本机telnet没问题,就发现防火墙没配置
netstat安装:
yum -y install net-tools
🦴四、安装kafka
🥕官方地址
https://kafka.apache.org
🥕安装位置:/usr/local/software/kafka/kafka_2.11-2.0.0
🥕默认端口:9092
🥕kafka配置:
vim $Kafka_HOME/server.properties
# broker 的编号,如果集群中有多个 broker,则每个 broker 的编号需要设置的不同
broker.id=O
# broker 对外提供的服务入口地址,假如是要对外服务的话就需要填本机ip
listeners=PLAINTEXT://localhost:9092
#存放消息 日志文件的地址
log.dirs=/tmp/kafka-logs
# Kafka所需的ZooKeeper集群地址,为了方便演示,我们假设 Kafka 和 ZooKeeper 都安装在本机
zookeeper.connect=localhost:2181/kafka
🥕启动kafka:
# &为后台启动
./bin/kafka-server-start.sh config/server.properties &
jps -l
查看运行中的java程序
PS:jps 命令只是用来确认 Kafka 服务的进程己经正常启动 。 它是否能够正确地对外提供服务, 还需要通过发送和消费消息来进行验证
🥕验证功能正常
创建topic topic-demo
bin/kafka-topics.sh --zookeeper localhost:2181/kafka --create --topic topic-demo --replication-factor 1 --partitions 4
producter
bin/kafka-console-producer.sh --broker -list localhost:9092 topic topic-demo
consumer
bin/kafka-console-consumer.sh --broker -list localhost:9092 topic topic-demo
🥕客户端kafka-tool连接
1.查看数据
2.增加topic