1、zookeeper集群搭建
下载 zookeeper-3.4.5.tar.gz 使用WinSCP拷贝到/usr/local目录下。
对zookeeper-3.4.5.tar.gz进行解压缩:tar -zxvf zookeeper-3.4.5.tar.gz。
对zookeeper目录进行重命名:mv zookeeper-3.4.5 zk
配置zookeeper相关的环境变量
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=$ZOOKEEPER_HOME/bin
source ~/.bashrc
cd zk/conf
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改:dataDir=/usr/local/zk/data
新增:
server.0=computer01:2888:3888
server.1=computer02:2888:3888
server.2=computer03:2888:3888
cd zk
mkdir data
cd data
#修改 ZooKeeper的ID
vi myid
0
在另外两个节点上按照上述步骤配置ZooKeeper,使用scp将zk和.bashrc拷贝到computer02和computer03上即可(手动全部按照上述操作也行)。唯一的区别是标识号分别设置为1和2。
分别在三台机器上执行:zkServer.sh start 启动ZooKeeper
检查ZooKeeper状态:zkServer.sh status,应该是一个leader,两个follower (一主多从)
jps:检查三个节点是否都有QuromPeerMain进程
2、kafka集群搭建
scala 是一门编程语言,现在比较火,很多比如大数据领域里面的spark(计算引擎)就是用scala编写的
下载 scala-2.11.4.tgz 使用WinSCP拷贝到/usr/local目录下。
对scala-2.11.4.tgz进行解压缩:tar -zxvf scala-2.11.4.tgz。
对scala目录进行重命名:mv scala-2.11.4 scala
配置scala相关的环境变量
vi ~/.bashrc
export SCALA_HOME=/usr/local/scala
export PATH=$SCALA_HOME/bin
source ~/.bashrc
查看scala是否安装成功:scala -version
按照上述步骤在其他机器上都安装好scala。或使用scp将scala和.bashrc拷贝到另外两台机器上即可。
下载 kafka_2.9.2-0.8.1.tgz 使用WinSCP拷贝到/usr/local目录下。
对kafka_2.9.2-0.8.1.tgz进行解压缩:tar -zxvf kafka_2.9.2-0.8.1.tgz。
对kafka目录进行改名:mv kafka_2.9.2-0.8.1 kafka
配置kafka
vi /usr/local/kafka/config/server.properties
broker.id:依次增长的整数,0、1、2,集群中Broker的唯一id (三个节点)
zookeeper.connect=192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 (上边配置好的三个节点)
安装slf4j
下载 slf4j-1.7.6.zip 上传到/usr/local目录下
unzip slf4j-1.7.6.zip
把slf4j中的 slf4j-nop-1.7.6.jar 复制到 kafka 的 libs 目录下面
解决kafka Unrecognized VM option 'UseCompressedOops'问题
vi /usr/local/kafka/bin/kafka-run-class.sh
if [ -z "$KAFKA_JVM_PERFORMANCE_OPTS" ]; then
KAFKA_JVM_PERFORMANCE_OPTS="-server -XX:+UseCompressedOops -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+CMSClassUnloadingEnabled -XX:+CMSScavengeBeforeRemark -XX:+DisableExplicitGC -Djava.awt.headless=true"
fi
找到上边的配置:去掉-XX:+UseCompressedOops即可
按照上述步骤在另外两台机器分别安装kafka。或用scp把kafka拷贝到其他机器即可。
唯一区别的,就是server.properties中的broker.id,要设置为 1和 2
在三台机器上的kafka目录下分别执行启动命令:nohup bin/kafka-server-start.sh config/server.properties &
使用 jps 检查启动是否成功 - 命令行输入 : jps
使用基本命令检查测试 kafka 是否搭建成功
- bin/kafka-topics.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic test --replication-factor 1 --partitions 1 --create (创建主题)
- bin/kafka-console-producer.sh --broker-list 192.168.31.181:9092,192.168.31.19:9092,192.168.31.227:9092 --topic test (生产者)
- bin/kafka-console-consumer.sh --zookeeper 192.168.31.187:2181,192.168.31.19:2181,192.168.31.227:2181 --topic test --from-beginning(消费者)