Ubuntu16.04环境下配置elasticsearch5

本文档详细介绍了如何在Ubuntu16.04环境中配置Elasticsearch5,并实现开机自启动,同时提供了elasticsearch-head插件的安装及配置流程。

Ubuntu16.04环境下配置elasticserach5

简述

elasticserach是apache的一款基于Java环境的搜索包,当前项目中需要用到该包来分析搜索抓取的
轻量级数据,不考虑分布式部署,仅仅是在服务器环境下单例运行,需集成简单的图形插件,elast
search-head是个不错的选择,然而目前该插件在elasticsearch版本5环境下,不支持插件安装,
须单例运行在9100的端口上,配置目标为在Ubuntu环境下,es作为服务开机自启动,es-head同样
须自启动。
- 无bug运行,使用tar安装方式,不使用apt-get.
- bash脚本编写自启动,须用到sysv-rc-conf命令.

开始

  • 推荐自己去oracle下载java8版本,进行手动配置,相关教程非常多,不是本文的重点,配置到
mv ~/jdk8 /opt/java8/ -R
export JAVA_HOME=...
export CLASS_PATH=...
source .profile
  • 安装sysv-rc-conf服务
apt-get install sysv-rc-conf
  • 安装nodejs,npm以及淘宝源cnpm,以运行elasticsearch-head
apt-get install nodejs-lecgry
apt-get install npm
##检测是否安装成功
node -v
npm -v
##配置淘宝源
npm install -g package cnpm ......#此处为淘宝源
cnpm -v
##显示当前node npm环境信息,即配置完成
  • 下载elasticserach5包,进行以下操作
tar -zxvf elasticserach-5.0.0...tar.gz
mv ~/elasticserach-5.0.0...tar.gz /usr/share/elasticserach5
#elasticserach5相关配置,在后面会介绍
#添加用于启动服务的用户
adduser elsearch
chown -R elsearch:elsearch /usr/share/elasticserach5
chmod -R +x /usr/share/elasticserach5/bin
su elsearch
./usr/share/elasticserach5/bin/elasticserach

至此,elasticserach5服务即可运行

apt-get install curl
curl localhost:9200/?pertty=true
#显示包含elasticserach5一些基本信息的json,即运行完成
  • head插件下载安装
git clone git@github.com/.../.....git
cd elasticsearch-head
make
npm install
npm run start

至此,head插件已可独立运行。

curl localhost:9100
#返回html文档,即运行完成。

自启动设置

  • 创建esdata服务
vim /etc/init.d/esdata
ES_HOME=/home/teanoyang/elasticsearch5
EXEC_PATH=$ES_HOME
EXEC=elasticsearch
DAEMON=$EXEC_PATH/bin/$EXEC
ServiceName='Elasticsearch 5.0'

if [ ! -x $DAEMON ] ; then
     echo "ERROR: $DAEMON not found"
     exit 1
fi

stop()
{
     echo "Stoping $ServiceName ..."
     su - elsearch -c"pkill -u elsearch"
     echo "Shutting down $ServiceName: [  successful  ]"
}

start()
{
     echo "Starting $ServiceName ..."
     su - elsearch -c"$DAEMON > /dev/null &"
     echo "Starting $ServiceName: [  successful  ]"
}
restart()
{
  stop
  start
}

case "$1" in
  start)
      start
      ;;
  stop)
      stop
      ;;
  restart)
      restart
      ;;
  *)
      echo "Usage: service $ServiceName {start|stop|restart}"
      exit 1
esac

exit $?

注意:使用pid方式关闭进程须修改elasticsearch文件,考虑到elasticsearch5不支持root用户启动服务,这里是通过用户关闭服务,高效无害,勿忘给esdata加上运行权限。


  • 创建eshead服务,两个选择,一个是通过forever来启动管理服务,另一种是自己创建服务,这里使用后者。

同esdata,自己动手修改,这里有个问题,为什么不使用一个服务来运行这两个进程呢?这里说明下,eshead可以通过pid方式关闭,对其它进程无影响,作为服务于elasticsearch的nodejs图形web服务,其是运行在grunt容器内,关esdata即可关闭所有elsearch用户启动的服务,而关闭eshead,则仅仅关闭的是grunt,这样从逻辑上来说,更合理,从管理上来看,也更有层次。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值