zookeeper与kafka集群配置

 基本配置

修改ip

vi /etc/sysconfig/network-scripts/ifcfg-ens33

BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.139.133
NETMASK=255.255.255.0
GATEWAY=192.168.139.2
DNS1=192.168.1.1

zookeeper与kafka集群配置_第1张图片

 修改主机名

hostnamectl set-hostname 

 SSH免密登录

vi /etc/hosts

192.168.139.131 master
192.168.139.132 slave1
192.168.139.133 slave2

密钥
ssh-keygen -t rsa
ls ~/.ssh
ssh-copy-id 192.168.139.132

测试
ssh 192.168.139.132

zookeeper集群配置

vi /etc/profile
===========================================================================
export ZOOKEEPER_HOME=/root/apache-zookeeper-3.7.1-bin
export PATH=$PATH:${ZOOKEEPER_HOME}/bin

source /etc/profle


在 dataDir 目录下创建名为 myid 的文件,在文件第一行写上对应的 Server ID。
echo 1 > myid


vi zoo.cfg
===========================================================================
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/root/apache-zookeeper-3.7.1-bin/data
clientPort=2181
dataLogDir=/root/apache-zookeeper-3.7.1-bin/dataLog
server.1=master:2881:3881
server.2=slave1:2881:3881
server.3=slave2:2881:3881


①、tickTime:基本事件单元,这个时间是作为Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,每隔tickTime时间就会发送一个心跳;最小 的session过期时间为2倍tickTime

②、dataDir:存储内存中数据库快照的位置,除非另有说明,否则指向数据库更新的事务日志。注意:应该谨慎的选择日志存放的位置,使用专用的日志存储设备能够大大提高系统的性能,如果将日志存储在比较繁忙的存储设备上,那么将会很大程度上影像系统性能。

③、client:监听客户端连接的端口。

④、initLimit:允许follower连接并同步到Leader的初始化连接时间,以tickTime为单位。当初始化连接时间超过该值,则表示连接失败。

⑤、syncLimit:表示Leader与Follower之间发送消息时,请求和应答时间长度。如果follower在设置时间内不能与leader通信,那么此follower将会被丢弃。

⑥、server.A=B:C:D
    A:其中 A 是一个数字,表示这个是服务器的编号;
    B:是这个服务器的 ip 地址;
    C:Zookeeper服务器之间的通信端口;
    D:Leader选举的端口。

命令:
zkServer.sh start|stop|status|restart

kafka集群配置


三台机器配置

新建目录
mkdir kafka-logs

vi config/server.properties
broker.id=0
listeners=PLAINTEXT://master:9092
log.dirs=/root/kafka/kafka-logs
zookeeper.connect=mater:2181,slave1:2181,slave2:2181

broker.id=1
listeners=PLAINTEXT://slave1:9092
log.dirs=/root/kafka/kafka-logs
zookeeper.connect=mater:2181,slave1:2181,slave2:2181

broker.id=2
listeners=PLAINTEXT://slave2:9092
log.dirs=/root/kafka/kafka-logs
zookeeper.connect=mater:2181,slave1:2181,slave2:2181

 杀进程

#!/bin/sh
echo "输入要杀的进程名,如:./k-all.sh java"
ps -ef|grep $1|grep -v grep|awk '{print $2}'|xargs kill -9

集群启停

 zookeeper集群启停

#!/bin/bash
ZK_PATH=/root/apache-zookeeper-3.7.1-bin/bin/zkServer.sh
s1=master
s2=slave1
s3=slave2
case $1 in
"start"){
	for i in $s1 $s2 $s3
	do 
		 echo -------------------------------- $i zookeeper 启动 ---------------------------
		ssh $i "source /etc/profile;$ZK_PATH start"
	done
}
;;
"stop"){
	for i in $s1 $s2 $s3
	do
		echo -------------------------------- $i zookeeper 停止 ---------------------------
		ssh $i "source /etc/profile;$ZK_PATH stop"
	done
}
;;
"status"){
	for i in $s1 $s2 $s3
	do
		echo -------------------------------- $i zookeeper 状态 ---------------------------
		ssh $i "source /etc/profile;$ZK_PATH status"
	done
}
;;
esac

 kafka集群启停

#!/bin/bash
s1=master
s2=slave1
s3=slave2
case $1 in
"start"){
	for i in $s1 $s2 $s3
	do 
		 echo -------------------------------- $i kafka 启动 ---------------------------
		ssh $i "source /etc/profile;/root/kafka/bin/kafka-server-start.sh -daemon /root/kafka/config/server.properties"
	done
}
;;
"stop"){
	for i in $s1 $s2 $s3
	do
		echo -------------------------------- $i kafka 停止 ---------------------------
		ssh $i "/root/kafka/bin/kafka-server-stop.sh"
	done
}
;;
esac

服务自启动

例如zookeeper自启动

#!/bin/bash
#chkconfig: 2345 20 90
#description:zookeeper
#processname:zookeeper
export JAVA_HOME=/root/jdk1.8.0_351
app_path=/root/apache-zookeeper-3.7.1-bin/bin/zkServer.sh
case $1 in
	start) $app_path start;;
	stop) $app_path stop;;
	status) $app_path status;;
	restart) $app_path restart;;
	*) echo "start|stop|status|restart";;
esac

查看最近系统启动记录
last reboot |head

 查看系统启动日志

cat /var/log/messages

你可能感兴趣的:(计算机,linux,java,运维)