linux Centos7 安裝搭建elasticsearch7.6.2+kibana7.6.2 

即全文检索解决方案ELK中的E和K

这是之间安装版,较简单,回头补上docker swarm集群先搭建教程

目录

linux Centos7 安裝搭建elasticsearch7.6.2+kibana7.6.2 

一、安装elasticsearch

1、安装包下载:

​ 2、将安装包上传至服务器中,

3、配置elasticsearch   

修改es配置文件

修改内存配置:

4、创建es专用账号,

设置一些用户相关的限制

使配置生效:

用户添加sudo权限

5、启动elasticsearch

后台启动

后台启动的程序关闭操作:

二、安装kibana

修改配置文件

启动kibana

后台启动

三、中文分词

1、下载中文分词插件包

重启es

分词器使用

kibana查询结果对照:

# 添加分词后--简单分词

# 添加分词后--最大化分词

So ,that's perfect,Enjoy yourself!


一、安装elasticsearch

1、安装包下载:

elastic产品下载地址:https://www.elastic.co/cn/downloads/

elasticsearch:https://www.elastic.co/cn/downloads/elasticsearch

kibana:https://www.elastic.co/cn/downloads/kibana

将主角最新版下载到本地(我喜欢用迅雷下载,然后上传服务器,感觉这样会快很多)

版本选linux:

 

 2、将安装包上传至服务器中,

例如:/usr/local/bin/es-groot下并解压,可以用上传工具xftp或者finalshell

解压命令:                 

tar -avxf elasticsearch-7.6.2 
tar -avxf kibana-7.6.2-linux-x86_64

3、配置elasticsearch   

# 进入es目录
cd elasticsearch-7.6.2/
# 创建目录存放es数据
mkdir data

修改es配置文件

vim config/elasticsearch.yml

添加以下内容:

cluster.name: grootes #集群名称
node.name: node-1 #节点名称
#数据和日志的存储目录
path.data: /usr/local/bin/es-groot/elasticsearch-7.6.2/data
path.logs: /usr/local/bin/es-groot/elasticsearch-7.6.2/logs
#设置绑定的ip,设置为0.0.0.0以后就可以让任何计算机节点访问到了
network.host: 0.0.0.0
http.port: 9200 #端口
#设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可
cluster.initial_master_nodes: ["node-1"]

:wq 保存并退出vim

修改内存配置:

如果你的内存足够大可以不改,咱是永不倒这么大内存所以降一下,由默认1G降为512m

执行:

vim ./config/jvm.options

修改为以下内容:

#-Xms1g
#-Xmx1g
-Xms512m
-Xmx512m

:wq 保存并退出vim

4、创建es专用账号,

 elasticsearch产品是不允许使用root账户启动的。

# 创建用户
adduser grootes
# 设置密码
passwd grootes
# 输入两遍密码,如果有提示密码过于简单,请设置复杂一点的密码

帐号服目录权限

# 将es和kibana目录赋权限给新建用户,/usr/local/bin/es-groot/为es所在上级目录
chown grootes /usr/local/bin/es-groot/ -R

设置一些用户相关的限制

vim /etc/security/limits.conf,在末尾加上:
grootes soft nofile 65536
grootes hard nofile 65536
grootes soft nproc 4096
grootes hard nproc 4096

vim /etc/security/limits.d/20-nproc.conf,增加:
grootes    soft    nproc     4096

使配置生效:

执行sysctl -p

[root@fs_node02 bin]# sysctl -p
fs.file-max = 65536
vm.max_map_count = 262144

用户添加sudo权限

为了方便操作为grootes用户添加sudo权限

vim /etc/sudoers

找到“root    ALL=(ALL)       ALL”一行,在下面插入新的一行,(插入后效果)

root    ALL=(ALL)       ALL
grootes ALL=(ALL)       ALL

然后在vim键入命令“:wq!”保存并退出。

 

5、启动elasticsearch

切换用户:

su grootes

启动es:

./bin/elasticsearch

无报错的话,

浏览器输入服务器地址+es中配置的port9200,如:10.10.*.122:9200,出现如下json即成功了。

后台启动

ctrl+c停止es运行,重新执行后台启动命令:

nohup ./bin/elasticsearch > nohup.out 2>&1 &

启动日志将输出至执行命令的文件夹下的nohup.out文件中:如下

后台启动的程序关闭操作:

# 查询进程
ps -aef|grep elasticsearch
#  kill -9 pid杀死进程
 kill -9 3718285

 如下:

二、安装kibana

kibana安装就简单多了,

在第一不中已经下载并解压好了压缩包,这里掠过。

修改配置文件

# 切换到kibana目录下
cd ../kibana-7.6.2-linux-x86_64/
# 编辑配置文件
vim config/kibana.yml
# 添加一下内容:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]

启动kibana

./bin/kibana

无报错即可。

浏览器输入服务器地址ip+端口5601查看如下:

根据自己的情况选择,这里选第二项直接进入我们的es交互界面

 

好了,尽情的耍吧。kibana详细使用教程就略过了。

 

后台启动

# ctrl+c结束进程
# 执行后台启动命令,日志将输出至nohup.out文件
nohup ./bin/kibana > nohup.out 2>&1 &

