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. Python_Day2_共享你的代码

    一.编写简单的函数,保存一下. # coding=utf-8 """ 这是“nester.py”模块,提供了一个名为print_lol的函数,这个函数的作用是打印列表,其 ...

  2. mount.cifs Windows共享目录权限755问题

    umount -l /usr/local/tomcat7/webapps/dsideal_yy/html/down mount -t cifs -o rw,dir_mode=,file_mode=,s ...

  3. JDK5不定参数方法

    jdk5之后出现了调用方法时传递不定参数的情况,如下所示: List<Intrger> list1 = Arrays.asList(new Integer[]{1,2,3}); List& ...

  4. 三种Timer

    一.基于 Windows 的标准计时器(System.Windows.Forms.Timer) 首先注意一点就是:Windows 计时器是为单线程环境设计的.它直接继承自Componet.Timer控 ...

  5. 详解C++中基类与派生类的转换以及虚基类

    很详细!转载链接 C++基类与派生类的转换在公用继承.私有继承和保护继承中,只有公用继承能较好地保留基类的特征,它保留了除构造函数和析构函数以外的基类所有成员,基类的公用或保护成员的访问权限在派生类中 ...

  6. commons-dbutils 字段名称转换,支持驼峰字段名

    你能遇到的问题,只要是普遍存在的,大家都会遇到,那么,就一定有现成的解决方案. 在阅读 commons-dbutils 的文档时, BeanHandler 的第二个参数可以达到这个目的.只需传入一个实 ...

  7. Apache Kylin在美团点评的应用

      本文原载自大数据杂谈微信公众号. 感谢美团点评工程师高大月撰文并授权转载. 高大月,美团点评工程师,Apache Kylin PMC成员,目前主要在美团点评数据平台负责OLAP查询引擎的建设. 背 ...

  8. jsp实现大文件上传分片上传断点续传

    1,项目调研 因为需要研究下断点上传的问题.找了很久终于找到一个比较好的项目. 在GoogleCode上面,代码弄下来超级不方便,还是配置hosts才好,把代码重新上传到了github上面. http ...

  9. PPP

    名称 chat–调制解调器的自动对话脚本 命令格式 chat [options] script 描述 Chat程序定义了一个计算机和调制解调器之间对话交流,其主要目的是用来在本地PPPD和远端PPPD ...

  10. FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,

    在对nginx添加fastCGI的支持后,然后进行php页面验证,发现页面识别不到,不清楚什么情况,随后google了下,原来是Nginx内置变量问题惹的祸. 1.平台介绍: 1 2 3 4 5 6 ...