本文共 9214 字,大约阅读时间需要 30 分钟。
搭建storm集群 系统centos7 1、安装Java jdk 1.7 2、安装zookeeper 3.4.8 3、安装Python2.7X 4、安装storm0.9 5、安装git 6、安装maven 所有安装包,等会我会打包上传,地址会放到最后,大家需要可以下载 1、安装jdk很简单 下载jdk压缩包 解压压缩包 ,我的安装目录是/software/ 在etc/profile中加入环境变量 JAVA_HOME=/software/jdk1.7.0_80 PATH=$JAVA_HOME//bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib.tools.jar 验证是否安装成功 [root@slave2 software]# java -version java version "1.7.0_80" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) [root@slave2 software]# javac -version javac 1.7.0_80 [root@slave2 software]# 2、安装zookeeper集群 下载解压,同样我的安装目录是/software/ 准备工作,准备三台机子,我的都是centos7,分别获取IP地址,然后设置主机名 在/etc/hostname中修改为你的主机名 我的分别改为了 192.168.52.142主机名为centos 192.168.52.145主机名为slave1 192.168.52.146主机名为slave2 分别每台机子的/etc/hosts中加入 192.168.52.142 centos 192.168.52.145 slave1 192.168.52.146 slave2 进入zookeeper安装目录的conf下 创建zoo.cfg配置文件 可以复制zoo_sample.cfg得到zoo.cfg 编辑这个文件 tickTime=2000 initLimit=10 syncLimit=5 dataDir=/software/zookeeper-3.4.8/data clientPort=2181 server.1=centos:8880:7770 server.2=slave1:8881:7771 server.3=slave2:8882:7772 创建zookeeper存放数据的目录 /software/zookeeper-3.4.8/data目录 进入 /software/zookeeper-3.4.8目录,创建 mkdir data 把刚刚安装的zookeeper-3.4.8复制到另外两台机子的/software/下 scp -rp zookeeper-3.4.8 root@slave1:/software scp -rp zookeeper-3.4.8 root@slave1:/software 分别在三台机子的/software/zookeeper-3.4.8/data下创建myid文件 其中192.168.52.142机子的myid文件内容为1 其中192.168.52.145机子的myid文件内容为2 其中192.168.52.146机子的myid文件内容为3 这是对应上面配置文件的server.X server.1=centos:8880:7770 server.2=slave1:8881:7771 server.3=slave2:8882:7772zookeeper配置解释:
除了修改 zoo.cfg 配置文件,集群模式下还要配置一个文件 myid,这个文件在 dataDir 目录下,这个文件里面就有一个数据就是 A 的值,Zookeeper 启动时会读取这个文件,拿到里面的数据与 zoo.cfg 里面的配置信息比较从而判断到底是那个 server。
如图
4、安装git 查看是否安装git rpm -qa |grep git 安装命令 yum install git 运行如下命令下载storm-starter测试storm是否安装成功 git clone git://github.com/nathanmarz/storm-starter.git 5、下载maven 下载解压,安装目录/software/ 加入环境变量到/etc/profile JAVA_HOME=/software/jdk1.7.0_80 STORE_HOME=/software/storm-0.9.1 MAVEN_HOME=/software/apache-maven-3.3.9 PATH=$JAVA_HOME/bin:$STORE_HOME/bin:$MAVEN_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib.tools.jar 进入刚刚下载的storm-starter目录下 mv m2-pom.xml pom.xml 修改pom.xml,把这段改为如下: <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>0.9.1-incubating</version> <!-- keep storm out of the jar-with-dependencies --> <scope>provided</scope> </dependency> 完整如下:编译storm.starter mvn compile exec:java -Dstorm.topology=storm.starter.WordCountTopology 下载jar包,要一段时间,我家里网速慢,如果显示下载有错误,一般是网址打不开,可能是网速问题,多运行几次 打包上传到storm集群4.0.0 storm.starter storm-starter 0.0.1-SNAPSHOT jar storm-starter https://github.com/nathanmarz/storm-starter UTF-8 github-releases http://oss.sonatype.org/content/repositories/github-releases/ clojars.org http://clojars.org/repo junit junit 3.8.1 test org.testng testng 6.8.5 test org.mockito mockito-all 1.9.0 test org.easytesting fest-assert-core 2.0M8 test org.jmock jmock 2.6.0 test org.apache.storm storm-core 0.9.1-incubating provided commons-collections commons-collections 3.2.1 com.google.guava guava 15.0 src/jvm test/jvm ${basedir}/multilang maven-assembly-plugin jar-with-dependencies make-assembly package single com.theoryinpractise clojure-maven-plugin 1.3.12 true src/clj compile compile compile test test test org.codehaus.mojo exec-maven-plugin 1.2.1 exec java true false compile ${storm.topology} org.apache.maven.plugins maven-compiler-plugin
打包:
mvn package
发现 storm-starter目录下多了两个jar包
再提交到集群
本地模式 storm jar storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.RollingTopWords
远程模式提交 storm jar storm-starter-0.0.1-SNAPSHOT-jar-with-dependencies.jar storm.starter.ExclamationTopology ExclamationTopalogy进程一直在运行,可以在web界面看到运行情况,并且可以杀死该任务
点击进入ExclamationTopalogy,如下图
杀死刚刚运行的topology命令 storm kill ExclamationTopalogy转载请指明出处http://blog.csdn.net/tanggao1314/article/details/52348632
下载安装包地址http://download.csdn.net/my/uploads/1