CentOS6 Install kafka

一.zookeeper集群安装

 原文链接:http://www.cnblogs.com/caoguo/p/5958608.html 

# 环境

192.168.190.152
192.168.190.153
192.168.190.154

 


Install jdk

# tar zxvf jdk-8u65-linux-x64.tar.gz
# mv jdk1.8.0_65 /usr/local/
# vi /etc/profile.d/jdk.sh 
JAVA_HOME=/usr/local/jdk1.8.0_65
export JAVA_HOME
PATH=$JAVA_HOME/bin:$PATH
export PATH

# source /etc/profile

 

 


Install zookeeper

# wget http://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.9/zookeeper-3.4.9.tar.gz

# tar zxvf zookeeper-3.4.9.tar.gz
# mv zookeeper-3.4.9 /usr/local/
# useradd zookeeper
# chown -R zookeeper.zookeeper /usr/local/zookeeper-3.4.9

# cd /usr/local/zookeeper-3.4.9/conf/
# cp zoo_sample.cfg zoo.cfg
# mkdir /etc/zookeeper
# ln -sf /usr/local/zookeeper-3.4.9/conf/zoo.cfg /etc/zookeeper/
# mkdir -p /var/lib/zookeeper
# chown -R zookeeper:zookeeper /var/lib/zookeeper

# 用来标识主机
#echo 1 > /var/lib/zookeeper/myid
#echo 2 > /var/lib/zookeeper/myid 
#echo 3 > /var/lib/zookeeper/myid

 

 

# vi /etc/zookeeper/zoo.cfg 
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zookeeper
clientPort=2181
maxClientCnxns=0
server.1=192.168.190.152:2888:3888
server.2=192.168.190.153:2888:3888
server.3=192.168.190.154:2888:3888

 

[root@localhost ~]# vi /etc/init.d/zookeeper 
#! /bin/sh
#
# chkconfig: 2345 90 10
# description: zookeeper daemon

. /etc/init.d/functions

# You will probably want to change only two following lines.
BASEDIR="/usr/local/zookeeper-3.4.9"
USER="zookeeper"

PROG="zookeeper"
CMD="bin/zkServer.sh"
RETVAL=0

start () {
echo -n $"Starting ${PROG}: "
runuser ${USER} -c "cd ${BASEDIR}
${CMD} start > /dev/null &"
echo
}

stop () {
echo -n $"Stopping ${PROG}: "
runuser ${USER} -c "cd ${BASEDIR}
${CMD} stop > /dev/null &"
echo
}

restart () {
stop
start
}


# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
*)
echo $"Usage: $0 {start|stop|status}"
RETVAL=2
;;
esac

exit $RETVAL

# chmod 755 /etc/init.d/zookeeper
# /etc/init.d/zookeeper start
# chkconfig zookeeper on

 

 

# ./zkCli.sh

# 查看当前节点列表
[zk: localhost:2181(CONNECTED) 6] ls /
[zookeeper]

# 创建节点
[zk: localhost:2181(CONNECTED) 7] create /test "test"
Created /test
[zk: localhost:2181(CONNECTED) 8] ls /
[zookeeper, test]

# 查看节点数据
[zk: localhost:2181(CONNECTED) 9] get /test
test
cZxid = 0x100000004
ctime = Thu Oct 13 08:35:04 CST 2016
mZxid = 0x100000004
mtime = Thu Oct 13 08:35:04 CST 2016
pZxid = 0x100000004
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 4
numChildren = 0

# 设置节点数据
[zk: localhost:2181(CONNECTED) 10] set /test "111111"
cZxid = 0x100000004
ctime = Thu Oct 13 08:35:04 CST 2016
mZxid = 0x100000005
mtime = Thu Oct 13 08:35:41 CST 2016
pZxid = 0x100000004
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0

# 删除节点数据
[zk: localhost:2181(CONNECTED) 11] delete /test
[zk: localhost:2181(CONNECTED) 12] ls /
[zookeeper]

 



 

 

二.kafka集群安装

# 环境

192.168.190.152
192.168.190.153
192.168.190.154

 

wget http://mirrors.cnnic.cn/apache/kafka/0.10.0.1/kafka_2.11-0.10.0.1.tgz

