有时间了第一次研究kafka的部署,在这方面完全是小白,记录下来,也算是记录自己的成长和进步。。。
环境:本地电脑安装的虚拟机,centos7系统。
步骤:
一:如果之前有linux系统的童鞋,要先查看一下自己的系统是否配置了jdk环境,检测命令:java -version
此种情况是我之前安装好了的,如果没有安装的童鞋,安装起来也很简单。在这里我是用的yum安装
1、查找java相关得列表:yum -y list java*(如果没有yum命令的,网上百度,这个安装很简单)
2、到这一步之后,就继续安装jdk:yum -y install java-1.8.0-openjdk*。这个过程可能要持续几分钟的时间,跟自己的网速有一定的关系。
3、等到完成之后,检查jdk是否安装成功:java -version。(默认安装路径为:/usr/lib/jvm)
4、查看java安装路径:which java
5、配置环境
vi模式(有的是vim)进入到 /etc/profile/ 中
按 i 进行编辑,在最后加入以下几行(jdk版本要和你之前yum下来的版本要一致)
export JAVA_HOME=/usr/lib/java/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar.:$JAVA_HOME/lib/dt.jar.:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
写好之后按ESC,:wq保存退出!
使环境变量生效命令:source /etc/profile
至此jdk安装成功。
二、下面要进行zookeeper环境搭建
1、下载Zookeeper并解压到制定的目录(或者提前进入到 cd /opt/目录下,创建文件夹zookeeper mkdir zookeeper)
$ wget http://www-eu.apache.org/dist/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz
$ tar -zxvf zookeeper-3.4.13.tar.gz -c /opt/zookeeper
2、进入到zookeeper目录下的conf
$ cd /opt/zookeeper/conf
3、拷贝zoo_sample.cfg文件重命名为zoo.cfg,然后修改dataDir属性
# 数据的存放目录 dataDir=/home/hadoop/zkdata(根据个人需求自定义)
# 端口,默认就是2181 clientPort=2181
4、配置环境:vi /etc/profile/
在最后加上
export ZOOKEEPER_HOME=/opt/zookeeper (此处根据自己存放的目录,和配置jdk是类似的方法)
export PATH=$PATH:$ZOOKEEPER_HOME/bin
写好之后按ESC,:wq保存退出!
使环境变量生效命令:source /etc/profile
5、至此,zookeeper安装完成,检查是否正确安装
在zookeeper的bin目录下执行命令:
$ zkServer.sh start (启动)
安装完Zookeeper后,输入命令启动后,命令jps,看有没有QuorumPeerMain进程,有就是启动成功。
没有的话,进入Zookeeper的log目录下查看日志,有可能是端口被占用或者是其他原因,这一块就需要各位童鞋后续发现了。
$ zkServer.sh stop(停止)
三、kafka单节点环境部署
1、下载kafka并解压到制定的目录
$ wget http://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.1.1/kafka_2.12-2.1.1.tgz
$ tar -zxvf kafka_2.12-2.1.1.tgz -c /opt/kafka
2、进入kafka的config目录下,有一个server.properties,添加如下配置
# broker的全局唯一编号,不能重复 broker.id=0
# 监听 listeners=PLAINTEXT://:9092
# 日志目录 log.dirs=/home/kafka/kafka-logs(用户自定义)
# 配置zookeeper的连接(如果不是本机,需要该为ip或主机名) zookeeper.connect=localhost:2181(默认端口2181)
3、当时我看其他文档的时候没有这一步,导致一直启动不了,就是环境配置!和之前配置jdk和zookeeper一样,在后面加上
export KAFKA_HOME=/usr/local/kafka (路径要根据自己的路径来)
export PATH=$PATH:$KAFKA_HOME/bin
4、在kafka的bin目录下启动:
kafka-server-start.sh $KAFKA_HOME/config/server.properties
启动正常话会出现大概一两页的代码。
之后用jps命令检查进程,会看到有kafka 和 zookeeper的线程
5、最好再自己创建topic 确保已经搭建好
$ kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test
参数说明:
–zookeeper:指定kafka连接zk的连接url,该值和server.properties文件中的配置项{zookeeper.connect}一样
–replication-factor:指定副本数量
–partitions:指定分区数量
–topic:主题名称
查看所有topic
$ kafka-topics.sh --list --zookeeper localhost:2181 test
启动生产者
$ kafka-console-producer.sh --broker-list localhost:9092 --topic test
启动消费者。(在kafka的bin目录下启动)
$ kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
至此kafka单节点环境已搭建完毕。至于后续的研究,后续再继续写。
不管怎么说,这是我的第一篇博文,也什么不对的地方希望大家指正!