1、软件环境

(3台服务器-测试)
10.11.12.31 mykafka1
10.11.12.32 mykafka2
10.11.12.33 mykafka3

[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.2.1511 (Core)
[root@localhost ~]# lscpu
[root@localhost ~]# free -m
[root@localhost ~]# df -h
[root@localhost opt]# hostnamectl set-hostname mykafka1
[root@localhost opt]# yum list java*
Installed Packages
java-1.8.0-openjdk.x86_64 1:1.8.0.65-3.b17.el7 @anaconda
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.65-3.b17.el7
[root@localhost opt]# yum list installed|grep java*
java-1.8.0-openjdk.x86_64 1:1.8.0.65-3.b17.el7 @anaconda
java-1.8.0-openjdk-headless.x86_64 1:1.8.0.65-3.b17.el7 @anaconda
--如果没有安装java,则需要安装java
--yum -y install java-1.8.0-openjdk*
--centos 7 自带

2 安装zookeeper

下载安装包,本地安装包路径
[root@mykafka1 opt]# ll
total 88132
-rw-r--r--. 1 root root 55201623 Nov 29 10:34 kafka_2.12-2.1.0.tgz
-rw-r--r--. 1 root root 35042811 Nov 29 10:35 zookeeper-3.4.10.tar.gz
[root@mykafka1 opt]# scp kafka_2.12-2.1.0.tgz zookeeper-3.4.10.tar.gz root@10.11.12.32:/opt/.
[root@mykafka1 opt]# scp kafka_2.12-2.1.0.tgz zookeeper-3.4.10.tar.gz root@10.11.12.33:/opt/.
--没有就下载
--wget --no-check-certificate https://www.apache.org/dist/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
[root@mykafka1 opt]# tar zxvf zookeeper-3.4.10.tar.gz -C /usr/local/
[root@mykafka1 local]# cd /usr/local/zookeeper-3.4.10/
[root@mykafka1 zookeeper-3.4.10]# mkdir {logs,data}
[root@mykafka1 zookeeper-3.4.10]# cd conf/
[root@mykafka1 conf]# cp zoo_sample.cfg zoo.cfg
[root@mykafka1 conf]# cat /usr/local/zookeeper-3.4.10/conf/zoo.cfg |grep -Ev "^#|^$"
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/usr/local/zookeeper-3.4.10/data/
dataLogDir=/usr/local/zookeeper-3.4.10/log/
clientPort=2181
server.1=10.11.12.31:2888:3888
server.2=10.11.12.32:2888:3888
server.3=10.11.12.33:2888:3888

#server.1 这个1是服务器的标识也可以是其他的数字, 表示这个是第几号服务器,用来标识服务器,这个标识要写到快照目录下面myid文件里
#10.11.12.33为集群里的IP地址,第一个端口是master和slave之间的通信端口,默认是2888,第二个端口是leader选举的端口,集群刚启动的时候选举或者leader挂掉之后进行新的选举的端口默认是3888

创建myid文件
#server1
[root@mykafka1 conf]# echo "1" > /usr/local/zookeeper-3.4.10/data/myid
#server2
[root@mykafka2 conf]# echo "2" > /usr/local/zookeeper-3.4.10/data/myid
#server3
[root@mykafka3 conf]# echo "3" > /usr/local/zookeeper-3.4.10/data/myid

1、myid文件和server.myid 在快照目录下存放的标识本台服务器的文件,他是整个zk集群用来发现彼此的一个重要标识。
2、zoo.cfg 文件是zookeeper配置文件 在conf目录里。
3、log4j.properties文件是zk的日志输出文件 在conf目录里用java写的程序基本上有个共同点日志都用log4j,来进行管理。

[root@mykafka1 conf]# head -n 30 log4j.properties
# Define some default values that can be overridden by system properties
zookeeper.root.logger=INFO, CONSOLE
zookeeper.console.threshold=INFO
zookeeper.log.dir=.
zookeeper.log.file=zookeeper.log
zookeeper.log.threshold=DEBUG
zookeeper.tracelog.dir=.
zookeeper.tracelog.file=zookeeper_trace.log

zkServer.sh 主的管理程序文件
zkEnv.sh 是主要配置,zookeeper集群启动时配置环境变量的文件

启动zookeeper 启动顺序zookeeper-1>zookeeper-2>zookeeper-3
--/usr/local/zookeeper-3.4.10/bin/zkServer.sh start /usr/local/zookeeper-3.4.10/conf/zoo.cfg

[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh start /usr/local/zookeeper-3.4.10/conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/conf/zoo.cfg
Starting zookeeper ... STARTED
[root@mykafka2 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh start /usr/local/zookeeper-3.4.10/conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/conf/zoo.cfg
Starting zookeeper ... STARTED
[root@mykafka3 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh start /usr/local/zookeeper-3.4.10/conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/conf/zoo.cfg
Starting zookeeper ... STARTED

[root@mykafka1 config]# ps -ef|grep zookeeper

查看leader
--/usr/local/zookeeper-3.4.10/bin/zkServer.sh status /usr/local/zookeeper-3.4.10/conf/zoo.cfg
--[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status
[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status /usr/local/zookeeper-3.4.10/conf/zoo.cfg
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/conf/zoo.cfg
Error contacting service. It is probably not running.
发现错误,检查配置文件,应该没问题,可能是防火墙(3台一样的处理)
[root@mykafka1 conf]# systemctl status firewalld.service
[root@mykafka1 conf]# systemctl stop firewalld.service
[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh restart
[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

3台都重启后,发现1位leader,另外两台是follower
[root@mykafka1 conf]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: leader
[root@mykafka2 config]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower
[root@mykafka3 config]# /usr/local/zookeeper-3.4.10/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /usr/local/zookeeper-3.4.10/bin/../conf/zoo.cfg
Mode: follower

3 Kafka集群搭建

[root@mykafka1 opt]# tar zxvf kafka_2.12-2.1.0.tgz -C /usr/local/
[root@mykafka1 opt]# cd /usr/local/kafka_2.12-2.1.0/config/
broker.id=0
listeners=PLAINTEXT://10.11.12.31:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181

---mykafka2
broker.id=1
listeners=PLAINTEXT://10.11.12.32:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181

--mykafka3
broker.id=2
listeners=PLAINTEXT://10.11.12.33:9092
log.dirs=/tmp/kafka-logs
zookeeper.connect=10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181

[root@mykafka1 config]# vim /etc/profile
export KAFKA_HOME=/usr/local/kafka_2.12-2.1.0
PATH=${KAFKA_HOME}/bin:$PATH
export PATH
[root@mykafka1 config]# source /etc/profile

启动kafka
[root@mykafka1 config]# /usr/local/kafka_2.12-2.1.0/bin/kafka-server-start.sh -daemon /usr/local/kafka_2.12-2.1.0/config/server.properties
[root@mykafka1 config]# ps -ef|grep kafka

创建topic–test
--/usr/local/kafka_2.12-2.1.0/bin/kafka-topics.sh --create --zookeeper 10.11.12.31:2181 --replication-factor 3 --partitions 3 --topic hongquan
#解释
--replication-factor 3 #复制3份
--partitions 3 #创建3个分区
--topic #主题为hongquan

#创建一个broker,发布者

/usr/local/kafka_2.12-2.1.0/bin/kafka-console-producer.sh --broker-list 10.11.12.31:9092 --topic hongquan

# 创建一个订阅者

/usr/local/kafka_2.12-2.1.0/bin/kafka-console-consumer.sh --zookeeper 10.11.12.32:2181 --from-beginning --topic hongquan

/usr/local/kafka_2.12-2.1.0/bin/kafka-topics.sh --describe --zookeeper 10.11.12.31:2181 --topic test
查看topic
/usr/local/kafka_2.12-2.1.0/bin/kafka-topics.sh --list --zookeeper 10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181
查看topic状态
/usr/local/kafka_2.12-2.1.0/bin/kafka-topics.sh --describe --zookeeper 10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181 --topic hongquan

4 kafka-manager安装

官网下载,git clone https://github.com/yahoo/kafka-manager.git,这里下载的需要进行源码编译,有点麻烦,这里采用编译好的包

kafka-manager-1.3.3.7.zip 此安装包可以在baidu网盘上进行下载

链接: https://pan.baidu.com/s/15dneVAnMx76qaKV2SuSKDw 提取码: knie

[root@mykafka1 opt]# unzip kafka-manager-1.3.3.7.zip -d /data/
[root@mykafka1 opt]# cd /data/kafka-manager-1.3.3.7/conf/
[root@mykafka1 conf]# cp application.conf application.conf.bk
[root@mykafka1 conf]# vim application.conf
kafka-manager.zkhosts="10.11.12.31:2181,10.11.12.32:2181,10.11.12.33:2181"

kafka-manager 默认的端口是9000,可通过 -Dhttp.port,指定端口; -Dconfig.file=conf/application.conf指定配置文件:
[root@mykafka1 kafka-manager-1.3.3.7]# nohup bin/kafka-manager -Dconfig.file=conf/application.conf -Dhttp.port=8080 &

[root@mykafka1 kafka-manager-1.3.3.7]# tail -f -n 100 nohup.out

-登录网址

--http://10.11.12.31:8080

添加cluster

--点击查看

====

源码编译参考文章:https://www.cnblogs.com/frankdeng/p/9584870.html

[root@mykafka1 opt]# curl https://bintray.com/sbt/rpm/rpm > bintray-sbt-rpm.repo
[root@mykafka1 opt]# mv bintray-sbt-rpm.repo /etc/yum.repos.d/
[root@mykafka1 opt]# yum install sbt
[root@mykafka1 opt]# sbt -version

[root@mykafka1 opt]# cd /usr/local/kafka-manager-1.3.3.18/
[root@mykafka1 kafka-manager-1.3.3.18]# ./sbt clean dist

kafka集群安装和kafka-manager的更多相关文章

  1. kafka集群安装部署

    kafka集群安装 使用的版本 系统:centos6.5 centos6.7 jdk:1.7.0_79 zookeeper:3.4.9 kafka:2.10-0.10.1.0 一.环境准备[只列,不具 ...

  2. kafka 集群安装与安装测试

    一.集群安装 1. Kafka下载:wget https://archive.apache.org/dist/kafka/0.8.1/kafka_2.9.2-0.8.1.tgz 解压 tar zxvf ...

  3. kafka集群安装与配置

    一.集群安装 1. Kafka下载: 可以从kafka官方网站(http://kafka.apache.org)上找到下载地址,再wgetwget http://mirrors.cnnic.cn/ap ...

  4. zookeeper+kafka集群安装之二

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

  5. zookeeper+kafka集群安装之一

    zookeeper+kafka集群安装之一 准备3台虚拟机, 系统是RHEL64服务版. 1) 每台机器配置如下: $ cat /etc/hosts ... # zookeeper hostnames ...

  6. zookeeper+kafka集群安装之中的一个

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/cheungmine/article/details/26678877 zookeeper+kafka ...

  7. KafKa集群安装详细步骤

    最近在使用Spring Cloud进行分布式微服务搭建,顺便对集成KafKa的方案做了一些总结,今天详细介绍一下KafKa集群安装过程: 1. 在根目录创建kafka文件夹(service1.serv ...

  8. Kafka 集群安装

    Kafka 集群安装 环境: Linux 7.X kafka_2.x 在linux操作系统中,kafka安装在 /u04/app目录中 1. 下载 # wget https://mirrors.cnn ...

  9. KafKa集群安装、配置

    一.事前准备 1.kafka官网:http://kafka.apache.org/downloads. 2.选择使用版本下载. 3.kafka集群环境准备:(linux) 192.168.145.12 ...

  10. Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装

    Centos7.4 kafka集群安装与kafka-eagle1.3.9的安装 集群规划: hostname Zookeeper Kafka kafka-eagle kafka01 √ √ √ kaf ...

随机推荐

  1. 关于nginx性能优化及基本概念

    参考文章: Nginx面试中最常见的18道题:http://blog.csdn.net/liyanlei5858/article/details/77924420 Nginx性能优化指南:http:/ ...

  2. iphone的一些坑

    1.<div contenteditable></div>需要添加css user-select: text;才能输入. 2.css属性animation一直存在,添加了-we ...

  3. 在调用boostrap的model时获取到是哪个html元素调用

    调用的html代码: <a class="bk-round bk-border-info bk-border-darken bk-bg-lighten bk-border-3x bk- ...

  4. noi2009变换序列

    noi2009变换序列 一.题目 1843 变换序列 2009年NOI全国竞赛  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 大师 Master 题解       题目描述  ...

  5. django实现日期分类效果

    日期分类效果图 实现功能:能够按照月份进行分类,统计每个月份的文章数量,没有文章的月份不显示.点击每栏可以链接的当月的文章列表. 每月文章列表可以使用django的通用视图MonthArticleVi ...

  6. 20个PHP面试题及答案

    php学了那么久了,先来小试牛刀,看下这些PHP程序员面试题都会不会?初级题目1.问题:请用最简单的语言描述PHP是什么?答:PHP全称:Hypertext Preprocessor,是一种用来开发动 ...

  7. LightOJ - 1104 概率

    题意:每年n天,求最少几个人使这些人中最少两个人生日相同的概率大于0.5 题解:直接递推,假设有k个人,所有情况为n^k,没有相同的情况为n*(n-1)*...*(n-k+1),可以算出1e5以内不超 ...

  8. JAVA实现多线程的四种方式

    JAVA多线程实现方式: 1.继承Thread类(无返回值) 2.实现Runnable接口(无返回值) 3.实现Callable接口,通过FutureTask包装器来创建Threak线程(有返回值) ...

  9. windows下安装 redis并开机自启动

    1,redis官方下载地址:https://redis.io/download,redis 64位下载地址:https://github.com/ServiceStack/redis-windows, ...

  10. https页面 和 http请求的问题

    (1)强制升级http 静态资源地址为https地址 https页面中不能使用http请求,http页面中可以使用https请求. 关于在https 页面有一些http的请求,可以在<head& ...