三、中文分词

    elasticsearch本身自带的中文分词,就是单纯把中文一个字一个字的分开,根本没有词汇的概念。但是实际应用中,用户都是以词汇为条件,进行查询匹配的,如果能够把文章以词汇为单位切分开,那么与用户的查询条件能够更贴切的匹配上,查询速度也更加快速。

1、下载中文分词插件包

分词器下载网址:https://github.com/medcl/elasticsearch-analysis-ik/releases

下载好相应版本的zip包,解压后放到elasticsearch/plugins/下,然后需要删除原压缩包文件。

一下命令使用的grootes用户,非root用户。如果使用了root用户请将ik目录赋权限给grootes。

切换到plugins目录:cd /usr/local/bin/es-groot/elasticsearch-7.6.2/plugins/

创建ik目录:mkdir ik

将文件分词器文件解压到ik下:unzip -d ik/ elasticsearch-analysis-ik-7.6.2.zip

删除原zip包命令:rm -rf elasticsearch-analysis-ik-7.6.2.zip

实例操作如下:

[root@fs_node02 ~]# cd /usr/local/bin/es-groot/elasticsearch-7.6.2/plugins/
[grootes@fs_node02 plugins]$ mkdir ik
[grootes@fs_node02 plugins]$ ls
elasticsearch-analysis-ik-7.6.2.zip  ik
[grootes@fs_node02 plugins]$ unzip -d ik/ elasticsearch-analysis-ik-7.6.2.zip 
Archive:  elasticsearch-analysis-ik-7.6.2.zip
   creating: ik/config/
  inflating: ik/config/main.dic      
  inflating: ik/config/quantifier.dic  
  inflating: ik/config/extra_single_word_full.dic  
  inflating: ik/config/IKAnalyzer.cfg.xml  
  inflating: ik/config/surname.dic   
  inflating: ik/config/suffix.dic    
  inflating: ik/config/stopword.dic  
  inflating: ik/config/extra_main.dic  
  inflating: ik/config/extra_stopword.dic  
  inflating: ik/config/preposition.dic  
  inflating: ik/config/extra_single_word_low_freq.dic  
  inflating: ik/config/extra_single_word.dic  
  inflating: ik/elasticsearch-analysis-ik-7.6.2.jar  
  inflating: ik/httpclient-4.5.2.jar  
  inflating: ik/httpcore-4.4.4.jar   
  inflating: ik/commons-logging-1.2.jar  
  inflating: ik/commons-codec-1.9.jar  
  inflating: ik/plugin-descriptor.properties  
  inflating: ik/plugin-security.policy  
[grootes@fs_node02 plugins]$ cd ik
[grootes@fs_node02 ik]$ ll
total 1428
-rw-r--r-- 1 grootes grootes 263965 May  6  2018 commons-codec-1.9.jar
-rw-r--r-- 1 grootes grootes  61829 May  6  2018 commons-logging-1.2.jar
drwxr-xr-x 2 grootes grootes    299 Dec 25 20:20 config
-rw-r--r-- 1 grootes grootes  54599 Apr  1 10:25 elasticsearch-analysis-ik-7.6.2.jar
-rw-r--r-- 1 grootes grootes 736658 May  6  2018 httpclient-4.5.2.jar
-rw-r--r-- 1 grootes grootes 326724 May  6  2018 httpcore-4.4.4.jar
-rw-r--r-- 1 grootes grootes   1805 Apr  1 10:25 plugin-descriptor.properties
-rw-r--r-- 1 grootes grootes    125 Apr  1 10:25 plugin-security.policy
[grootes@fs_node02 ik]$ cd ../
[grootes@fs_node02 plugins]$ ls
elasticsearch-analysis-ik-7.6.2.zip  ik
[grootes@fs_node02 plugins]$ ll
total 4400
-rw-r--r-- 1 root    root    4504473 Apr 21 18:20 elasticsearch-analysis-ik-7.6.2.zip
drwxrwxr-x 3 grootes grootes     243 Apr 21 18:23 ik
[grootes@fs_node02 plugins]$ rm -rf elasticsearch-analysis-ik-7.6.2.zip 
[grootes@fs_node02 plugins]$ ls
ik
[grootes@fs_node02 plugins]$ ll
total 0
drwxrwxr-x 3 grootes grootes 243 Apr 21 18:23 ik

重启es

按照上边布局中的操作kill调es进程后重启es。打开kibana测试分词效果。

分词器使用

分词语句实例(gogo是随便创建的索引):

# 添加中文分词前
GET gogo/_analyze
{  
  "text": "我爱祖国"
}

# 添加分词后--简单分词
GET gogo/_analyze
{  "analyzer": "ik_smart", 
  "text": "我爱祖国"
}

# 添加分词后--最大化分词
GET gogo/_analyze
{  "analyzer": "ik_max_word", 
  "text": "我爱祖国"
}

kibana查询结果对照:

# 添加中文分词前

# 添加分词后--简单分词

# 添加分词后--最大化分词

So ,that's perfect,Enjoy yourself!

 

我的其他相关es的文章:

Java+springboot+elasticsearch7.6.2实现分组查询(平级+层级)并实现script多字段拼接查询以及大于小于等条件关系查询的实现

docker swarm集群下部署elasticsearch7.6.2集群+kibana7.6.2+es-head+中文分词

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