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. mysql学习之基础篇04

    五种基本子句查询 查询是mysql中最重要的一环,我们今天就来说一下select的五种子句中的where条件查询: 首先我们先建立一张商品表:goods 由于商品数目太多,我就不一一列举了. 在这里我 ...

  2. atoi()和itoa()函数详解以及C语言实现

    atoi()函数 atoi()原型:  int atoi(const char *str ); 函数功能:把字符串转换成整型数. 参数str:要进行转换的字符串 返回值:每个函数返回 int 值,此值 ...

  3. 生成1~n的排列(模板),生成可重集的排列(对应紫书P184, P185)

    生成1~n的排列: #include<iostream> using namespace std; void print_permutation(int n, int *A, int cu ...

  4. Win10任务栏卡死解决方法

    有时,切换输入法,或者点击windows底部菜单,电脑鼠标会变成忙碌转圈圈的状态,无法操作底部菜单功能: 1. ctrl+shift+esc(或者ctrl+alt+delete)的方式调出任务管理器: ...

  5. 简单理解和使用 C# 委托与事件

    委托和事件 委托:委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程 ...

  6. 0029redis单机版环境搭建

    linux环境下安装单机版redis,主要分为如下几步: 1. 安装gcc 2.下载安装包 3.解压安装包 4.进入解压目录并执行make和make install命令 5.查看默认安装目录 6.更改 ...

  7. nachos3.4 threads管理 (c++)

    Main.cc //引导代码初始化操作系统内核.允许直接调用内部操作系统功能,简化调试和测试.在实践中,bootstrap代码只会初始化数据结构, //并启动一个用户程序来打印登录提示.//许多内容只 ...

  8. 【学习笔记】Baby Step Giant Step算法及其扩展

    1. 引入 Baby Step Giant Step算法(简称BSGS),用于求解形如\(a^x\equiv b\pmod p\)(\(a,b,p\in \mathbb{N}\))的同余方程,即著名的 ...

  9. ES 大批量写入提高性能的策略

    1.用bulk批量写入 你如果要往es里面灌入数据的话,那么根据你的业务场景来,如果你的业务场景可以支持让你将一批数据聚合起来,一次性写入es,那么就尽量采用bulk的方式,每次批量写个几百条这样子. ...

  10. Kibana 的安装(Windows版本)

    一.安装 安装条件 保证安装了JDK 保证安装node 保证安装了Elasticsearch 1.点击kibana官网下载  [kibana的版本和elasticsearch的版本和必须一致] 2.修 ...