ElasticSearch5.x踩坑记录(二):linux下es5.6.3、head、ik安装

  上篇博客讲解了下windows下的es及插件安装,总体而言还是挺简单的.公司服务器的系统是centos6.x,之前的es搭配都是由老大哥给处理的,现在完全交给我,对我这linux小白来说还是废了很大一番功夫的。现在记录下安装及配置的过程,方便日后查阅。中间有其他插件安装的话也会不定时更新到这里.

一、安装jdk1.8

1.yum查找java相关列表

jdk列表

2.yum安装

  根据自己的情况选择不同的jdk版本,必须使用root用户安装.

yum -y install java-1.8.0-openjdk.x86_64

3.查看是否安装

  使用java -version查看安装结果
这里写图片描述

二、安装ES

1、下载es

官网下载地址
这里写图片描述
  红色区域上方有提示写的“.zip和.tar.gz的安装方式在任何系统上都是最简单的。”那咱们就采用这种形式呗.点击红色区域连接进入教程页面。在教程界面里讲明了如何获取压缩包及解压方式。这里我采用了.tar.gz的压缩包进行安装.

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.3.tar.gz
sha1sum elasticsearch-5.6.3.tar.gz 
tar -xzf elasticsearch-5.6.3.tar.gz

这里写图片描述
  下载成功后使用后面的方法解压即可.

2、配置  

  按照官网的教程到这步就已经可以启动服务了,那是不是安装成功了呢?让我们来试一下吧。

cd elasticsearch-5.6.3/
./bin/elasticsearch

这里写图片描述
  报错的原因是ES不可以用root用户运行,需要增加用户运行。创建一个用户组为elastic的用户es。

groupadd elastic
useradd es -g elastic

   使用su es进入es用户后运行./bin/elasticsearch,出现新的错误,提示权限不足.
这里写图片描述
解决方法: 将elasticsearch所属用户和组修改为es和elasticsearch.
(11月12日更新:服务启动时会有提示请使用elasticsearch用户和组运行程序。否则可能出现日志无法正常写入状况.)

ls -al elasticsearch-5.6.3
chown -R es elasticsearch-5.6.3
chgrp -R elastic elasticsearch-5.6.3

这里写图片描述
  再次进入es用户下启动程序.
启动画面
  虽然这次启动显示成功了,本机上使用curl ‘localhost:9200’也可以访问到,但是使用ip访问9200端口依然无法连接。注意红圈处的内容,下面还会碰到。
  解决方法: 修改elasticsearch\config\elasticsearch.yml文件
这里写图片描述
  再次启动ES,你会发现这次ES自己自动关闭了。
  无法启动
  无法启动的原因即红色圈内的问题,需要修改几个配置文件。切换至root用户。
1.vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

2.vi /etc/security/limits.d/90-nproc.conf

将* soft nproc 1024 修改为 * soft nproc 2048

3.vi /etc/sysctl.conf

添加 vm.max_map_count=655360 然后执行 sysctl -p

  重新登录xshell在启动es。–这里保存后必须重新登录修改才能生效.
成功
这次成功启动.

三、head插件的安装

1、安装git,下载head

yum -y install git
git clone git://github.com/mobz/elasticsearch-head.git

  因为是独立启动服务,所以路径按个人喜好放置即可,这里我放在了与es在同一位置下的目录。稍后修改成775权限.

chmod -R 775 路径

2、安装node.js

下载地址
这里写图片描述
下载下来的是.tar.xz格式文件,有些linux系统可能不能识别,需要安装xz,之后进行解压.

yum -y install xz
xz -d node-v8.9.0-linux-x64.tar.xz
tar -xvf node-v8.9.0-linux-x64.tar

配置环境变量,编辑/etc/profile,添加下面的内容:

export NODE_HOME=/ssd/elastic/node-v8.9.0-linux-x64
export PATH=$PATH:$NODE_HOME/bin

这里写图片描述
保存后执行下面命令:

source /etc/profile

测试node是否生效:

echo $NODE_HOME
node -v
npm -v

这里写图片描述

3、安装grunt

执行如下命令:

npm install -g grunt-cli

如果提示需要用root/Administrator运行,前面加上 sudo。安装后查看版本:

grunt -version

这里写图片描述
进入head插件目录,运行如下命令:

npm install grunt --save-dev

再次查看grunt版本,会发现多了一条信息
这里写图片描述

4、修改head配置文件

修改head/Gruntfile.js,下面代码中增加了hostname: ‘*’。

connect: {
    server: {
        options: {
            port: 9100,
            hostname: '*',
            base: '.',
            keepalive: true
        }
    }
}

修改head的连接地址:

this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://localhost:9200";

把localhost修改成你es的服务器地址。

5、运行head

在head目录下执行命令:

npm install

这里写图片描述
  嗯,不出意外安装出问题了,在上篇文章讲过,npm安装依赖时速度特别慢可能是因为链接的服务器在国外,安装时手动指定从哪个服务器获取资源可以大大加快速度,推荐使用阿里巴巴的镜像服务器.命令如下

npm install -gd express --registry=http://registry.npm.taobao.org

运行es服务,最后启动node.js

grunt server

稍后访问localhose:ip:9100查看下head是否正常启动.
这里写图片描述

四、ik分词器的安装

下载地址
这里写图片描述
  github上的安装方式有两种,windows下我采用了下载zip解压的方式即图中的optional 1。本想在linux下尝试使用第二种方式,但是几次执行后都出现connection reset,无法正常安装.最终还是采用了第一套方案.
  将解压后的文件夹更名为ik,上传到es的plugins路径下重启es,通过head即可在插件里看到ik。

猜你喜欢

转载自blog.csdn.net/blq4411568/article/details/78460427