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基本的安装与配置