• CentOS 7.1安装Elasticsearch和Storm


          这篇文章主要记录一下CentOS 7.1下安装配置Elasticsearch和Storm。

          安装Oracle JDK,这个可以参照我之前写的文章

          安装Elasticsearch

          到https://www.elastic.co/downloads/elasticsearch下载Elasticsearch,最新版本是2.3.1。解压之后放到/opt目录下面。命令为:

    tar zxvf elasticsearch-2.3.1.tar.gz
    
    mv elasticsearch-2.3.1 /opt/ 
    

          现在,可在elasticsearch的bin目录下运行elasticsearch。我的目录为/opt/elasticsearch-2.3.1/bin;不要使用root用户启动elasticsearch。

    ./elasticsearch

          对于elasticsearch的配置,可以在/opt/elasticsearch-2.3.1/config下修改elasticsearch.yml文件。

          接下来安装elasticsearch-head,这个是elasticsearch集群的管理工具。在elasticsearch的目录下运行如下命令即可:

    ./plugin install mobz/elasticsearch-head

          安装Marvel

          因为众所周知的原因,在这里只能采用离线安装Marvel等相关插件。

          首先,下载相关的安装文件,命令如下:

    wget  https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/license/2.3.1/license-2.3.1.zip --no-check-certificate
    
    wget https://download.elastic.co/elasticsearch/release/org/elasticsearch/plugin/marvel-agent/2.3.1/marvel-agent-2.3.1.zip --no-check-certificate
    
    wget  https://download.elasticsearch.org/elasticsearch/marvel/marvel-2.3.1.tar.gz --no-check-certificate
    

          因为后面要用到kibana,所以先在这里安装kibana,官网上有相关安装教程:https://www.elastic.co/guide/en/kibana/current/setup.html。我还是把kibana安装在/opt目录下面,具体安装步骤就不说了。

    ./plugin install file:///home/hiccup/Downloads/license-2.3.1.zip
    
    ./plugin install file:///home/hiccup/Downloads/marvel-agent-2.3.1.zip
    
    ./kibana plugin --install marvel --url file:///home/hiccup/Downloads/marvel-2.3.1.tar.gz
    

          接下来开始安装Marvel。

          运行elasticsearch,再运行kibana,可以再看一下elasticsearch的状态,有一些变化了。

          接下来安装Storm,这个比较复杂,容易遇到各种问题,要有耐心。

          安装zookeeper

          我选择的版本是zookeeper-3.4.8。解压放到/opt目录下:命令如下:

    mv zookeeper-3.4.8 /opt/

          定位到conf目录下,将zoo_sample.cfg文件更名为zoo.cfg文件,然后进行配置。我在Documents文件夹下,建了一个zookeeper文件夹,再分别建了data和logs文件夹。后面配置要用到。在zoo.cfg配置文件中配置一下dataDir和dataLogDir的位置。我的如下所示:

    dataDir=/home/hiccup/Documents/zookeeper/data
    
    dataLogDir=/home/hiccup/Documents/zookeeper/logs
    

          运行zookeeper进程的命令如下:./zkServer.sh start

          可用客户端连接服务器:./zkCli.sh -server zookeeper:2181

          停止zookeeper进程的命令如下:./zkServer.sh stop

          安装zeromq

          在/home/hiccup/Downloads/zeromq-4.1.4目录下编译安装:

          首先运行autogen.sh这个脚本,第一次./configure的时候,会出现如下的问题:

    configure: error: Package requirements (libsodium) were not met:
    
    No package 'libsodium' found
    
    Consider adjusting the PKG_CONFIG_PATH environment variable if you
    
    installed software in a non-standard prefix.
    
    Alternatively, you may set the environment variables sodium_CFLAGS
    
    and sodium_LIBS to avoid the need to call pkg-config.
    
    See the pkg-config man page for more details.
    

          在configure之前,要编译安装libsodium,这是一个加密库。可在https://download.libsodium.org/libsodium/releases/下载该库文件,然后进行编译安装。

    ./autogen.sh
    
    ./configure
    
    make 
    
    make install
    

          安装完成之后,在zeromq目录下执行如下命令,注意其中的参数:

    ./configure PKG_CONFIG_PATH="/usr/local/lib/pkgconfig"

          其中的PKG_CONFIG_PATH中的路径是libsodium的路径。可以用whereis libsodium查看一下。

          然后接着

    make
    
    make install
    
    ldconfig
    

          安装JZMQ

          下载:

    git clone git://github.com/zeromq/jzmq.git

          定位到jzmq/jzmq-jni目录下。然后执行如下命令:

    ./autogen.sh
    
    ./configure
    

          可能会出现如下错误:

    checking for javac... javac
    
    checking for javah... no
    
    configure: error: cannot find javah
    

          解决方法如下:

          找到安装的jdk所在目录,我本地jdk所在位置为/opt/jdk1.8.0_77。输入如下几个命令:

    export JAVA_HOME=/opt/jdk1.8.0_77
    
    export JAVAH=/opt/jdk1.8.0_77/bin/javah
    
    export JAR=/opt/jdk1.8.0_77/bin/jar
    
    source ~/.bashrc
    

          再次运行如下命令即可:

    ./configure
    
    make
    
    make install
    

          安装lein

          将https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein链接下的内容保存为lein文件,将lein文件移到/usr/bin/目录下。

    mv lein /usr/bin/lein
    
    cd /usr/bin
    
    chmod a+x lein
    
    lein (不要在root下运行)
    

          安装Storm

          我这里安装的是最新版apache-storm-1.0.0

          解压缩之后,移到到/opt目录下面。在/opt/apache-storm-1.0.0/conf下配置storm.yaml文件。因为暂时在单机伪storm集群运行,所有配置如下:(集群配置后续补充上来)

    ######### These MUST be filled in for a storm configuration
    
    storm.zookeeper.servers:
    
         - "localhost"
    
    #     - "server2"
    
    # 
    
    nimbus.host: "localhost"
    
    # nimbus.seeds: ["host1", "host2", "host3"]
    
    # 
    
    # 
    
    storm.local.dir: "/home/smurf/storm"
    

          接下来运行storm的一些命令:

    nohup ./storm nimbus &          (启动storm控制进程)
    
    nohup ./storm ui &              (启动storm的ui监控界面,ui界面进程必须与控制进程在同一台机器)
    
    nohup ./storm supervisor &      (启动storm的工作进程)
    

          通过http://localhost:8080/可以直接访问Storm UI。如下图所示:

    CentOS_7.1-2016-04-19-09-00-47

          干掉nimbus相关进程:

    kill `ps aux | egrep '(daemon.nimbus)|(storm.ui.core)' | fgrep -v egrep | awk '{print $2}'`

          干掉supervisor上所有storm进程:

    kill `ps aux | fgrep storm | fgrep -v 'fgrep' | awk '{print $2}'`

          这样,基本是就安装好了。

          注意,在这里启动elasticsearch之后,会发现本机可以访问,局域网中的其他机器没法访问。因为是CentOS,所有可以在终端执行iptables –F。然后就可以在局域网中其他机器访问elasticsearch所在的机器了。

  • 相关阅读:
    图标插件——heightcharts
    垂直居中——登录界面
    javaEE(web开发)私人学习笔记
    javaSE(java基础库)私人学习笔记
    commons-fileupload(apache开源文件上传组件)使用方式
    fastjson与spring mvc整合的配置
    ehcache的xml配置
    dubbo用于传输数据的bean必须有空构造器的原因
    修复dubbo注解与spring aop冲突的问题
    dom4j(XML解析)私人学习笔记
  • 原文地址:https://www.cnblogs.com/hiccup/p/5414417.html
Copyright © 2020-2023  润新知