【安装】kafka基础(3):kafka 单机与集群安装

文章目录

  • 一. zookeeper安装
    • 1. 单节点安装
      • 1.1. 安装
      • 1.2. 操作zk
    • 2. Zk的集群安装
  • 二. kafka安装
    • 1. 单机安装
    • 2. kafka集群安装

一. zookeeper安装

kafka是依赖zk的,所以需要安装zk
kafka支持单机和集群模式,学习阶段推荐使用单机,单机和集群在操作上是没有区别的。

1. 单节点安装

1.1. 安装

1、下载
https://www.apache.org/dyn/closer.lua/zookeeper/zookeeper-3.5.8/apache-zookeeper-3.5.8-bin.tar.gz

2、上传解压
[root@hadoop01 soft]# tar -zxvf apache-zookeeper-3.5.8-bin.tar.gz 


3、修改配置文件
datadir:指向的目录存储的是zk的核心数据,所以不能使用tmp目录。
[root@bigdata01 soft]# cd apache-zookeeper-3.5.8-bin/conf
[root@bigdata01 conf]# mv zoo_sample.cfg  zoo.cfg
[root@bigdata01 conf]# vi zoo.cfg 
dataDir=/data/soft/apache-zookeeper-3.5.8-bin/data


4、启动zk服务
[root@hadoop01 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/soft/apache-zookeeper-3.5.8-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED


验证:看到QuorumPeerMain说明zk启动成功
[root@hadoop01 apache-zookeeper-3.5.8-bin]# jps
53850 QuorumPeerMain
53916 Jps

如果没有此进程,到logs看下zookeeper-*.out这个日志文件

查看当前机器中zk服务的状态
[root@hadoop01 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/soft/apache-zookeeper-3.5.8-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: standalone

注意:使用zkServer.sh默认会连接本机2181端口的zk服务。
默认情况下,zk会监听此端口。之后使用的时候需要知道zk监听的是哪个端口。

 

1.2. 操作zk

1、使用zk的客户端工具连接zk,进入zk命令行

[root@hadoop01 apache-zookeeper-3.5.8-bin]# bin/zkCli.sh 
Connecting to localhost:2181
...

WatchedEvent state:SyncConnected type:None path:null
[zk: localhost:2181(CONNECTED) 0] 

默认会连接本机的zk服务;

连接特定的端口:
bin/zkCli.sh -server localhost:18127

2、操作

zk的目录结构和linux文件系统的目录结构类似。
zk的每一个目录称之为节点(ZNode),ZNode节点本身是可以存储数据的。

常见操作:
创建节点,查看节点,获取节点内容,删除节点,退出
[zk: localhost:2181(CONNECTED) 1] create /test hello
Created /test
[zk: localhost:2181(CONNECTED) 2] ls /
[test, zookeeper]
[zk: localhost:2181(CONNECTED) 3] get /test
hello
[zk: localhost:2181(CONNECTED) 4] deleteall /test
[zk: localhost:2181(CONNECTED) 5] ls /
[zookeeper]
[zk: localhost:2181(CONNECTED) 6] quit

WATCHER::

WatchedEvent state:Closed type:None path:null

deleteall 是递归删除,delete只能删除空节点

 
 

2. Zk的集群安装

Running Replicated ZooKeeper

1、集群节点规划

使用三个节点搭建zk集群。(hadoop01,02,03)

2、下载、上传,解压
3、修改配置
3.1、修改配置文件

[root@bigdata01 soft]# cd apache-zookeeper-3.5.8-bin/conf/
[root@bigdata01 conf]# mv zoo_sample.cfg  zoo.cfg  
dataDir=/data/soft/apache-zookeeper-3.5.8-bin/data
server.0=hadoop01:2888:3888
server.1=hadoop02:2888:3888
server.2=hadoop03:2888:3888


两个端口号:进行对等体连接
更具体的说,使用这两个端口号使得follwers能够在不同的情况下连接leader
第一个端口号:当一个新的leader出现时,由TCP协议,使用此端口号可以连接leader
第二个端口号:用来进行leader的选举。
Finally, note the two port numbers after each server name: " 2888" and "3888". Peers use the former port to connect to other peers. Such a connection is necessary so that peers can communicate, for example, to agree upon the order of updates. More specifically, a ZooKeeper server uses this port to connect followers to the leader. When a new leader arises, a follower opens a TCP connection to the leader using this port. Because the default leader election also uses TCP, we currently require another port for leader election. This is the second port in the server entry.

3.2、创建myid文件

myid文件的值=zoo.cfg中server后指定的编号
例如:0对应hadoop01这台机
[root@bigdata01 conf]#cd /data/soft/apache-zookeeper-3.5.8-bin
[root@bigdata01 apache-zookeeper-3.5.8-bin]# mkdir data
[root@bigdata01 apache-zookeeper-3.5.8-bin]# cd data
[root@bigdata01 data]# echo 0 > myid 

4、拷贝到其他两个节点、修改myid

拷贝
[root@hadoop01 soft]# scp -rq apache-zookeeper-3.5.8-bin hadoop02:/data/soft/
[root@hadoop01 soft]# scp -rq apache-zookeeper-3.5.8-bin hadoop03:/data/soft/

修改myid
[root@bigdata02 ~]# cd /data/soft/apache-zookeeper-3.5.8-bin/data/
[root@bigdata02 data]# echo 1 > myid

5、启动zk集群
分别在三个节点上启动zk进程

[root@bigdata01 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh start
ZooKeeper JMX enabled by default
Using config: /data/soft/apache-zookeeper-3.5.8-bin/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED


验证:
[root@hadoop03 apache-zookeeper-3.5.8-bin]# jps
17986 Jps
17946 QuorumPeerMain


查看:
三个节点中有一个是leader,其他两个是follower
[root@hadoop03 apache-zookeeper-3.5.8-bin]# bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /data/soft/apache-zookeeper-3.5.8-bin/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower

 
 

二. kafka安装

kafka在启动的过程中需要开启zk。
kafka启动的时候不需要scala环境,只有编译源码的时候需要, 运行的时候是在jvm运行的,所以需要jdk环境就可。

1. 单机安装

a. 下载、上传、解压
b. 修改配置参数

修改默认默认目录即可
[root@bigdata01 kafka_2.12-2.4.1]# cd kafka_2.12-2.4.1/config/
[root@bigdata01 config]# vi server.properties
log.dirs=/data/soft/kafka_2.12-2.4.1/kafka-logs

c. 启动kafka和关闭

[root@hadoop01 kafka]# bin/kafka-server-start.sh -daemon config/server.properties 
[root@hadoop01 kafka]# jps
57105 QuorumPeerMain
60132 Jps
59710 Kafka
[root@hadoop01 kafka]# bin/kafka-server-stop.sh 

 
 

2. kafka集群安装

1、节点规划

三个节点(Hadoop01,02,03)。
三个节点没有主从之分,所有节点都是一样的

2、单个节点配置

针对集群模式需要修改

  • broker.id:集群节点id编号,单机模式不用修改。默认是从0开始进行递增。
  • listeners:默认监听9092端口
  • log.dirs:注意:这个目录不是存储日志的,是存储Kafka中核心数据的目录,这个目录默认是指向的tmp目录,所以建议修改一下
  • zookeeper.connect:
    依赖的zk集群的地址,可以指定及集群中的一个或多个节点,多个节点逗号隔开。
     
    针对单机模式,如果kafka和zk在一个节点上,并且zk监听的端口是默认的2181,则不需要修改

配置:

[root@hadoop01 soft]# cd kafka_2.12-2.4.1/config/
[root@hadoop01 config]# vim server.properties 
broker.id=0
log.dirs=/data/kafka-logs
zookeeper.connect=bigdata01:2181,bigdata02:2181,bigdata03:2181


发送kafka到其他两个节点
[root@hadoop01 soft]# scp -rp kafka hadoop03:/data/soft/


3、其他节点修改broker.id
[root@bigdata03 ~]# cd /data/soft/kafka_2.12-2.4.1/config/
[root@bigdata03 config]# vi server.properties 
broker.id=2

4、启动集群
分别在三个节点启动kafka进程

[root@hadoop02 kafka]# bin/kafka-server-start.sh -daemon config/server.properties

jps验证。 

你可能感兴趣的:(kafka,kafka,分布式)