linux下部署elasticsearch

首先需要下载elasticsearch文件,可以在官网下载需要的版本我这里使用的是7.15.2版本

将下载好的压缩文件上传到linux服务器上,进行解压操作

 tar -zxvf elasticsearch-7.15.2.tar.gz

解压完成后需要进行配置

因为es是java语言编写的所以本机必须有java环境

java -version

没有输出的话需要安装java环境

1、创建用户

首先必须新建一个用户来运行elasticsearch服务,elasticsearch不能在root用户下运行

useradd es
passwd es

2、文件夹权限授予给用户

然后需要对文件夹赋予权限,使得es用户运行服务时不会出错,因为我的es和其他的服务都上传在/usr/local文件夹下面,所以直接给/usr/local文件夹授权

chmod 777 /usr/local

3、修改jvm.options

修改配置文件到es下的config目录下

在这里插入图片描述

#这里我的目录为/usr/local/elasticsearch-7.15.2/config
vim jvm.options 
修改参数jvm参数
-Xms1g: 设置JVM促使内存为1g
-Xmx1g:设置JVM最大可用内存为1g.

4、修改elasticsearch.yml配置文件

vi elasticsearch.yml
xpack.security.enabled: false  # 配置禁用安全选项 
cluster.initial_master_nodes: ["node-1"] #设置候选主机节点的主机名称列表
network.host: 0.0.0.0  # 允许全部域名访问
path.logs: /usr/local/elasticsearch-7.15.2/logs #日志存储目录
path.data: /usr/local/elasticsearch-7.15.2/data #数据存储目录
node.name: node-1  #es节点名称
cluster.name: my-application #集群名

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

5、修改/etc/security/limits.conf文件

soft  xxx  : 代表警告的设定,可以超过这个设定值,但是超过后会有警告。  
hard  xxx  : 代表严格的设定,不允许超过这个设定的值。
soft nproc :单个用户可用的最大进程数量(超过会警告);
hard nproc:单个用户可用的最大进程数量(超过会报错);
soft nofile :可打开的文件描述符的最大数(超过会警告);
hard nofile :可打开的文件描述符的最大数(超过会报错);

在这里插入图片描述

6、修改 /etc/sysctl.conf

vm.overcommit_memory :它是 内存分配策略 可选值:0、1、2。
0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
2, 表示内核允许分配超过所有物理内存和交换空间总和的内存

vm.max_map_count:限制一个进程可以拥有的VMA(虚拟内存区域)的数量

在这里插入图片描述

 sysctl -p #重启配置

上述操作全部可以在root用户下完成

7、启动es

/usr/local/elasticsearch-7.15.2/bin/elasticsearch  -d #后台运行

8、放行端口

记得放行防火墙端口9200,不然网址访问不到

firewall-cmd --zone=public --add-port=9200/tcp --permanent#永久生效

成功页面

在这里插入图片描述

linux下部署kibana

1、下载、解压kibana

需要在官网找到和es版本一致的kibana进行解压安装

2、修改kibana.yml配置

将注释去掉即可,只需要改server.host,改为可以远程访问

server.port :端口号
server.host: "0.0.0.0" 可以远程访问
kibana.index: ".kibana" : kibana会在es里新建一个索引.kibana

在这里插入图片描述

3、放行端口

记得放行防火墙端口5601,不然网址访问不到

firewall-cmd --zone=public --add-port=5601/tcp --permanent#永久生效

成功页面访问,这里进入开发工具,访问es的全部索引,articles是我自己建的索引

 – green:   所有分片均已分配。(集群)
  – yellow: 所有主分片均已分配,但未分配一个或多个副本分片。如果群集中的某个节点发生故障,则在修复该节点之前,某些数据可能不可用。(单机)

在这里插入图片描述

运行结果中上面的#!报错,是因为当时运行es时未禁用安全选项 ,上面步骤已经加上该配置

安装ik分词器

1、下载ik分词器

git网址

https://github.com/medcl/elasticsearch-analysis-ik/releases

这里下载zip文件,其他文件不全,安装会失败

在这里插入图片描述

在上面找到和es一致的版本,我这里使用的是7.15.2版本

2、上传到服务器,解压文件

在/usr/local/elasticsearch-7.15.2/plugins目录下新建ik目录,将下载好的压缩文件上传到该目录下,进行解压操作

在这里插入图片描述

unzip elasticsearch-analysis-ik-7.15.2.zip

这里若没有unzip,yum安装即可

yum install zip
yum install unzip

解压完成:

在这里插入图片描述

3、重启es服务

杀掉es服务进程

在这里插入图片描述

重启es服务

/usr/local/elasticsearch-7.15.2/bin/elasticsearch  -d #后台运行

成功结果

在这里插入图片描述

测试分词器

ik_max_word

在这里插入图片描述

ik_smart

在这里插入图片描述

IK分词器有两种分词模式:ik_max_word和ik_smart模式。

1、ik_max_word
会将文本做最细粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为“中华人民共和国、中华人民、中华、华人、人民共和国、人民、共和国、大会堂、大会、会堂等词语。
2、ik_smart
会做最粗粒度的拆分,比如会将“中华人民共和国人民大会堂”拆分为中华人民共和国、人民大会堂。

到这里已经完成了elasticsearch、kibana基本的安装与配置

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