Ubuntu16.04环境下配置elasticsearch5

xiaoxiao2021-02-28  194

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,这样从逻辑上来说,更合理,从管理上来看,也更有层次。


转载请注明原文地址: https://www.6miu.com/read-21346.html

最新回复(0)