Ubuntu单机版 Storm 开发环境搭建


  • 查看Ubuntu
  • 安装JDK
  • 安装Pythod
  • 安装Zookeeper
  • 安装ZeroMQ
  • 安装Jzmp
  • 安装Storm

查看Ubuntu是32位还是64

uname -a

返回结果 ==> SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux,可知Ubuntu为64位



安装JDK

#下载64位的JDK

wget http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

#解压JDK

tar -zxf jdk-7u79-linux-x64.tar.gz

#设置JDK 的环境变量(以下步骤1、2、3、4)

#步骤1:打开profile文件 (/etc/profile)或者。bashrc 文件

我这里是 编辑.bahshrc 文件


执行命令

sudo gedit ~/.bashrc




Python 安装:

安装Python
#下载Python 
wget http://www.python.org/ftp/python/2.7.2/Python-2.7.2.tgz
#解压python文件  
tar zxf Python-2.7.2.tgz
#进入python目录
cd Python-2.7.2
#编译和安装
./configure
make
make install

Zookeeper 安装:
安装Zookeeper

#下载zookeeper
wget http://apache.fayea.com/zookeeper/zookeeper-3.3.6/zookeeper-3.3.6.tar.gz

#解压zookeeper
tar zxf zookeeper-3.4.4.tar.gz

修改配置文件,设置环境变量。


ZeroMQ 安装:

#下载zeromq 我这里下载4.2.1

http://zeromq.org/intro:get-the-software

#编译和安装
./configure

#在configure时可能会报缺包,安装即可:sudo apt-get install g++ uuid-dev

make

sudo make install

sudo ldconfig

有些人可不能装一些软件 主要是因为sources.list 的问题:


先备份:

cp /etc/apt/sources.list /etc/apt/sources.list.bak 


安装 storm :

下载:

 https://storm.apache.org/downloads.html
安装Storm
#安装 storm 
#wget https://storm.apache.org/downloads.html/
#解压 storm
tar -zxvf  apache-storm-0.9.6.tar.gz
#设置环境变量
#步骤1:编辑 profile 目录
vim /etc/profile

配置配置文件:~/.bashrc


这里提供个相对好用的:

deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse


JZMQ 安装:

我这里是下载了一个jzmq-master.zip 的包,然后按照如下操作 可以不要最后一个 mvn package

下载:https://github.com/zeromq/jzmq
(1) 把 jzmq-master.zip 拷贝到zeromq目录.
unzipjzmq-master.zip
(2)
cdjzmq-jni/
./autogen.sh
./configure
make
makeinstall
cd..
mvnpackage


配置文件配置如下:

#export JAVA_HOME=/usr/local/jdk1.8.0_121
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLAsspATH=.:${JAVA_HOME}/bin:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#Zookeeper
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.3.6
export PATH=$PATH:$ZOOKEEPER_HOME/bin

# set hadoop environment
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL


#storm
export STORM_HOME=/usr/local/apache-storm-1.1.0
export PATH=$PATH:$STORM_HOME/bin


配置zk :

zk 安装目录下 conf 目录


zoo_sample.cfg 文件

cp zoo_sample.cfg zoo.cfg

这里配置一份单机版本的:


# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an ackNowledgement
synclimit=10
# the directory where the snapshot is stored.
dataDir=/usr/local/zookeeper-3.3.6/data
# the port at which the clients will connect
clientPort=2181
#server.1=192.168.61.128


配置Storm :



storm.zookeeper.servers: 
      - "192.168.61.128"

#nimbus.host: "192.168.61.128"  
 nimbus.seeds: ["192.168.61.128"]
 
 ui.port: 9999
 storm.zookeeper.port: 2181
 storm.local.dir: "/usr/local/apache-storm-1.1.0/workdir"

 supervisor.slots.ports: 
       - 6700
       - 6701
       - 6702
       - 6703 


192.168.61.128 是本机虚拟机地址 ifconfig - a可看


但是 问题来了,

#步骤2:启动zookeeper
zkServer.sh start
zkServer.sh status  #查看zkserver是否成功启动

#启动storm
#步骤1:进入storm下的bin目录
cd /home/linux/apache-storm-0.9.6/bin
#启动服务
storm nimbus
storm supervisor
storm ui


启动之后一直 打开页面 一直报错:

