Zookeeper,zkui,Kafka 部署笔记

Zookeeper,zkui,Kafka 部署笔记

部署前的准备:

1.为了方便统一后来storm的部署,最好是新建一个storm用户,然后切换到storm用户下操作;

 2.ifconfig查看本机的IP,在之后的配置文件当中,需要输入本机名或者localhost的时候,最好是直接输入本机的IP地址,如果一开始输入的是主机名(localhost)或127.0.0.1的话,后续会出现许多的问题,如果在出现问题又不是操作错误的话就检查一下各个配置文件,看输入主机名的地方是不是没有改成IP地址;

3.提前准备好需要的安装包,我这里准备的是zookeeper-3.4.6.deploy.tar.gz、apache-maven-3.2.1.storm.zip、kafka_2.9.2-0.8.1.1.storm.zip,zkui.storm.zip;

4.在虚拟机中输入yum -y install lrzsz ,下载一个rz包,然后在操作时直接输入rz就能直接把文件导入到虚拟机中,我安装的是简化版的linux,里面没有unzip ,所以需要yum -y install unzip 下载unzip用来解压结尾是zip的压缩包;

一、部署Zookeeper:

1.su storm

2.mkdir zookeeper

3.cd zookeeper

4.rz  zookeeper-3.4.6.deploy.tar.gz    tar -xvf zookeeper-3.4.6.deploy.tar.gz

解压后rm -r 删除压缩包 

5. cd zookepper-3.4.6  vim conf/zoo.cfg   修改配置文件:

dataDir=/home/storm/zookeeper/zookeeper-3.4.6/data(改成自己的目录)

dataLogDir=/home/storm/zookeeper/zookeeper-3.4.6/logs(改成自己的目录)

server.1=IP:4887:5887

#server.2=IP:4887:5887

#server.(...)=IP:4887:5887

6.cd .. 返回上一层查看bin下是否有执行权限,cd bin ,chmod +x *或者chmod +x bin/*

7.启动zookeeper(要切换到zookeeper下的目录)执行:

[storm@slave02 zookeeper-3.4.6]$ bin/zkServer.sh start

启动后查看状态: bin/zkServer.sh status;(jps -l)

停止zk服务:bin/zkServer.sh stop 重启:bin/zkServer.sh restart 

zk的初始化目录:get/zookeeper/quota

8.启动zookeeper的客户端,进入客户端就可以进行一些简单的操作:bin/zkCli.sh -server 127.0.0.1:2181(不明白输入192.168.197.142:2181两者有啥区别,该输哪个)

命令行工具的一些简单操作如下:
    i. 显示根目录下、文件: ls  /  使用 ls 命令来查看当前 ZooKeeper 中所包含的内容
    ii. 创建文件,并设置初始内容: create /zk "test" 创建一个新的 znode节点“ zk ”以及与它关联的字符串
    iii. 获取文件内容: get /zk 确认 znode 是否包含我们所创建的字符串
    iv. 修改文件内容: set /zk "zkbak" 对 zk 所关联的字符串进行设置
    v. 删除文件: delete /zk 将刚才创建的 znode 删除
    vi. 退出客户端: quit
    vii. 帮助命令: help

二、安装zkui

1.首先需要安装编译工具mvn,我是直接在家目录下导入apache-maven-3.2.1.storm.zip和zkui.storm.zip,分别解压缩做好准备,先安装mvn

2.修改配置文件 vim ~/.bash_profile 添加以下命令:(注意修改完.bash_profile类型的文件后要source,要source,要source)

##export mvn3
export  MVN_HOME=/home/storm/apache-maven-3.2.1(自己mvn的地址)
export  PATH=$PATH:$MVN_HOME/bin

3.source .bash_profile

4.cd zkui

5.mvn clean install(联网下载编译工具,下载过程中尽量保证不断网,否则会出问题,出问题了删了重新配...)

6.ln -s target/zkui-2.0-SNAPSHOT-jar-with-dependencies.jar  zkui-2.0-SNAPSHOT-jar-with-dependencies.jar(给第一个jar创建一个软连接,软连接的名字是空格后的jar,通过后面的jar可以找到前面的jar,不需要到jar的目录下,类似于第二个jar是第一个jar的快捷方式)

7.vim config.cfg    修改 zkServer=192.168.197.142:2181

启动:nohup java -jar zkui-2.0-SNAPSHOT-jar-with-dependencies.jar &

查看:http://123.56.76.213:9090 或者 jps -l

登陆账号密码即可

三、部署kafka

1.导入kafka_2.9.2-0.8.1.1.storm.zip,解压

2.修改配置文件config/server.properties:

broker.id=0;
host.name=192.168.197.142;
zookeeper.connect=192.168.197.142:2181可逗号分隔配置多个

3.确保bin和sbin都有执行权限 chmod +x sbin/* chmod +x bin/*

4.修改配置文件config/log4j.properties   vim log4j.properties

log4j.appender.D.File =/home/strom/kafka_2.9.2-0.8.1.1/logs/debug.log

log4j.appender.E.File = /home/strom/kafka_2.9.2-0.8.1.1/logs/error.log

5.启动kafka服务 sbin/start-kafka.sh 查看是否启动:jps -l 

四、启动测试

1.创建topic    bin/kafka-topics.sh --create --zookeeper IP:2181 --replication-factor 1 --partitions 2 --topic topic-003-name  (IP不能是localhost)()

2.再开一个窗口,分别启动productor和consumer

3.启动productor  

bin/kafka-console-producer.sh --broker-list 192.168.197.142:9092 --topic lilu

4.启动consumer(注意两个命令的区别,IP后面的端口也是不一样的)

bin/kafka-console-consumer.sh --zookeeper 192.168.197.142:2181 --topic lilu

5.在productor端输入,看consumer端的输出

6.备注:在操作过程中jps -l 的时候有时候会发现同时启动了多个zk或者kafka,这个时候把多余的杀死 kill -USR2 3417 (温柔的杀死)kill -9 3417(强制杀死,最好用前一个);如果操作过程没有问题那就是输入的命令有问题,再返回去自己检查看是哪里输错了

五、生成日志

1.脚本准备 修改shelllogger.sh

2.启动nohup sh shelllogger.sh &

我习惯用bash ./shelllogger.sh & (运行这个脚本,生成access.log) 注意:一定不要丢了&符号,如果没有& ,脚本会自动停止,crtl+c 就会杀死这个进程

3.启动后输入 tail -f access.log  (查看是否在动态打印,就是程序是否运行着,如果运行就没什么问题,要是不动态就说明配置有问题)

4.将日志实时传送到kafka指定主题中:

在kafka目录下执行

nohup tail -f /home/storm/access.log | bin/kafka-console-producer.sh --broker-list 192.168.197.142:9092 --topic name >logs/producer.log 2>&1 &

5.总结一下,大多数遇到的问题都是命令输错了,或者是IP地址输错了,或者是java没安好,我还没有遇到java的问题,然后每次到启动producer的时候就会出问题,有的是配置文件没source,还有是ip地址输的是主机名,还有是运行脚本文件的时候少了&,还有是把consumer和producer命令输错了,然后其他的问题遇到了再补充。

相关推荐