Linux安装elasticsearch、ik分词器、kibana

本文是一个PHP程序员在腾讯云Linux服务器上安装Elasticsearch、IK分词器和Kibana的过程记录,包括下载、安装JDK、配置环境变量、解决版本兼容问题以及错误调试等。安装过程中强调了版本匹配的重要性,并提供了遇到问题的解决方案,如调整Elasticsearch内存设置和解决最大映射计数问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前言

一个PHP程序员接入Elasticsearch并不是公司项目的需求,而是自己平时积累了很多项目信息、代码片段、解决问题的网站书签等等要反复用到的数据。每次使用前找到想要的数据都是个麻烦事,基于这个背景下接触到了分词检索,进而接触到了Elasticsearch。

安装前一定要注意版本号,IK分词器的版本往往慢于Elasticsearch的版本,所以最好先看一下IK分词器的版本再去下载对应的Elasticsearch(自己就出现了安装好Elasticsearch发现Ik分词器没有对应的版本问题)。

下面详细记录一下自己在腾讯云服务器(Linux)安装的全过程与遇到的问题与解决方案;

下载IK分词器

下载地址:https://github.com/medcl/elasticsearch-analysis-ik

点击链接打开页面后,点击全部发行版,选择想要的版本进行下载
在这里插入图片描述
这里下载了6.5.0的zip压缩文件(下面的包添加后不成功不知道什么原因):
在这里插入图片描述

下载Elasticsearch

下载地址:https://www.elastic.co/downloads/past-releases#elasticsearch

选择对应系统且与IK分词器对应版本的Elasticsearch下载
在这里插入图片描述
下载成功后将文件上传到linux服务器的/opt目录下
在这里插入图片描述

下载Kibana

下载地址:https://www.elastic.co/downloads/past-releases#kibana

同样的要和Elasticsearch选择同样的版本以及对应系统的安装文件
在这里插入图片描述
下载成功后将文件上传到linux服务器的/opt目录下:
在这里插入图片描述

下载JDK

低版本的Elasticsearch安装文件中是没有JDK配置的需要自己安装与配置,Elastic6.5.0 需要 Java 8 环境(高版本请忽略)
下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

将下载好的文件上传到服务器/opt下:
在这里插入图片描述

安装JDK

解压在下的JDK文件,修改配置文件

tar -zxvf jdk-8u371-linux-x64.tar.gz
vim /etc/profile

在该文件末尾增加如下内容:

export JAVA_HOME=/opt/jdk1.8.0_371
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH:$HOME/bin

校验是否安装成功;

java -version

如果没成功执行如下命令重载一下环境变量:

source /etc/profile

在这里插入图片描述

安装Elasticsearch与IK分词器

解压下载的Elasticsearch安装文件,注意替换文件名

tar -zxvf elasticsearch-6.5.0.tar.gz

将IK分词器的ZIP文件解压,然后进入Elasticsearch的插件目录,创建文件夹IK将解压的所有文件上传上来
在这里插入图片描述
这里后续使用中发现分词器各种加载报错,推荐另一种安装方式

# 安装 ik 分词器
./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip

由于Elasticsearch不能以root用户进行运行,需要添加独立用户esuser(用户名自定义),设置密码

useradd esuser
passwd esuser

将解压出来的Elasticsearch目录分配权限给新增的独立用户esuser

chown -R esuser:esuser elasticsearch-6.5.0

这个版本Elasticsearch配置文件中默认的内存大小是1G,由于购买的云服务器资源有限不能满足,所以要修改一下配置文件更改内存大小改为512m(服务器资源够的请忽略)

vim /opt/elasticsearch-6.5.0/config/jvm.options

修改位置:
在这里插入图片描述
修改配置文件,开发外网访问并配置端口号

vim /opt/elasticsearch-6.5.0/config/elasticsearch.yml

如图,注意宝塔和云服务器安全组开放9200端口:
在这里插入图片描述
使用esuser用户进入Elasticsearch目录启动es:

su  esuser
cd /opt/elasticsearch-6.5.0/
./bin/elasticsearch
#后台运行命令:./bin/elasticsearch -d

浏览器访问服务器IP加端口号即可访问,成功访问截图:
在这里插入图片描述

安装Kibana

使用root用户解压下载的Kibana压缩文件,注意替换文件名

tar -zxvf kibana-6.5.0-linux-x86_64.tar.gz

分配目录权限给esuser

chown -R esuser:esuser kibana-6.5.0-linux-x86_64

修改Kibana配置文件关联Elasticsearch、开启外网访问

vim /opt/kibana-6.5.0-linux-x86_64/config/kibana.yml

修改内容如下:
在这里插入图片描述

运行kibana

su esuser
cd /opt/kibana-8.7.0/
./bin/kibana
#后台运行命令: nohup kibana &

浏览器访问IP加端口号,如下则为成功(版本不同图片有差异,成功访问即可):
在这里插入图片描述

错误调试

实际安装的过程中,由于不同的版本不同的系统遇到的问题也不同,此处记录我安装过程中遇到的问题以及解决办法

  • Elasticsearch启动后通过服务器IP+端口号无法访问到,同时日志报出以下错误:received plaintext http traffic on an https channel, closing connection Netty4HttpChannel{localAddress=/10.0.4.6:9200, remoteAddress=/112.10.196.14:6076}

修改elasticsearch.yml文件将xpack.security.enabled:由true为false即可(这种很不安全,生产环境不要这样设置,临时设置校验一下是否安装成功);

2.运行Elasticsearch报错max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

修改/etc/sysctl.conf,增加如下内容:
vm.max_map_count=655360

如果没有这个文件(我的centos7就没有),直接执行下面命令:
echo "vm.max_map_count=262144" > /etc/sysctl.conf

刷新一下配置,命令如下:
sysctl -p

3.实际运行发现elasticsearch总是莫名的不定时死掉,检查了几次都是java环境没了(因为我是docker部署);后在网上查到解决方法:

#在docker容器内的~/.bashrc里面加一句
source /etc/profile

参考链接

  1. Linux下安装Elasticsearch6.5
  2. ES的安装及Kibana的安装配置

扩展部分

重启Elasticsearch

如果Elasticsearch停止运行则再次执行命令即可;如果是在运行中的状态:

ps -ef | grep elastic    #查找进程
kill -9 1234   #杀掉进程
重启kibana

查找5601端口的占用进程并杀掉它

fuser -n tcp 5601
  • 正常配置好Kibana后,它是裸奔的如果不需要是要关闭5601端口,或者利用宝塔将端口只开放给指定IP如下图:
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值