zookeper+kafaka配置安装

前提是安装好JAVA环境
mkdir /data/soft
cd /data/soft
tar zxf zookeeper-3.4.8.tar.gz
/bin/cp -ap zookeeper-3.4.8 /data/mexue_apps/zookeeper
cd /data/mexue_apps/
chown -R root:root zookeeper
cd /data/mexue_apps/zookeeper/conf
/bin/cp -ap zoo_sample.cfg zoo.cfg
cat > /data/mexue_apps/zookeeper/conf/zoo.cfg << EOF
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/data/mexue_apps/zookeeper/data
dataLogDir=/data/mexue_logs/zookeeper
clientPort=2181
server.1=10.45.147.4:3888:4888
server.2=10.45.147.29:3888:4888
server.3=10.25.147.13:3888:4888
#maxClientCnxns=900
#autopurge.snapRetainCount=5
#autopurge.purgeInterval=2
EOF
mkdir -p /data/mexue_apps/zookeeper/data
mkdir -p /data/mexue_logs/zookeeper
cd /data/mexue_apps/zookeeper/data
echo 1 > myid
/data/mexue_apps/zookeeper/bin/zkServer.sh start
#/data/mexue_apps/zookeeper/bin/zkServer.sh stop
ps -ef | grep java
#/data/mexue_apps/zookeeper/bin/zkCli.sh -server 10.45.139.29:2181
##客户端登陆
cd /data/mexue_apps/zookeeper/bin
./zkServer.sh status
##ZooKeeper会自动选出Leader,一旦Leader挂了会选出新的Leader。
##Leader/Follower会通过选举算法进行选择。
##结果中,Mode: leader 代表zookeeper的角色状态,还可以是follower
 
cd /data/soft
tar zxf kafka_2.11-0.10.0.0.tgz
/bin/cp -ap kafka_2.11-0.10.0.0 /data/mexue_apps/kafka
cd /data/mexue_apps/
chown -R root:root kafka
cd /data/mexue_apps/kafka
cat > /data/mexue_apps/kafka/config/server.properties << EOF
port=9092
host.name=10.45.147.4
advertised.host.name=10.45.147.4
advertised.port=9092
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/mexue_logs/kafka
num.partitions=1
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
zookeeper.connect=10.45.147.4:2181, 10.45.147.29::2181,10.25.147.13:2181
EOF
#########################################################
num.network.threads=3
num.io.threads=8
socket.send.buffer.bytes=102400
socket.receive.buffer.bytes=102400
socket.request.max.bytes=104857600
log.dirs=/data/mexue_logs/kafka
num.partitions=6
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
zookeeper.connect=10.45.147.4:2181,10.45.147.29:2181,10.25.147.13:2181
log.flush.interval.messages=100
#########################################################
##kafka的配置文件,生产环境董玉波设置
mkdir -p /data/mexue_logs/kafka
/data/mexue_apps/kafka/bin/kafka-server-start.sh -daemon /data/mexue_apps/kafka/config/server.properties
/data/mexue_apps/kafka/bin/kafka-server-stop.sh /data/mexue_apps/kafka/config/server.properties
#在有的环境中,例如阿里云,存在使用ps -ef | grep kafka出现的结果过长,从而显示不全,导致kafka-server-stop.sh执行失败
#在自己建的内网环境中没有该问题
/data/mexue_apps/kafka/bin/kafka-topics.sh --create --topic mexue  --partitions 2 --replication-factor 2 --zookeeper 10.45.147.4:2181
/data/mexue_apps/kafka/bin/kafka-topics.sh --list --zookeeper 10.25.147.13:2181
/data/mexue_apps/kafka/bin/kafka-topics.sh --list --zookeeper 10.25.147.13:2181
/data/mexue_apps/kafka/bin/kafka-topics.sh --describe --zookeeper 10.45.147.4:2181,10.45.147.29:2181,10.25.147.13:2181 --topic kafka-topic
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --list
#查看group信息
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --group logstash --describe --zookeeper 127.0.0.1:2181
#查看某个消费者group的详细信息的命令
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --list --new-consumer --bootstrap-server 10.45.147.4:9092
#新的查看消费者group的命令
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --group mexue-push-topic_consumer --describe --new-consumer --bootstrap-server 10.45.147.4:9092  
#新的查看某个消费者group的详细信息的命令
/data/mexue_apps/kafka/bin/kafka-console-producer.sh --broker-list 10.45.147.29:9092 --topic kafka-topic
/data/mexue_apps/kafka/bin/kafka-console-consumer.sh --zookeeper 10.25.147.13:2181 --from-beginning --topic kafka-topic
/data/mexue_apps/kafka/bin/kafka-console-consumer.sh --zookeeper 10.25.147.13:2181 --from-beginning --topic kafka-topic >> /tmp/1111 &
tailf /tmp/1111
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --list
#可以查看消费者的group信息
/data/mexue_apps/kafka/bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --describe --group console-consumer-63719
#可以查看消费者的某个group的详情,包含topic,partition,current-offset,log-end-iffset,lag
/data/mexue_apps/kafka/bin/kafka-replica-verification.sh --broker-list 192.168.2.83:9092 --topic-white-list mexue
#可以动态检查kafka复制的max lag的复制延迟情况
vim /data/mexue_apps/kafka/bin/kafka-server-start.sh
if [ "x$KAFKA_HEAP_OPTS" = "x" ]; then
    export KAFKA_HEAP_OPTS="-Xmx1G -Xms1G"
    export JMX_PORT="9999"
    #export KAFKA_JMX_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false  -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=$ip"