# tar zxvf kafka_2.11-0.10.0.1.tgz
# mv kafka_2.11-0.10.0.1 /usr/local/
# cd /usr/local/kafka_2.11-0.10.0.1/
# vi config/server.properties 
broker.id=0 # id唯一 0 1 2
port=9092
host.name=192.168.190.152 #192.168.190.153 192.168.190.154
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=/tmp/kafka-logs
num.partitions=1
default.replication.factor=2
num.recovery.threads.per.data.dir=1
log.retention.hours=168
log.segment.bytes=1073741824
log.retention.check.interval.ms=300000
zookeeper.connect=192.168.190.152:2181,192.168.190.153:2181,192.168.190.154:2181
zookeeper.connection.timeout.ms=6000

 

 

# useradd kafka
# touch /etc/init.d/kafka
# chmod 755 /etc/init.d/kafka

 

# vi /etc/init.d/kafka 
#!/bin/sh
#
# chkconfig: 345 99 01
# description: Kafka
#
# File : Kafka
#
# Description: Starts and stops the Kafka server
#

source /etc/rc.d/init.d/functions

KAFKA_HOME=/usr/local/kafka_2.11-0.10.0.1
KAFKA_USER=kafka
# See how we were called.
case "$1" in

start)
echo -n "Starting Kafka:"
/sbin/runuser $KAFKA_USER -c "nohup $KAFKA_HOME/bin/kafka-server-start.sh $KAFKA_HOME/config/server.properties > /var/log/kafka/server.out 2> /var/log/kafka/server.err &"
echo " done."
exit 0
;;

stop)
echo -n "Stopping Kafka: "
/sbin/runuser $KAFKA_USER -c "ps -ef | grep kafka.Kafka | grep -v grep | awk '{print \$2}' | xargs kill"
echo " done."
exit 0
;;
hardstop)
echo -n "Stopping (hard) Kafka: "
/sbin/runuser $KAFKA_USER -c "ps -ef | grep kafka.Kafka | grep -v grep | awk '{print \$2}' | xargs kill -9"
echo " done."
exit 0
;;

status)
c_pid=`ps -ef | grep kafka.Kafka | grep -v grep | awk '{print $2}'`
if [ "$c_pid" = "" ] ; then
echo "Stopped"
exit 3
else
echo "Running $c_pid"
exit 0
fi
;;

restart)
stop
start
;;

*)
echo "Usage: cassandra {start|stop|hardstop|status|restart}"
exit 1
;;

esac

 

 

# mkdir -p /var/log/kafka
# chown -R kafka.kafka /var/log/kafka
# chown -R kafka.kafka /usr/local/kafka_2.11-0.10.0.1/logs


# 启动服务
# /etc/init.d/kafka start

# 创建topic
# bin/kafka-topics.sh --create --zookeeper 192.168.190.152:2181,192.168.190.153:2181,192.168.190.154:2181 --replication-factor 2 --partitions 1 --topic test333

# 删除
# bin/kafka-topics.sh --delete --zookeeper 192.168.190.152:2181,192.168.190.153:2181,192.168.190.154:2181 --topic test333

# 查看topic
# bin/kafka-topics.sh --list --zookeeper localhost:2181


# 开启生产端
# bin/kafka-console-producer.sh --broker-list 192.168.190.152:9092,192.168.190.153:9092,192.168.190.154:9092 --topic test333


# 开启消费端
# bin/kafka-console-consumer.sh --zookeeper 192.168.190.152:2181,192.168.190.153:2181,192.168.190.154:2181 --topic test333 --from-beginning


# bin/kafka-topics.sh --describe --zookeeper 192.168.190.152:2181,192.168.190.153:2181,192.168.190.154:2181 --topic test333

 

 

 

# 错误处理
[2016-10-14 06:36:18,401] WARN Error while fetching metadata with correlation id 0 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:19,543] WARN Error while fetching metadata with correlation id 1 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:19,680] WARN Error while fetching metadata with correlation id 2 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:19,908] WARN Error while fetching metadata with correlation id 3 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:20,116] WARN Error while fetching metadata with correlation id 4 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:20,334] WARN Error while fetching metadata with correlation id 5 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:20,505] WARN Error while fetching metadata with correlation id 6 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)
[2016-10-14 06:36:20,757] WARN Error while fetching metadata with correlation id 7 : {test333=LEADER_NOT_AVAILABLE} (org.apache.kafka.clients.NetworkClient)

config/server.properties kafka必须配置hostname

 

 

 

posted @ 2016-10-13 23:11  ca0guo  阅读(5179)  评论(1编辑  收藏  举报