Twitter Storm安装配置(Ubuntu系统)单机版

要使用storm首先要安装以下工具:JDK、Python、zookeeper、zeromq、jzmq、storm

(注:各个模块都是独立的,如果安装失败或者卡顿可以单独百度某个模块的安装,都是可以的。)

JDK1.7安装 参见上篇《Ubuntu下安装配置JDK1.7》http://www.cnblogs.com/stone_w/p/4469548.html

 

第一步,安装Python2.7.2(ubuntu)

wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
tar zxvf Python-2.7.2.tgz
cd Python-2.7.2
./configure
make
make install
vi /etc/ld.so.conf
追加/usr/local/lib/
sudo ldconfig

 

第二步,安装zookeeper  

下载zookeeper 
解压,安装:http://pan.baidu.com/s/1jGjA90M

tar -zxvf zookeeper-3.3.5.tar.gz 
cp -R zookeeper-3.3.5 /usr/local/
ln -s /usr/local/zookeeper-3.3.5/ /usr/local/zookeeper
gedit /etc/profile (设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin) 
export ZOOKEEPER_HOME="/path/to/zookeeper"
export PATH=$PATH:$ZOOKEEPER_HOME/bin
cp /usr/local/zookeeper/conf/zoo_sample.cfg /usr/local/zookeeper/conf/zoo.cfg (用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)
mkdir /tmp/zookeeper
mkdir /var/log/zookeeper

zookeeper的单机安装已经完成了。

 

第三步,安装zeromq以及jzmq
jzmq的安装貌似是依赖zeromq的,所以应该先装zeromq,再装jzmq。
1)安装zeromq:

wget http://download.zeromq.org/zeromq-2.2.0.tar.gz
tar zxf zeromq-2.2.0.tar.gz 
cd zeromq-2.2.0
./configure
make
make install
sudo ldconfig (更新LD_LIBRARY_PATH)

zeromq安装完成。
注意:如有有依赖报错,需要安装:
jzmq dependencies 依赖包
sudo yum install uuid*
sudo yum install libtool
sudo yum install libuuid 
sudo yum install libuuid-devel
2)安装jzmq

yum install git 
git clone git://github.com/nathanmarz/jzmq.git
cd jzmq
./autogen.sh
./configure
make
make install

然后,jzmq就装好了.
注意:在./autogen.sh这步如果报错:autogen.sh:error:could not find libtool is required to run autogen.sh,这是因为缺少了libtool,可以用#yum install libtool*来解决。


第四步,安装Storm

我使用的Storm版本是最新的稳定版0.8.2,下载,解压,修改/conf/storm.yaml配置文件:

Storm 0.8.2 下载  http://pan.baidu.com/s/1sjODKPB

unzip storm-0.8.2.zip
mv storm-0.8.2 /usr/local/
ln -s /usr/local/storm-0.8.2/ /usr/local/storm
gedit /etc/profile
export STORM_HOME=/usr/local/storm-0.8.2
export PATH=$PATH:$STORM_HOME/bin

到此为止单机版的Storm就安装完毕了。

启动Storm

/usr/local/zookeeper/bin/zkServer.sh start
cd /usr/local/storm-0.8.2
bin/storm nimbus &
bin/storm supervisor &
bin/storm ui &  

如果我们没有为storm添加环境变量,那么在启动的时候,我们就需要使用绝对路径或相对路径来定位/chenny/Storm/storm-0.8.2/bin/storm这个程序。启动完成后,我们可以使用jps来查看进程状态: >>jps    在没有运行任务时,我们必须应该要看到5个进程:QuorumPeerMain、nimbus、core、Jps、supervisor。否则 就需要检查是否正确地启动,如果启动之后没有过多久就停止了,我们就需要查看~/storm-0.8.2/logs下面的对应的log文件,查看引起异常 的原因是什么,然后解决后再次启动。    同时,我们可以在浏览器中输入http://127.0.0.1:8080来进入Storm UI的界面,可以查看Storm运行期间的相关信息。

 

第五步,测试一下本地模式的WordCount

网上别的资料介绍了许多方式来编译可执行的Topology程序,我们这里提供一个简单的办法,只需要使用Eclipse和相关的Jar包即 可,Ubuntu或者Windows环境下均可。我们需要从github上下载下来一个供初学者学习的storm-starter,同时,我们还需要有 commons-collections-3.2.1-bin.tar.gz、twitter4j-2.2.6.zip和storm-0.8.2.zip 等软件包,如果没有的话,需要去下载。以Windows XP下的Eclipse为例。首先我们将所有需要的包解压放到桌面,打开Eclipse,新建Java Project,名字任意取,我取名叫做MyFirstStormApp,然后点击Finish。

在MyFirstStormApp上右键,选择Import,然后选择File System:

在From Directory中输入相应的路径或者点击Browse,选择路径:

 

