安装zookeeper集群
1.将zookeeper-3.4.5-cdh5.3.6.tar.gz拷贝到spark1的/usr/local目录下。
2、对zookeeper-3.4.5-cdh5.3.6.tar.gz进行解压缩:
tar -zxvf zookeeper-3.4.5-cdh5.3.6.tar.gz。
3、对zookeeper目录进行重命名:
mv zookeeper-3.4.5-cdh5.3.6 zk。
4、配置zookeeper相关的环境变量
vi ~/.bashrc
export ZOOKEEPER_HOME=/usr/local/zk
export PATH=$ZOOKEEPER_HOME/bin
source ~/.bashrc
配置zoo.cfg
cd zk/conf
mv zoo_sample.cfg zoo.cfg
vi zoo.cfg
修改:dataDir=/usr/local/zk/data
新增:
server.0=sparkproject1:2888:3888
server.1=sparkproject2:2888:3888
server.2=sparkproject3:2888:3888
设置zk的节点标识
cd zk
mkdir data
cd data
vi myid
0
将zk文件与~/.bashrc复制到另外两台机器上
scp -r zk/ root@spark2:/usr/local/
scp ~/.bashrc root@spark2:~/.
注意:复制完毕之后,进入kafka的根目录下的data里面,修改对应的myid文件
启动zookeeper节点
1、分别在三台机器上执行:
zkServer.sh start。
2、检查ZooKeeper状态:
zkServer.sh status,应该是一个leader,两个follower
3、jps:检查三个节点是否都有QuromPeerMain进程。
至此,zookeeper集群搭建完毕
安装kafka集群
1、将kafka_2.9.2-0.8.1.tgz拷贝到spark1的/usr/local目录下。
2、对kafka_2.9.2-0.8.1.tgz进行解压缩:
tar -zxvf kafka_2.9.2-0.8.1.tgz。
3、对kafka目录进行改名:
mv kafka_2.9.2-0.8.1 kafka
4、配置kafka
vi /usr/local/kafka/config/server.properties
broker.id:依次增长的整数,0、1、2,集群中Broker的唯一id
zookeeper.connect=192.168.1.200:2181,192.168.1.201:2181,192.168.1.202:2181
5、安装slf4j
将课程提供的slf4j-1.7.6.zip上传到/usr/local目录下
unzip slf4j-1.7.6.zip
把slf4j中的slf4j-nop-1.7.6.jar复制到kafka的libs目录下面
启动kafka集群
1、解决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的server.properties的broken.id的属性值,这个值不能重复
2、在三台机器上的kafka目录下,分别执行以下命令:
nohup bin/kafka-server-start.sh config/server.properties &
3、使用jps检查启动是否成功
测试kafka集群
进入kafka的根目录下:
创建主题
bin/kafka-topics.sh
--zookeeper 192.168.1.200:2181,192.168.1.201:2181,192.168.1.202:2181
--topic TestTopic
--replication-factor 1
--partitions 1 –create
创建生产者
bin/kafka-console-producer.sh
--broker-list 192.168.1.200:9092,192.168.1.201:9092,192.168.1.202:9092
--topic TestTopic
创建消费者
bin/kafka-console-consumer.sh --zookeeper 192.168.1.200:2181,192.168.1.201:2181,192.168.1.202:2181
--topic TestTopic --from-beginning
生产者生产消息 hello kafka,在消费者的窗口里看到 hello kafka。
Kafka搭建成功