Ubuntu中安装zookeeper及kafka并配置环境变量

 

首先安装zookeeper

zookeeper需要jdk环境,请在jdk安装完成的情况下安装zookeeper
1.从官网下载zookeeper
http://mirror.bit.edu.cn/apache/zookeeper/,版本可以根据自己需要选择使用,个人建议使用比最新版本低一点的版本,比较稳定

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/zookeeper-3.5.5/

2.将下载后的压缩包复制到安装目录下,并加压,以zookeeper-3.4.11.tar.gz为例
tar -zxvf zookeeper-3.4.11.tar.gz
3.配置环境变量,我比较喜欢配置全局性环境变量,即在/etc/profile配置
首先打开/etc/profile:sudo vim /etc/profile
export ZOOKEEPER_HOME=/home/xxx/software/zookeeper-3.4.11
export PATH=$PATH:$ZOOKEEPER_HOME/bin
保存完成之后,加载环境变量:source /etc/profile
4.将zookeeper/conf下的zoo_sample.cfg复制一份并重命名为zoo.cfg并修改其中dataDir的路径
个人建议在zookeeper下新建mydata文件夹,用于存储数据:
dataDir=/home/xxx/software/zookeeper-3.4.11/mydata
5.检查是否安装配置成功
命令:zkServer.sh

关闭zookeeper:zkServer.sh stop

安装kafka

1.从官网下载kafka安装包:http://kafka.apache.org/downloads

2.将下载后的压缩包复制到安装目录下,并加压,以kafka_2.12-1.0.0.tgz为例
tar -zxvf kafka_2.12-1.0.0.tgz
3.修改conf中的server.properties文件中的日志目录log.dirs,可在kafka目录下新建mylog文件,并将路径指向此处
log.dirs=/home/xxx/software/kafka_2.12/mylog
4.配置环境变量
export KAFKA_HOME=/home/xxx/software/kafka_2.12
export PATH=$PATH:$KAFKA_HOME/bin
5.启动kafka,检查是否安装成功
bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

安装 kafka 需要先安装 jdk。
一、下载
官网:http://kafka.apache.org/downloads.html

二、安装 
安装参考:https://segmentfault.com/a/1190000012990954

1. 解压安装(我的安装目录/opt/kafka/)

# tar -zvxf kafka_2.11-2.1.0.tgz

2.  修改配置

# vim /opt/kafka/kafka_2.11-2.1.0/config/server.properties

3. 修改其中

listeners=PLAINTEXT://ip:9092

注:ip指的是本机ip地址

三、验证
 1. 使用安装包中的脚本启动单节点Zookeeper实例:

# cd  /opt/kafka/kafka_2.11-2.1.0

# bin/zookeeper-server-start.sh -daemon config/zookeeper.properties

2. 使用kafka-server-start.sh启动kafka服务:

# bin/kafka-server-start.sh config/server.properties

3. 使用kafka-topics.sh 创建但分区单副本的topic test

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

4. 使用kafka-console-producer.sh 发送消息

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

5. 使用kafka-console-consumer.sh 接收消息并在终端打印

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

四、配置开机自启(systemctl)
1. 在 /lib/systemd/system/ 目录下创建 zookeeper服务和kafka服务 的配置文件。

# vim zookeeper.service

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:/opt/java/jdk-11.0.1/bin"
User=root
Group=root
ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/zookeeper.properties
ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

# vim kafka.service

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:/opt/java/jdk-11.0.1/bin"
User=root
Group=root
ExecStart=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-start.sh /opt/kafka/kafka_2.11-2.1.0/config/server.properties
ExecStop=/opt/kafka/kafka_2.11-2.1.0/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

注:以上两个文件 根据自己的 jdk 和 kafka 安装目录相应的修改。

2. 刷新配置。

# systemctl daemon-reload

3. zookeeper、kafka服务加入开机自启。

#systemctl enable zookeeper

#systemctl enable kafka

4. 使用systemctl启动/关闭/重启 zookeeper、kafka服务systemctl start/stop/restart  zookeeper/kafka。

注:启动kafka前必须先启动zookeeper 。

# systemctl start zookeeper

# systemctl start kafka

5. 查看状态。

# systemctl status zookeeper

# systemctl status kafka

--------------------------------------------------本地部署------------------------------------------

环境变量
#java
export JAVA_HOME=/usr/java/
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
#zookeeper
export ZOOKEEPER_HOME=/usr/kafka_2.12-2.2.0/
export PATH=$PATH:$ZOOKEEPER_HOME/bin
#kafka
export KAFKA_HOME=/usr/kafka_2.12-2.2.0
export PATH=$PATH:$KAFKA_HOME/bin

ZooKeeper
https://www.cnblogs.com/kingsonfu/p/10631332.html
https://blog.csdn.net/ybk233/article/details/81266667
KafKa
https://blog.csdn.net/csdnlihai/article/details/87787236