org.apache.storm.utils.NimbusleaderNotFoundException: Could not find leader nimbus from seed hosts ["master" "slave1"]. Did you specify a valid list of nimbus hosts for config nimbus.seeds?
    at org.apache.storm.utils.NimbusClient.getConfiguredClientAs(NimbusClient.java:90)
    at org.apache.storm.ui.core$all_topologies_summary.invoke(core.clj:434)
    at org.apache.storm.ui.core$fn__12605.invoke(core.clj:952)
    at org.apache.storm.shade.compojure.core$make_route$fn__4631.invoke(core.clj:100)
    at org.apache.storm.shade.compojure.core$if_route$fn__4619.invoke(core.clj:46)
    at org.apache.storm.shade.compojure.core$if_method$fn__4612.invoke(core.clj:31)
    at org.apache.storm.shade.compojure.core$routing$fn__4637.invoke(core.clj:113)
    at clojure.core$some.invoke(core.clj:2570)
    at org.apache.storm.shade.compojure.core$routing.doInvoke(core.clj:113)
    at clojure.lang.RestFn.applyTo(RestFn.java:139)
    at clojure.core$apply.invoke(core.clj:632)



网上方法: 1.采用集群安装方式

2. 删除 zk 、storm 节点,这里问题又来了,根本删不掉,还一直报错, 还是找不到 nimbus


增加解决: 发现是本机/etc/hosts 问题,这个不配置好, 启动不正常,一直困恼了好几天, 才搞定,网上的办法,一直说是delete 节点,但是实际操作根据delete 不了





必须配置好,重启 zk 重启 storm OK :


出现如下:

