Docker内分布式消息系统kafka的安装和使用


前言

如果在线下载很慢,或无法下载安装依赖,可选择离线安装Docker!


一、Centos7安装Docker

Linux 内核:官方建议 3.10 以上,3.8以上可以尝试。

注意:本文的命令使用的是 root 用户登录执行,不是 root 的话所有命令前面要加 sudo。

1.查看当前的内核版本

右键打开终端,终端内输入以下命令,查看当前内核版本

uname -r

在这里插入图片描述我的是3.10 ,满足条件

2.使用 root 权限更新 yum 包

yum -y update

3.安装Docker

3.1切换目录

cd /etc/yum.repos.d/

3.2 查看当前目录所有的镜像源

ll

在这里插入图片描述

3.3 配置阿里镜像源

3.3.1安装依赖

安装需要的软件包, yum-util 提供yum-config-manager功能,另两个是devicemapper驱动依赖**

yum install -y yum-utils device-mapper-persistent-data lvm2

在这里插入图片描述

3.3.2设置yum源

设置一个yum源,下面两个都可用,推荐阿里(二选一)

yum-config-manager --add-repo http://download.docker.com/linux/centos/docker-ce.repo	#(中央仓库)

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo	#(阿里仓库)

在这里插入图片描述

3.3.3安装镜像源
yum install -y wget #如果没有安装wget需要执行
wget http://mirrors.163.com/docker-ce/linux/centos/docker-ce.repo
#(注意,需要在cd /etc/yum.repos.d/目录下执行该命令)

在这里插入图片描述
如上图所示,表示镜像源已经下载成功

3.3.4安装Docker Ce 社区版本

注意:安装之前先关闭防火墙
查看防火墙是否关闭

firewall-cmd --state

临时关闭

systemctl stop firewalld #(重启centos后失效)

开始安装

yum install -y docker-ce.x86_64

在这里插入图片描述

3.3.5查看是否安装成功
yum list installed | grep docker
#或者
docker --version	#(或:docker version或:docker -v)

4.启动服务

启动

systemctl start docker 
#或者 
service docker start

检查docker进程的运行状态

systemctl status docker 
#或者 
service docker status

查看docker进程

ps -ef | grep docker

查看docker系统信息

docker info 

5.配置阿里镜像加速

地址:https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors(找自己对应生成的加速器地址,写到daemon.json文件中)
即CentOS终端中输入以下命令

vi /etc/docker/daemon.json

在这里插入图片描述
将上图红框内的内容复制到daemon.json文件,并保存退出(按ESC键→:→wq)

1)、进入docker目录:

cd /etc/docker/

2)、修改daemon的类型:

mv daemon.json daemon.conf

3)、[重启docker]:

systemctl daemon-reload && systemctl restart docker

在这里插入图片描述
4)、查看是否成功:

docker info

二、安装Kafka

我们需要拉取两个镜像,分别是kafka和zookeeper。

1.拉取镜像

打开一个终端,通过Docker Pull 命令拉取,直接复制使用即可。

docker pull wurstmeister/zookeeper    

docker pull wurstmeister/kafka 

如果docker对镜像pull的很慢,可以更改国内镜像源,这个已亲自尝试,很好用!
通过使用以下代码修改:

sudo tee /etc/docker/daemon.json <<-'EOF'

{
  "registry-mirrors": ["https://yxzrazem.mirror.aliyuncs.com"]
}
EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

2.启动镜像

需要启动zookeeper和kafka的镜像,并找到相应的container id。
启动zookeeper

docker run -d --name zookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime wurstmeister/zookeeper:latest

启动kafka

docker run -d --name kafka --publish 9092:9092 --link zookeeper -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_HOST_NAME=localhost -e KAFKA_ADVERTISED_PORT=9092 --volume /etc/localtime:/etc/localtime wurstmeister/kafka:latest 

查看已启动的镜像,找到相应的 CONTAINER ID

docker ps

3.配置使用kafka

3.1进入kafka容器内部(第1个终端)

注意将${CONTAINER ID} 改为自己kafka对应的container id,通过docker ps命令查看得到!

docker exec -it ${CONTAINER ID} /bin/bash

3.2进入kafka模块目录

cd /opt/kafka_2.12-1.1.0

3.3创建topic

bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mytopic

3.4创建生产者

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

另开一个新的终端重复上面的步骤:

3.5*进入kafka容器内部(第2个终端)

注意将${CONTAINER ID} 改为自己kafka对应的container id,通过docker ps命令查看得到!

docker exec -it ${CONTAINER ID} /bin/bash

3.6进入kafka模块目录

cd /opt/kafka_2.12-1.1.0

3.7创建消费者

bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic mytopic --from-beginning

3.8运行结果

在生产者终端输入要发送的消息,在消费者终端接收已发送的消息。
在这里插入图片描述

  • 8
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值