#ZooKeeper 服务创建
[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/bin"
User=root
Group=root
ExecStart=/usr/kafka_2.12-2.2.0/bin/zookeeper-server-start.sh /usr/kafka_2.12-2.2.0/config/zookeeper.properties
ExecStop=/usr/kafka_2.12-2.2.0/bin/zookeeper-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

#kafka服务创建
[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/bin"
User=root
Group=root
ExecStart=/usr/kafka_2.12-2.2.0/bin/kafka-server-start.sh /usr/kafka_2.12-2.2.0/config/server.properties
ExecStop=/usr/kafka_2.12-2.2.0/bin/kafka-server-stop.sh
Restart=on-failure

[Install]
WantedBy=multi-user.target

 

zookeeper/kafka的部署的更多相关文章

  1. Zookeeper+Kafka集群部署(转)

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  2. Zookeeper+Kafka完全分布式实战部署

    Zookeeper+Kafka完全分布式实战部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 其实我之前部署过kafak和zookeeper的完全分布式,集群是可以正常使用没错, ...

  3. Zookeeper+Kafka集群部署

    Zookeeper+Kafka集群部署 主机规划: 10.200.3.85  Kafka+ZooKeeper 10.200.3.86  Kafka+ZooKeeper 10.200.3.87  Kaf ...

  4. zookeeper与kafka安装部署及java环境搭建(发布订阅模式)

    1. ZooKeeper安装部署 本文在一台机器上模拟3个zk server的集群安装. 1.1. 创建目录.解压 cd /usr/ #创建项目目录 mkdir zookeeper cd zookee ...

  5. 在kubernetes上部署zookeeper,kafka集群

    本文采用网上镜像:mirrorgooglecontainers/kubernetes-zookeeper:1.0-3.4.10 准备共享存储:nfs,glusterfs,seaweed或其他,并在no ...

  6. zookeeper+kafka集群安装之二

    zookeeper+kafka集群安装之二 此为上一篇文章的续篇, kafka安装需要依赖zookeeper, 本文与上一篇文章都是真正分布式安装配置, 可以直接用于生产环境. zookeeper安装 ...

  7. 搭建zookeeper+kafka集群

      搭建zookeeper+kafka集群 一.环境及准备 集群环境:   软件版本: 部署前操作: 关闭防火墙,关闭selinux(生产环境按需关闭或打开) 同步服务器时间,选择公网ntpd服务器或 ...

  8. Apache Kafka: 优化部署的10个最佳实践

    原文作者:Ben Bromhead      译者:江玮 原文地址:https://www.infoq.com/articles/apache-kafka-best-practices-to-opti ...

  9. zookeeper 单机集成部署

    概述 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等,是很多分布式的基础设置,比如dubbo,k ...

随机推荐

  1. 可观测委托与map委托原理详解

    在上一次https://www.cnblogs.com/webor2006/p/11369333.html中学习了委托属性,然后它在实际中有四种使用情况: 接下来则学习一下另外两种属性委托的使用. 可 ...

  2. readme.txt 为什么我们不重视

    1.很多源码项目下面都有编译说明,readme 2.我们的电脑上每个目录都有很多文件,我们似乎可以建立一个readme.txt 知道是什么 节约一些时间

  3. MySQL 查询排除指定字段、自定义变量、动态执行SQL

    今天在项目中,要查询一个表.这个表中有几十个字段.但是要把其中的一个特殊处理. 这个该怎么办呢?查来查去,SQL 中没有排除某一些字段的语句,只能单独写一些语句来处理: 基本思路:对于MySQL数据库 ...

  4. 团队作业第六次—团队Github实战训练(追光的人)

    所属课程 软件工程1916 作业要求 团队作业第六次-团队Github实战训练 团队名称 追光的人 作业目标 搭建一个相对公平公正的抽奖系统,根据QQ聊天记录,完成从统计参与抽奖人员颁布抽奖结果的基本 ...

  5. keras模块学习之泛型模型学习笔记

    本笔记由博客园-圆柱模板 博主整理笔记发布,转载需注明,谢谢合作! Keras泛型模型接口是:  用户定义多输出模型.非循环有向模型或具有共享层的模型等复杂模型的途径  适用于实现:全连接网络和多输入 ...

  6. 导出到CSV文件

    一.手工导出导出 1.winform void DataGridViewToExcel(DataGridView dataGridView1) { SaveFileDialog saveFileDia ...

  7. 为什么要使用ConcurrentHashMap

    好久没写过技术性文章了,还是要坚持下去.掌握的知识,能写出来或者是讲给别人听才是真正的掌握了知识,如果不善于给别人讲,实际上还是没有真正掌握相关的知识,挑个简单的写吧. 面试的时候经常会被问到hash ...

  8. 【Python数据挖掘】第三篇--Numpy 和 可视化

    一.Numpy 数组是一系列同类型数据的集合,可以被非零整数进行索引,可以通过列表进行数组的初始化,数组也可以通过索引进行切片. Numpy提供了几乎全部的科学计算方式. # numpy 导入方式: ...

  9. django 第五天 自定义标签 静态文件

    昨日忘记上传,先预留位置,稍后补上

  10. asp.net文件夹上传下载组件

    ASP.NET上传文件用FileUpLoad就可以,但是对文件夹的操作却不能用FileUpLoad来实现. 下面这个示例便是使用ASP.NET来实现上传文件夹并对文件夹进行压缩以及解压. ASP.NE ...