我们依次展开storm-starter-master/src/jvm/storm,选中jvm文件夹,点击确定,然后勾选jvm,点击finish:

这样,我们就在左侧看到Project的结构: 

 

拖动storm到src中,然后安装同样的方式将 storm-starter-master/storm-starter-master/multilang导入到项目中,然后我们就在左侧看到如下图所示的结构:

可以看到上面有很多红叉,此时,我们就需要导入项目所依赖的jar包,在项目上右键,选择Properties,然后Java Build Path,切换到Libraries选项夹下,点击Add External JARs: 

将storm-0.8.2/lib目录下的所有jar包都加入到项目中,将

commons-collections-3.2.1.jar添加到 项目中,将twitter4j-2.2.6/lib中的所有jar包加入到项目中,将storm-0.8.2/storm-0.8.2.jar加入到项目 中,然后点击OK,这个时候,可以看到项目中的所有错误都消失了。接下来,我们将PrintSampleStream.java和 TwitterSampleSpout.java中的注释取消,或者将这两个文件删除

在项目上选择Export,然后选择JAR file,在下一页,我们将项目导出,勾选如下图所示:

 

点击finish后,如果没有错误,只有warning的话,就不用管了,否则我们需要检查错误,然后重新打包。打包后的jar包是MyFirstStormApp.jar,将它拷贝到部署有Storm的机器上(/usr/local/storm-0.8.2目录下),然后在终端中输入: 

>>bin/storm jar MyFirstStormApp.jar storm.starter.WordCountTopology test2   如果没有错误,就成功提交了,在浏览器中输入http://127.0.0.1:8080,可以看到这个Topology已经在运行了,点击它的名字,可以进入Topology summary:

如果看到这些数据,就说明我们正确地完成了配置。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/547368.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机中隐藏的文件找不到了怎么办,隐藏文件夹找不到了怎么办【图解】

在今天,越来越多的人利用电脑来办公。甚至有一些工作,已经与电脑密切相关了。电脑以其强大的功能辅助人们工作,但有时在操作过程中会碰到这样或那样的问题。这个时候人们就会叹其操作的复杂性。就好比如有时你隐藏了一个文件,可是…

CentOS6 配置 yum 阿里源

一、CentOS6停止维护更新日期2020年11月30日 二、2020年12月2日下架了包括官方所有的CentOS6源(包括国内的镜像站) 三、CentOS6也完成了它的历史使命 在生产的环境中依旧由很多CentOS6系统依然在坚持,那么可以采取挂载光盘或者使用centos-va…

使用ab进行页面的压力测试

ab是apache自带的一个很好用的压力测试工具,当安装完apache的时候,就可以在bin下面找到ab 参数说明及示例 我们可以模拟100个并发用户,对一个页面发送1000个请求 输入命令:ab -n1000 -c100 http://stone_w.cnblogs.com/ 其中-n代…

取消计算机触摸板,笔记本电脑触摸板,详细教您笔记本电脑触摸板怎么关闭

很多的笔记本的用户都习惯使用鼠标,主要是因为笔记本触摸板操作不太方便,没有鼠标操作灵活。反而是经常在电脑中打字等操作时容易误碰到笔记本触摸板,导致输入错误等等,因此很多朋友一般会关闭触摸板,可是笔记本触摸板…

OC学习笔记--基础篇

本文简要介绍了一些oc的基础类型,包括数组、字典、字符串、消息传递、类、对象、方法、属性、协议和转发,希望对你有帮助。 OC数据类型 打印—类似print NSlog("hello word");数组 NSMutableArray (可变数组)和 NSAr…

PL/SQL Developer中文版下载以及使用图解(绿色版)

下载地址:http://pan.baidu.com/s/1eQCTmkM 1、运行plsqldev.exe程序; 2、设置Oracle主目录名/OCI库地址,如图: 重新启动程序。 3、配置登陆信息,连接数据库,如图:

实例应用 自定义页面taglib标签

关于继承TagSupport与BodyTagSupport的区别说明 * <code>TagSupport</code>与<code>BodyTagSupport</code>的区别主要是标签处理类是否需要与标签体交互。 * 如果不需要交互的就用<code>TagSupport</code>&#xff0c;如果需要交互就用<…

Express框架使用以及数据库公共操作类整理(Win7下的NodeJs)

具体步骤&#xff1a; 1、安装开发工具WebStorm&#xff1b; 2、安装node/npm&#xff08;下载地址&#xff1a;https://nodejs.org/download/&#xff09;选择适合你的xxx.mis安装&#xff1b; 3、安装express框架(cmd窗口模式&#xff0c;用npm命令执行&#xff1a;npm in…

SimpleITK使用深度学习识别肺癌CT DICOM数据集

