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所在的机器了。

posted @ 2016-04-20 20:58  ShadonSniper  阅读(1802)  评论(0编辑  收藏  举报