fi
#修改该文件可以设置kafka的最大使用内存,还可以启用kafka的jvm监控
supervisor管理zookeeper
=======================================================================

由于Zookeeper是快速失败(fail-fast)的,且遇到任何错误情况,进程均会退出

因此,最好能通过监控程序将Zookeeper管理起来,保证Zookeeper退出后能被自动重启

因此一定要将zookeeper用supervisor管理起来

[program:zk]

command=/home/zookeeper/bin/zkServer.sh  start-foreground

 

[program:kafka]

command=/usr/local/kafka02/bin/kafka-server-start.sh  /usr/local/kafka02/config/server.properties



配置zookeeper启动内存

=======================================================================

配置bin目录下的zkServer.sh,使用vim打开,加入参数:

 

 vi zkServer.sh  +30

JVMPARAM="-Xms1024M -Xmx1024M -Xmn512M"

 

加入到141行:

 

vi zkServer.sh  +141

nohup "$JAVA" "-Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" \

-cp "$CLASSPATH" $JVMFLAGS $JVMPARAM $ZOOMAIN "$ZOOCFG" > "$_ZOO_DAEMON_OUT" 2>&1 < /dev/null &

 

使用jmap命令查看:

jmap -head 2204

#2204是zookeeper的进程号

 

从上图可知,已经生效。

 

使用命令:zkCli.sh –server 10.77.20.23:2181 确认客户端能连上。

注意:nohup $JAVA "-Xms1000M -Xmx1000M -Xmn512M -Dzookeeper.log.dir=${ZOO_LOG_DIR}" "-Dzookeeper.root.logger=${ZOO_LOG4J_PROP}" 

不能直接加在nohup命令后面,会提示“初始化堆失败,无法创建虚拟机”


kafka-manager安装


需要JDK8+

tar zxf jdk-8u91-linux-x64.tar.gz
mkdir -p /data/mexue_apps/jdk/
/bin/cp -ap jdk1.8.0_91/* /data/mexue_apps/jdk/
cat > /etc/profile.d/java.sh << 'EOF'
export JAVA_HOME=/data/mexue_apps/jdk
export JRE_HOME=/data/mexue_apps/jdk/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
EOF
source /etc/profile.d/java.sh
java -version
cd kafka-manager/
./sbt clean dist
#此步骤是是编译kafka-manager源码,会下载很多组件,非常费时,建议翻墙

cd /data/soft/kafka-manager/target/universal
#编译好的文件在这个目录
unzip kafka-manager-1.3.1.6.zip
#解压缩这个文件,可以单独保存这个文件,把这个文件放到一个安装好java环境的机器上直接启动,不用每次重新编译
cd kafka-manager-1.3.1.6
vim conf/application.conf
#修改conf/application.conf,把kafka-manager.zkhosts改为自己的zookeeper服务器地址
#这个配置文件可以增加认证,配置该工具的管理功能,能修改或者只查看等
#可以启动多个kafka-manager配置不同级别的权限,使用不同的密码认证
#修改conf/application.conf中的kafka-manager.zkhosts="ip:port"即可,其他行可以删除。
./kafka-manager -h
#查看帮助
nohup ./kafka-manager -Dconfig.file=../conf/application.conf >/dev/null 2>&1 & 
#后台启动,默认http端口是9000,可以修改配置文件里的http.port的值,或者通过命令行参数传递:./kafka-manager -Dhttp.port=9001
#正常来说,play框架应该会自动加载conf/application.conf配置里的内容,但是貌似这个不起作用,要显式指定才行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值