前期环境准备 |
- 安装jdk并配置环境
- 安装配置zookeeper
1.jdk环境安装与配置 |
//解压
tar -zxvf jdk-8u101-linux-x64.tar.gz
//配置环境
vim /etc/profile
//在文件中添加下面的内容
export JAVA_HOME=/usr/local/jdk1.8.0_101
export JRE_HOME=/usr/local/jdk1.8.0_101/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:/$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
//保存之后退回终端使配置文件生效
source /etc/profile
配置完成后进行测试
java –version
显示对应的版本信息说明配置完成。
2.zookeeper安装配置 |
//解压
tar -zxvf zookeeper-3.4.9.tar.gz
//重命名一下文件
mv zookeeper-3.4.9 zookeeper
3.关闭防火墙:service iptables stop
如不关闭防火墙,将导 致 zookeeper 之间无法通行
4.相关参数配置
cd zookeeper
cd conf
cp zoo_sample.cfg zoo.cfg
//编辑zoo.cfg文件
vim zoo.cfg
5.在zoo.cfg中做以下修改,设置zookeeper的数据存放目录和日志存放目录,可以自己修改
dataDir=/home/zookeeper/data
dataLogDir=/home/zookeeper/logs
在末尾添加你的集群机的ip地址,其中server.i(i是后面的myid号,这里自己按顺序写就可以)
server.1=192.168.0.5:2888:3888
server.2=192.168.0.6:2888:3888
//下面这个是示例
server.num=ip:2888:3888
6.根据上面设置的目录创建相应的文件夹,
/home/zookeeper/data
/home/zookeeper/logs
然后在这两个文件夹下分别执行 echo 1 >> myid这里的1为刚刚server.1中后面的主机上的id
注意:这里刚刚完成了一个主机的配置,你的集群中剩下的也要像这样配置,但是myid依次增加1即可
2.zookeeper启动 |
Starting zookeeper … STARTED
2.查看zookeeper状态: ./zkServer.sh status
如果显示Error contacting service. It is probably not running.也许这里可以帮助你问题解决
3.关闭zookeeper: ./zkServer.sh stop
二.Kafka安装与配置 |
到 http://kafka.apache.org/downloads.html 下 载 kafka 的 安 装 包
kafka_2.11-0.10.1.0.tgz,放在与zookeeper同级目录下即可
//解压
tar -zxvf kafka_2.11-0.10.1.0.tgz
//重命名
mv kafka_2.11-0.10.1.0 kafka
1.修改配置文件 |
cd kafka/config
vim server.properties
broker.id=0(当前 broker 的编号,只要各个主机不相同即可)
listeners=PLAINTEXT://192.168.0.5:9092(当前 broker 的 IP)
//设置zookeeper连接,后面添加所有的主机ip
zookeeper.connect=192.168.0.5:2181,192.168.0.6:2181,
delete.topic.enable=true
2.修改生产者文件
vim producer.properties
//后面跟所有的主机ip
bootstrap.servers=192.168.0.5:9092,192.168.0.6:9092
3.修改消费者文件
vim consumer.properties
zookeeper.connect=192.168.0.5:2181,192.168.0.6:2181
注意:重复上面的步骤在每一台主机上,注意broker.id应当不同0,1,2… 变化即可,其他相同
2.启动kafka |
一定要先保证zookeeper全部启动
进入 Kafka 安装目录的 bin 目录下执行下面的命令
1.启动kafka
//在所有的主机上运行
kafka-server-start.sh -daemon config/server.properties
2.选定一个主机, 重新(第一个不要关闭)打开一个终端,创建一个topic,topic的名字叫test-topic
kafka-topics.sh --create --zookeeper 任一主机ip:2181 --replication-factor 1 --partitions 3 --topic test-topic
输出信息:Created topic “test-topic”.
3.查看topic,topic话题在每个主机上都应该是可见的,所以输入任意ip应该都是可以看到刚刚创建的topic的!
kafka-topics.sh -describe --zookeeper 任意主机ip:2181 --topic test-topic
4.创建生产者
kafka-console-producer.sh --broker-list ip:9092 --topic test-topic
5.创建消费者(另外任意一台主机)
kafka-console-consumer.sh --bootstrap-server ip:2181 --topic test-topic
6.此时,在生产者输入消息,可以在消费者中接收到消息
如有疑惑,欢迎留言讨论 |