CentOS7 安装 Kafka

一、安装 java1.8

1、卸载系统自带的 java

# 查看java 版本,如果不是 1.8 的,就重新安装
java -version

# 查看系统自带的 java
rpm -qa | grep java
# 后面的 java**** 是通过上面命令查询出来的
rpm -e --nodeps java******

2、下载安装

cd /usr/local/src
wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u141-b15/336fa29ff2bb4ef291e347e091f7f4a7/jdk-8u141-linux-x64.tar.gz"

tar -xzvf jdk-8u171-linux-x64.tar.gz
mv ./jdk1.8.0_171 /usr/local/java 

3、java 环境变量

vim /etc/profile

# java env
export JAVA_HOME=/usr/local/java
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

source /etc/profile

# 查看安装好的java 的版本号
java -version

二、安装 Zookeeper

1、下载安装

cd /usr/local/src
wget https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/apache-zookeeper-3.5.5-bin.tar.gz

tar -xzvf apache-zookeeper-3.5.5.tar.gz
mv apache-zookeeper-3.5.5-bin /usr/local/zookeeper

mkdir  /usr/local/zookeeper/data
echo 1 > /usr/local/zookeeper/data/myid
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg

2、修改配置文件

# 其中:2888端口是zookeeper服务之间通信的端口;3888端口是zookeeper与其他程序通信的端口;
vim /usr/local/zookeeper/conf/zoo.cfg

dataDir=/usr/local/zookeeper/data
dataLogDir=/usr/local/zookeeper/logs
server.1=172.31.129.8:2888:3888

3、环境变量

vim /etc/profile

export ZOOKEEPER_HOME=/usr/local/zookeeper
export PATH=$PATH:$ZOOKEEPER_HOME/bin
    
source /etc/profile

4、防火墙添加端口

# 先阿里云服务器控制台:安全组添加规则;然后操作系统
firewall-cmd --permanent --add-port=2181/tcp
firewall-cmd --permanent --add-port=2888/tcp
firewall-cmd --permanent --add-port=3888/tcp
firewall-cmd --reload
firewall-cmd --list-all

5、常用命令

# zookeeper 命令在 /usr/local/zookeeper/bin 目录下面

# 启动服务
zkServer.sh start

# 重启服务
zkServer.sh restart

# 停止服务
zkServer.sh stop

# 客户端连接服务器
zkCli.sh -server 127.0.0.1:2181
客户端命令例子说明
lsls /查看根目录下所有的子节点 znode
ls2ls2 /admin查看当前节点的数据并能看到更新次数等数据
createcreate /jinqun “test znode”创建节点并关联数据
setset /jinqun “after modify znode”设置节点数据
getget /jinqun获取节点对应的数据
deletedelete /hujinqun删除节点
quit------退出客户端

在这里插入图片描述

6、systemctl 服务控制

# 如果失败,查看运行中的进程,并 kill
vim /lib/systemd/system/zookeeper.service


[Unit]
Description=zookeeper
After=network.target

[Service]
User=root
Group=root
Type=forking
Environment=JAVA_HOME=/usr/local/java
WorkingDirectory=/usr/local/zookeeper
ExecStart=/usr/local/zookeeper/bin/zkServer.sh start
ExecReload=/usr/local/zookeeper/bin/zkServer.sh restart
ExecStop=/usr/local/zookeeper/bin/zkServer.sh stop
PIDFile=/usr/local/zookeeper/data/zookeeper_server.pid

[Install]
WantedBy=multi-user.target
注意:需要用 bin 的这个压缩包

在这里插入图片描述

三、安装 kafka

1、下载安装

cd /usr/local/src/
wget http://mirror.bit.edu.cn/apache/kafka/2.3.1/kafka_2.11-2.3.1.tgz

tar -xzvf kafka_2.11-2.3.1.tgz
mv kafka_2.11-2.3.1 /usr/local/kafka

2、zookeeper.properties 配置

vim /usr/local/kafka/config/zookeeper.properties

# 下面是配置文件要修改的内容
dataDir=/usr/local/zookeeper/data
clientPort=2181 

3、server.properties 配置

mkdir /data/kafka-logs
vim config/server.properties

# 下面是配置文件要修改的内容
listeners=PLAINTEXT://172.31.129.8:9092
advertised.host.name=172.31.129.8
advertised.listeners=PLAINTEXT://172.31.129.8:9092
log.dirs=/data/kafka-logs
log.cleanup.policy=delete
log.retention.hours=2
log.retention.minutes=60
log.retention.ms=3600000
zookeeper.connect=172.31.129.8:2181

4、环境变量


vim /etc/profile

# kafka env
export KAFKA_HOME=/usr/local/kafka
export PATH=$PATH:$KAFKA_HOME/bin

source /etc/profile

5、开放端口

firewall-cmd --permanent --add-port=9092/tcp
firewall-cmd --reload
firewall-cmd --list-all

# 然后,阿里云控制台,配置安全组,添加 9092 端口;

6、基本命令

# kafka 命令都在 /usr/local/kafka/bin 下面

# 启动服务(选项 -daemon 表示后台启动)
kafka-server-start.sh -daemon /usr/local/kafka/config/server.properties

# 停止服务
kafka-server-stop.sh

# 创建 topic
kafka-topics.sh --create --zookeeper 172.31.129.8:2181 --replication-factor 1 --partitions 1 --topic aaa

# 查看 topic
kafka-topics.sh --list --zookeeper 172.31.129.8:2181

# 删除指定 topic
kafka-topics.sh --delete --zookeeper 172.31.129.8:2181 --topic aaa

# 生成(produce)消息
# 如果是多个 servers 组成的集群,可加多个 host:port,中间用逗号隔开
kafka-console-producer.sh --broker-list 172.31.129.8:9092 --topic aaa

# 消费(consume)消息
# 如果是多个 servers 组成的集群,可加多个 host:port,中间用逗号隔开
# 选项 --from-beginning 表示从头开始消费
kafka-console-consumer.sh --bootstrap-server 172.31.129.8:9092 --from-beginning --topic aaa

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

7、systemctl 控制服务

vim /lib/systemd/system/kafka.service


[Unit]
Description=kafka server (broker)
After=network.target zookeeper.service

[Service]
User=root
Group=root
Type=simple
Environment=JAVA_HOME=/usr/local/java
ExecStart=/usr/local/kafka/bin/kafka-server-start.sh /usr/local/kafka/config/server.properties
ExecStop=/usr/local/kafka/bin/kafka-server-stop.sh
Restart=on=failure

[Install]
WantedBy=multi-user.target
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值