共计 4433 个字符,预计需要花费 12 分钟才能阅读完成。
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 命令输错了,然后其他的问题遇到了再补充。
ZooKeeper 学习总结 http://www.linuxidc.com/Linux/2016-07/133179.htm
Ubuntu 14.04 安装分布式存储 Sheepdog+ZooKeeper http://www.linuxidc.com/Linux/2014-12/110352.htm
CentOS 6 安装 sheepdog 虚拟机分布式储存 http://www.linuxidc.com/Linux/2013-08/89109.htm
ZooKeeper 集群配置 http://www.linuxidc.com/Linux/2013-06/86348.htm
使用 ZooKeeper 实现分布式共享锁 http://www.linuxidc.com/Linux/2013-06/85550.htm
分布式服务框架 ZooKeeper — 管理分布式环境中的数据 http://www.linuxidc.com/Linux/2013-06/85549.htm
ZooKeeper 集群环境搭建实践 http://www.linuxidc.com/Linux/2013-04/83562.htm
ZooKeeper 服务器集群环境配置实测 http://www.linuxidc.com/Linux/2013-04/83559.htm
ZooKeeper 集群安装 http://www.linuxidc.com/Linux/2012-10/72906.htm
Zookeeper3.4.6 的安装 http://www.linuxidc.com/Linux/2015-05/117697.htm
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-10/136100.htm