操作系统:centos 6.6 2台
python2.6.6(centos6.6自带的)
redis 3.2.5
storm 1.0.2
zookeeper 3.4.8
jdk 1.7
storm可以配置HAnimbus
关闭防火墙
关闭命令: service iptables stop
永久关闭防火墙:chkconfig iptables off
两个命令同时运行,运行完成后查看防火墙关闭状态
service iptables status
- JDK安装
mkdir /opt/jdk
cd /opt/jdk
tar -zxvf jdk-7u67-linux-x64.tar.gz
设置环境变量
vi /etc/profile
JAVA_HOME=/opt/jdk/jdk1.7.0_67/
JRE_HOME=/opt/jdk/jdk1.7.0_67/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让配置生效
source /etc/profile
验证
java -version
- REDIS安装
https://redis.io
当前最新版本
为了方便直接用 的root用户搭建
mkdir /opt/redis
cd /opt/redis
wget http://download.redis.io/releases/redis-3.2.5.tar.gz
tar xzf redis-3.2.5.tar.gz
cd ./redis-3.2.5
make 编译
启动
src/redis-server redis.conf & 守护进程方式启动
坑爹的3.2.1版本后加了个保护模式 就是为了更安全只运行指定机器访问 我暴力把redis.conf 中的
protected-mode yes 改为 no
- zookeeper安装
mkdir /opt/zookeeper
cd /opt/zookeeper
wget http://apache.fayea.com/zookeeper/zookeeper-3.4.8/zookeeper-3.4.8.tar.gz 网速很慢自己百度个上传吧。。。
tar -xzvf zookeeper-3.4.8.tar.gz
cd /opt/zookeeper-3.4.8/conf/
cp zoo_sample.cfg zoo.cfg
vi zoo.cfg
运行
cd /opt/zookeeper-3.4.8/bin/
./zkServer.sh start
- storm 1.0.2安装
前面创建目录一样
wget http://mirrors.gigenet.com/apache/storm/apache-storm-1.0.2/apache-storm-1.0.2.tar.gz 太慢了
tar -zxvf apache-storm-1.0.2.tar.gz
修改配置文件
cd /opt/storm/apache-storm-1.0.2/conf/
vi storm.yaml
修改配置文件
storm.zookeeper.servers:
- "192.168.233.128"
# - "server2"
#
nimbus.seeds: ["storm1"]
vi /etc/hosts 配置 最后一行加上
storm1 192.168.233.128
##注意:nimbus.seeds指定的时候最好指定主机名,否则在webui界面查询的时候会重复显示节点信息。
./bin/storm nimbus &
./bin/storm supervisor &
./bin/storm ui &
./bin/storm logviewer & 可以在ui上看日志 进入具体的bolt执行线程
另一个节点 只启动 ./bin/storm supervisor & 即可
http://192.168.233.128:8080/index.html 查看是否启动成功
//备注
把修改后的storm目录拷贝到其他所有主从节点【主从节点配置完全一样】
scp -rq /opt/storm 192.168.1.101:/opt/storm
scp -rq /opt/storm 192.168.1.102:/opt/storm
提交测试 这个jar包是storm的example中的例子,刚好测试用
cd /opt/storm/apache-storm-1.0.2/bin
./storm jar ../examples/storm-starter/storm-starter-topologies-1.0.2.jar storm.starter.StatefulTopology StatefulTopology
生产把上面都改为
nohup ./bin/storm supervisor >/dev/null 2>&1 &
这条命令的意思是将标准输出和错误输出全部重定向到/dev/null中,也就是将产生的所有信息丢弃
生产zookeeper集群
1.ZooKeeper
1.1 zk可以用来保证数据在zk集群之间的数据的事务性一致。
2.如何搭建ZooKeeper服务器集群
2.1 zk服务器集群规模不小于3个节点,要求各服务器之间系统时间要保持一致。
2.2 在hadoop0的/usr/local目录下,解压缩zk....tar.gz。
2.3 在conf目录下,修改文件 vi zoo_sample.cfg zoo.cfg
2.4 编辑该文件,执行vi zoo.cfg
修改dataDir=/usr/local/zk/data
新增server.0=hadoop0:2888:3888
server.1=hadoop1:2888:3888
server.2=hadoop2:2888:3888
2.5 创建文件夹mkdir /usr/local/zk/data
2.6 在data目录下,创建文件myid,值为0
2.7 把zk目录复制到hadoop1和hadoop2中
2.8 把hadoop1中相应的myid的值改为1
把hadoop2中相应的myid的值改为2
2.9 启动,在三个节点上分别执行命令zkServer.sh start
2.10 检验,在三个节点上分别执行命令zkServer.sh status