集群的搭建,首先我们准备了3台虚拟机,在虚拟机中配置好了基础的环境,如Java,scala等配置。如下
#java set
JAVA_HOME=/opt/jdk1.7.0_79
JRE_HOME=$JAVA_HOME/jre
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$HIVE_HOME/lib
export JAVA_HOMEPATH CLASSPATH
#hadoop
exportHADOOP_HOME=/opt/hadoop-2.6.0
exportPATH=$PATH:$HADOOP_HOME/bin
exportPATH=$PATH:$HADOOP_HOME/sbin
#scala
export SCALA_HOME=/opt/scala-2.10.4
exportPATH=$PATH:$SCALA_HOME/bin
#zookeeper
exportZK_HOME=/opt/zookeeper-3.4.6
exportPATH=$PATH:$ZK_HOME/bin
#kafka
exportKAFKA_HOME=/opt/kafka_2.10-0.9.0.1
exportPATH=$PATH:$KAFKA_HOM/bin
#end kafka
1、准备好kafka安装包,利用winscp工具拷贝到集群中。然后unzip xxx.zip 解压即可。
2、进入到kafka的config目录
[[email protected]]$ cd kafka_2.10-0.9.0.1/config/
[[email protected]]$ ll
total 64
-rw-r--r-- 1hadoop hadoop 906 Feb 12 2016 connect-console-sink.properties
-rw-r--r-- 1hadoop hadoop 909 Feb 12 2016 connect-console-source.properties
-rw-r--r-- 1hadoop hadoop 2110 Feb 12 2016connect-distributed.properties
-rw-r--r-- 1hadoop hadoop 922 Feb 12 2016 connect-file-sink.properties
-rw-r--r-- 1hadoop hadoop 920 Feb 12 2016 connect-file-source.properties
-rw-r--r-- 1hadoop hadoop 1074 Feb 12 2016connect-log4j.properties
-rw-r--r-- 1hadoop hadoop 2055 Feb 12 2016connect-standalone.properties
-rw-r--r-- 1hadoop hadoop 1199 Feb 12 2016consumer.properties
-rw-r--r-- 1hadoop hadoop 4369 Feb 12 2016log4j.properties
-rw-r--r-- 1hadoop hadoop 2228 Feb 12 2016 producer.properties
-rw-r--r-- 1hadoop hadoop 5448 Jul 26 12:22 server.properties
-rw-r--r-- 1hadoop hadoop 3325 Feb 12 2016test-log4j.properties
-rw-r--r-- 1hadoop hadoop 1032 Feb 12 2016tools-log4j.properties
-rw-r--r-- 1hadoop hadoop 1023 Feb 12 2016zookeeper.properties
3、先搭建三个节点zk集群,三台机器。这个比较简单百度参考即可。
4、着手搭建kafka集群
修改server.properties配置文件,三个配置相应修改。
breoker.id 每台机器都不一样
如下两个参数配置是为了使用eclipse开发能直接与kafka集群进行通信。非常重要
host.name 为各机器的IP地址
advertised.host.name为各机器的IP地址
配置文件最下方:
5、启动kafka三个节点
进入kafka目录,执行如下命令
nohup./bin/kafka-server-start.sh config/server.properties >logs/kafka.log 2>1&
注意点:启动kafka之前先启动zookeeper集群,因为配置中使用外部的zookeeper集群。
在zookeeper每个节点上面执行 zkServer.sh start即可。
检查每个节点上面的zookeeper和kafka集群是否都启动。
每台机器上面出现这两个进程说明启动成功。
6、测试kafka集群
1-进入kafka根目录,创建topic --testkafka
bin/kafka-topics.sh--create --zookeeper hmaster:2181,hslave1:2181,hslave2:2181--replication-factor 3 --partitions 3 --topic testkafka
2-列出已创建的topic列表
bin/kafka-topics.sh--list --zookeeper hmaster:2181,hslave1:2181,hslave2:2181
3-模拟客户端去发送消息
bin/kafka-console-producer.sh--broker-list hmaster:9092,hslave1:9092,hslave2:9092 --topic testkafka
4-模拟客户端去接受消息
bin/kafka-console-consumer.sh--zookeeper hmaster:2181,hslave1:2181,hslave2:2181 --from-beginning --topic testkafka
以上测试是利用kafka集群自动的测试脚本进行的,下一次将会写一个利用eclipse创建的maven工程项目生产数据然后在集群中查看。