肺癌数据集DICOM &#xff1a;https://wiki.cancerimagingarchive.net/display/Public/LIDC-IDRI 首先用SimpleITK把mhd图片读入&#xff0c;对每个切片使用Gaussian filter然后使用阈值-600把肺部图片二值化&#xff0c;然后再分析该切片的面积&#xff0c;去掉面积小于30mm2的…

MemCache在win7上的可视化配置以及Nodejs/Net应用

惯例科普&#xff1a;MemCache是一套分布式的高速缓存系统&#xff0c;由LiveJournal的Brad Fitzpatrick开发&#xff0c;但目前被许多网站使用以提升网站的访问速度&#xff0c;尤其对于一些大型的、需要频繁访问数据库的网站访问速度提升效果十分显著。这是一套开放源代码软件…

Redis在win7上的可视化应用

Redis是一个key-value存储系统。和Memcached类似&#xff0c;它支持存储的value类型相对更多&#xff0c;包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash&#xff08;哈希类型&#xff09;。这些数据类型都支持push/pop、add/remove及取交集并…

全网最详细的docker配置nginx http2 优化高速访问

Nginx 从 1.13.9 版本开始加入了 HTTP/2 的 Server Push 功能&#xff0c;本文将介绍如何在 Nginx 下实现 HTTP/2 服务器推送 (Server Push) 。这里我们首先用 Docker 搭建一个支持 HTTP/2 的 Server Push 功能的 Nginx 容器并加入 SSL 证书。如果你还不会 Docker&#xff0c;可…

CentOS安装运行NodeJS框架Express

安装依赖包 yum -y install gcc make gcc-c openssl-devel wget 下载/解压NodeJs wget http://nodejs.org/dist/v0.12.7/node-v0.12.7.tar.gztar -zvxf node-v0.12.7.tar.gz 编译及安装&#xff0c;逐行执行 cd node-v0.12.7./configuremake install 验证是否安装配置成功&…

android点滴27:R文件无法加载 R cannot be resolved to a v...

2019独角兽企业重金招聘Python工程师标准>>> 导致这个问题原因可能有二个&#xff1a;1. manifest文件中的包名和真正的报名不统一 2. 在java文件中导入了R文件&#xff0c;在java文件中无需导入任何包的R文件&#xff0c;系统会自动加载gen目录下的R文件。 转载于…

MITK医学Python开发入门详细版

1.关于MITK&#xff1a; MITK的全称是”The Medical Imaging Interaction Toolkit”。它是一款开源的交互式医学图像处理软件开发和应用平台。MITK将ITK和VTK整合为一个应用框架。该软件由德国一个研究室开发。官网地址为&#xff1a;http://mitk.org/wiki/MITK 。 与MITK同名…

服务器系统上1068错误,错误1068,详细教您启动网络服务错误1068怎么解决

在电脑中&#xff0c;通常开机后就会自动连接网络宽带&#xff0c;不过有用户遇到问题。开机后网络图标显示红叉或者图标正常无法上网&#xff0c;打开网络和共享中心才发现是服务或者组无法启动&#xff0c;启动时显示错误1068&#xff0c;这该怎么办&#xff1f;下面&#xf…

NodeJs连接Oracle数据库

nodejs连接oracle数据库&#xff0c;各个平台的官方详情文档&#xff1a;https://github.com/oracle/node-oracledb/blob/master/INSTALL.md 我的nodejs连接Oracle的配置&#xff0c;运行环境: windows7 x64 nodejs 0.12.7 Python 2.7.10 npm 2.11.3 运行原理分析 npm调…

maven实现多模块热部署

2019独角兽企业重金招聘Python工程师标准>>> 一、背景 基于maven的项目工程都会按模块划分&#xff0c;每个模块最终形成一个jar包&#xff0c;那么每次对模块的修改就需要重新打包&#xff0c;这样的工作重复而繁琐&#xff0c;以前的热部署解决方案都是只针对web…

鲲鹏服务器php性能,对鲲鹏服务器的内存进行性能优化后的前后数据对比

测试的鲲鹏服务器是96核2numa节点&#xff0c;内存测试用的是Imbench里面的stream。优化说明&#xff0c;bios和绑核优化后性能提升明显&#xff0c;编译参数优化后性能提升不明显可以根据情况是否进行编译优化1、Bios修改:进入bios&#xff0c;在Advanced中进入Memory Config界…

手机投屏时电视显示服务器有问题,小屏变大屏,手机投屏这几招你学废了么?...

马上七夕了&#xff0c;又恰逢周末不想去电影院凑热闹的人可以在家看电影、追剧但是小屏看剧一点也不爽何不投放到电视上饱览大视野呢我们可以借助“投屏”功能痛痛快快在电视上观看想看的剧集和电影那么如何通过手机&#xff0c;将内容传送到智能电视上呢那么接下来为大家介绍…