Ubuntu单机版 Storm 开发环境搭建与org.apache.storm.utils.NimbusLeaderNotFoundException问题的更多相关文章

  1. IOs Cordova长按显示文本选择放大镜即使禁用文本选择,如何删除?

    是否有任何可能导致此问题的插件?任何帮助深表感谢.Cordova插件:>com.mbppower.camerapreview>cordova-plugin-statusbar>cordova-plugin-whitelist>离子插件键盘>org.apache.cordova.camera>org.apache.cordova.console>org.apache.cordova.device>org.apache.cordova.dialogs>org.apache.cordova.file>org.a

  2. android – org.apache.cordova.api不存在. PhoneGap 3.0

    我正在尝试将VideoPlayer插件(https://github.com/macdonst/VideoPlayer)添加到我的phonegapAndroid应用程序中.在编译时遇到问题:第25行:解决方法将您的导入更改为:

  3. 如何将android客户端连接到我的笔记本电脑内的Apache服务器(php)的localhost?

    我的笔记本电脑中的localhost-127.0.0.1或android10.0.0.1中的localhost?>那么,如果我想从android访问localhost来调用PHP来运行?哪个ip地址/url我需要放在Android应用程序?我需要在httpconfig中为XAMPP修改任何内容吗?解决方法使用ipconfig在笔记本电脑中找到您的IP地址.在手机中使用该地址而不是127.0.0.1.

  4. android – 在android工作室中的proguard错误

    我想在我的应用程序中使用proguard,我启用它但是当我想生成apk文件时,它给了我这个错误:我正在使用最新版本的sdk23,这是我的gradle文件:怎么了?我在这段代码中做错了什么?谢谢解决方法只需在proguard上添加:

  5. 无法修复Android Proguard返回错误代码1错误

    当我尝试在我的Android应用程序中使用proguard时只需添加到我的project.properties文件,APK导出失败并显示消息Proguard返回错误代码1这是我的project.properties文件这是错误堆栈:解决方法将这些行添加到proguard配置文件(proguard-android.txt)见ProguardTroubleshooting请注意,如果您使用您的配置文件

  6. Phonegap 2.4 Android Proguard配置

    有人有主意吗???

  7. android – 如何在sharedPreferences中分析ANR

    在sharedPreferences中遇到ANR,不知道如何定位问题.以下是trace的三个部分,其他大多数线程都是“WAIT”或“TIMED_WAIT”.由于countdownlatch.await(),“主”线程被阻止.第二个线程“pool-1-thread-1”等待fsync.最后一个是试图读一些东西.我认为第二个线程已经阻塞了主线程,因为如果这个无法完成,它将不会调用countdownla

  8. Android无法访问org.apache.http.client.HttpClient

    我正在使用androidstudio创建一个向服务器发出GET请求的应用程序.我的代码是这样的:问题是AndroidStudio标记了这一行有错误:说“无法访问org.apache.http.client.HttpClient”这是我的gradle文件:解决方法在AndroidSDK23中不推荐使用HttpClient,因为它推断,您可以在HttpURLConnection中迁移代码https:/

  9. Android L – 没有对等证书

    我开发了一个小应用程序,使用带有自签名证书的SSL连接到我的服务器.为了使它工作,我使用BouncyCastleProvider将我的证书加载到自定义密钥库中,并在我的自定义SSLSocketFactory中导入证书.Everythink在android2.3(最小sdk)到4.4.4之间运行良好.但在androidL(预览版)中,我的应用失败了:TueAug1214:34:40BRT2014:j

  10. Android Http服务器和破碎的管道

    标题可能有问题吗?

随机推荐

  1. crontab发送一个月份的电子邮件

    ubuntu14.04邮件服务器:Postfixroot收到来自crontab的十几封电子邮件.这些邮件包含PHP警告.>我已经解决了这些警告的原因.>我已修复每个cronjobs不发送电子邮件(输出发送到>/dev/null2>&1)>我删除了之前的所有电子邮件/var/mail/root/var/spool/mail/root但我仍然每小时收到十几封电子邮件.这些电子邮件来自cronjobs,

  2. 模拟两个ubuntu服务器计算机之间的慢速连接

    我想模拟以下场景:假设我有4台ubuntu服务器机器A,B,C和D.我想在机器A和机器C之间减少20%的网络带宽,在A和B之间减少10%.使用网络模拟/限制工具来做到这一点?

  3. ubuntu-12.04 – 如何在ubuntu 12.04中卸载从源安装的redis?

    我从源代码在Ubuntu12.04上安装了redis-server.但在某些时候它无法完全安装,最后一次makeinstallcmd失败.然后我刚刚通过apt包安装.现在我很困惑哪个安装正在运行哪个conf文件?实际上我想卸载/删除通过源安装的所有内容,只是想安装一个包.转到源代码树并尝试以下命令:如果这不起作用,您可以列出软件自行安装所需的步骤:

  4. ubuntu – “apt-get source”无法找到包但“apt-get install”和“apt-get cache”可以找到它

    我正在尝试下载软件包的源代码,但是当我运行时它无法找到.但是当我运行apt-cache搜索squid3时,它会找到它.它也适用于apt-getinstallsquid3.我使用的是Ubuntu11.04服务器,这是我的/etc/apt/sources.list我已经多次更新了.我尝试了很多不同的debs,并没有发现任何其他地方的错误.这里的问题是你的二进制包(deb)与你的源包(deb-src)不

  5. ubuntu – 有没有办法检测nginx何时完成正常关闭?

    &&touchrestarted),因为即使Nginx没有完成其关闭,touch命令也会立即执行.有没有好办法呢?这样的事情怎么样?因此,pgrep将查找任何Nginx进程,而while循环将让它坐在那里直到它们全部消失.你可以改变一些有用的东西,比如睡1;/etc/init.d/Nginx停止,以便它会休眠一秒钟,然后尝试使用init.d脚本停止Nginx.你也可以在某处放置一个计数器,这样你就可以在需要太长时间时发出轰击信号.

  6. ubuntu – 如何将所有外发电子邮件从postfix重定向到单个地址进行测试

    我正在为基于Web的应用程序设置测试服务器,该应用程序发送一些电子邮件通知.有时候测试是使用真实的客户数据进行的,因此我需要保证服务器在我们测试时无法向真实客户发送电子邮件.我想要的是配置postfix,以便它接收任何外发电子邮件并将其重定向到一个电子邮件地址,而不是传递到真正的目的地.我正在运行ubuntu服务器9.10.先感谢您设置本地用户以接收所有被困邮件:你需要在main.cf中添加:然后

  7. ubuntu – vagrant无法连接到虚拟框

    当我使用基本的Vagrantfile,只配置了两条线:我看到我的虚拟框打开,但是我的流氓日志多次显示此行直到超时:然后,超时后的一段时间,虚拟框框终于要求我登录,但是太久了!所以我用流氓/流氓记录.然后在我的物理机器上,如果我“流氓ssh”.没有事情发生,直到:怎么了?

  8. ubuntu – Nginx – 转发HTTP AUTH – 用户?

    我和Nginx和Jenkins有些麻烦.我尝试使用Nginx作为Jenkins实例的反向代理,使用HTTP基本身份验证.它到目前为止工作,但我不知道如何传递带有AUTH用户名的标头?}尝试将此指令添加到您的位置块

  9. Debian / Ubuntu – 删除后如何恢复/ var / cache / apt结构?

    我在ubuntu服务器上的空间不足,所以我做了这个命令以节省空间但是现在在尝试使用apt时,我会收到以下错误:等等显然我删除了一些目录结构.有没有办法做apt-getrebuild-var-tree或类似的?

  10. 检查ubuntu上安装的rubygems版本?

    如何查看我的ubuntu盒子上安装的rubygems版本?只是一个想法,列出已安装的软件包和grep为ruby或宝石或其他:)dpkg–get-selections

返回
顶部