elasticsearch (一): Centos7 RPM 方式安装最新单机版elasticsearch版本7.10.2 并配置中文(ik)、拼音(pinyin)插件

本文主要是介绍elasticsearch (一): Centos7 RPM 方式安装最新单机版elasticsearch版本7.10.2 并配置中文(ik)、拼音(pinyin)插件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

Centos7  RPM 安装 ES

操作系统介绍:

部署方式选择RPM包管理工具

修改远程访问和更改IP ,重启es常见问题

安装插件: ik  pinyin

中文分词插件地址:

安装中文分词插件

安装拼音分词插件

测试中文分词:

测试拼音分词

打开防火墙 端口




Centos7  RPM 安装 ES

互联网技术分享,正是推动互联网的力量

操作系统介绍:

[root@vcontroller limits.d]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
[root@vcontroller limits.d]# uname -r
3.10.0-1160.11.1.el7.x86_64
[root@vcontroller limits.d]# uname -a
Linux vcontroller 3.10.0-1160.11.1.el7.x86_64 #1 SMP Fri Dec 18 16:34:56 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

 

部署方式选择RPM包管理工具

参考链接:

https://blog.csdn.net/zhezhebie/article/details/105482149

资料我已上传,请下载:https://download.csdn.net/download/shunzi2016/14947537

 

[root@vcontroller ~]# ll
total 311396
-rw-------. 1 root root      1517 Oct 10 11:03 anaconda-ks.cfg
-rw-r--r--. 1 root root 318859205 Jan 26 17:37 elasticsearch-7.10.2-x86_64.rpm
-rwxr-xr-x. 1 root root      2830 Jan  6 18:42 sys_build.sh
[root@vcontroller ~]# rpm -Uvh elasticsearch-7.10.2-x86_64.rpm
warning: elasticsearch-7.10.2-x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID d88e42b4: NOKEY
Preparing...                          ################################# [100%]
Creating elasticsearch group... OK
Creating elasticsearch user... OK
Updating / installing...1:elasticsearch-0:7.10.2-1         ################################# [100%]
### NOT starting on installation, please execute the following statements to configure elasticsearch service to start automatically using systemdsudo systemctl daemon-reloadsudo systemctl enable elasticsearch.service
### You can start elasticsearch service by executingsudo systemctl start elasticsearch.service
Created elasticsearch keystore in /etc/elasticsearch/elasticsearch.keystore
[root@vcontroller ~]#

修改远程访问和更改IP ,重启es常见问题

遇见如下错误

Job for elasticsearch.service failed because the control process exited with error code. See "systemctl status elasticsearch.service" and "journalctl -xe" for details.[root@vcontroller ~]# systemctl status elasticsearch
?.elasticsearch.service - ElasticsearchLoaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)Active: failed (Result: exit-code) since Tue 2021-01-26 17:57:20 CST; 1min 41s agoDocs: https://www.elastic.coProcess: 9586 ExecStart=/usr/share/elasticsearch/bin/systemd-entrypoint -p ${PID_DIR}/elasticsearch.pid --quiet (code=exited, status=78)Main PID: 9586 (code=exited, status=78)Jan 26 17:57:02 vcontroller systemd[1]: Starting Elasticsearch..
Jan 26 17:57:19 vcontroller systemd-entrypoint[9586]: ERROR: [1] bootstrap checks failed
Jan 26 17:57:19 vcontroller systemd-entrypoint[9586]: [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.see... configuredJan 26 17:57:19 vcontroller systemd-entrypoint[9586]: ERROR: Elasticsearch did not exit normally - check the logs at /var/log/elasticsearch/elasticsearch.logJan 26 17:57:20 vcontroller systemd[1]: elasticsearch.service: main process exited, code=exited, status=78/n/a
Jan 26 17:57:20 vcontroller systemd[1]: Failed to start Elasticsearch.
Jan 26 17:57:20 vcontroller systemd[1]: Unit elasticsearch.service entered failed state.
Jan 26 17:57:20 vcontroller systemd[1]: elasticsearch.service failed.Hint: Some lines were ellipsized, use -l to show in full.
[root@vcontroller ~]# systemctl start elasticsearch
Job for elasticsearch.service failed because the control process exited with error code. See "systemctl status elasticsearch.service" and "journalctl -xe" for details.
[root@vcontroller ~]# tail -f /var/log/elasticsearch/elasticsearch.log
[2021-01-26T17:59:30,249][INFO ][o.e.t.TransportService   ] [vcontroller] publish_address {172.18.46.90:9300}, bound_addresses {[::]:9300}
[2021-01-26T17:59:30,661][INFO ][o.e.b.BootstrapChecks    ] [vcontroller] bound or publishing to a non-loopback address, enforcing bootstrap checks
[2021-01-26T17:59:30,728][ERROR][o.e.b.Bootstrap          ] [vcontroller] node validation exception[1] bootstrap checks failed
[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured[2021-01-26T17:59:30,732][INFO ][o.e.n.Node               ] [vcontroller] stopping ...
[2021-01-26T17:59:30,746][INFO ][o.e.n.Node               ] [vcontroller] stopped
[2021-01-26T17:59:30,747][INFO ][o.e.n.Node               ] [vcontroller] closing ...
[2021-01-26T17:59:30,767][INFO ][o.e.n.Node               ] [vcontroller] closed
[2021-01-26T17:59:30,769][INFO ][o.e.x.m.p.NativeController] [vcontroller] Native controller process has stopped - no new native processes can be started

解决此问题的链接:

https://blog.csdn.net/happyzxs/article/details/89156068

感谢此博主

解决上述问题的方式:

切换root用户

vi /etc/security/limits.conf

在倒数第二行

* soft nofile 65536

* hard nofile 65536

# End of file

vi /etc/sysctl.conf

添加

vm.max_map_count=655360

保存后执行

sysctl -p

需要说明的是可能不是90-nproc.conf  比如我的就是20-*开头,如果已经是4096则不用设置。

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

修改

*          soft    nproc     1024

*          soft    nproc     4096

修改

elasticsearch.yml

取消注释保留一个节点

cluster.initial_master_nodes: ["node-1"]

以下的操作暂时没用到

在 elasticsearch.yml中添加配置项:

bootstrap.system_call_filter为false:

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

再次重启启动成功

安装插件: ik  pinyin

测试汉字分词:

[root@vcontroller limits.d]#curl -H 'Content-Type:application/json' -XGET 'http://localhost:9200/_analyze?pretty' -d '{"text":"顺子的技术博客"}'{"tokens" : [{"token" : "顺","start_offset" : 0,"end_offset" : 1,"type" : "<IDEOGRAPHIC>","position" : 0},{"token" : "子","start_offset" : 1,"end_offset" : 2,"type" : "<IDEOGRAPHIC>","position" : 1},{"token" : "的","start_offset" : 2,"end_offset" : 3,"type" : "<IDEOGRAPHIC>","position" : 2},{"token" : "技","start_offset" : 3,"end_offset" : 4,"type" : "<IDEOGRAPHIC>","position" : 3},{"token" : "术","start_offset" : 4,"end_offset" : 5,"type" : "<IDEOGRAPHIC>","position" : 4},{"token" : "博","start_offset" : 5,"end_offset" : 6,"type" : "<IDEOGRAPHIC>","position" : 5},{"token" : "客","start_offset" : 6,"end_offset" : 7,"type" : "<IDEOGRAPHIC>","position" : 6}]
}

中文分词插件地址:

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

https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip

安装中文分词插件

[root@vcontroller ~]# /usr/share/elasticsearch/bin/elasticsearch-plugin install  https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip-> Installing https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip-> Downloading https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.10.2/elasticsearch-analysis-ik-7.10.2.zip[=================================================] 100%  @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@     WARNING: plugin requires additional permissions     @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@* java.net.SocketPermission * connect,resolveSee http://docs.oracle.com/javase/8/docs/technotes/guides/security/permissions.htmlfor descriptions of what these permissions allow and the associated risks.Continue with installation? [y/N]y-> Installed analysis-ik[root@vcontroller ~]#

 

安装拼音分词插件

[root@vcontroller ~]# /usr/share/elasticsearch/bin/elasticsearch-plugin install https://hub.fastgit.org/medcl/elasticsearch-analysis-pinyin/releases/download/v7.10.2/elasticsearch-analysis-pinyin-7.10.2.zip-> Installing https://hub.fastgit.org/medcl/elasticsearch-analysis-pinyin/releases/download/v7.10.2/elasticsearch-analysis-pinyin-7.10.2.zip-> Downloading https://hub.fastgit.org/medcl/elasticsearch-analysis-pinyin/releases/download/v7.10.2/elasticsearch-analysis-pinyin-7.10.2.zip[=================================================] 100%  -> Installed analysis-pinyin[root@vcontroller ~]# curl http://localhost:9200/_cat/plugins
vcontroller analysis-ik     7.10.2
vcontroller analysis-pinyin 7.10.2

测试中文分词:

[root@vcontroller ~]# curl -H 'Content-Type:application/json' -XGET 'http://localhost:9200/_analyze?pretty=true'  -d '{"analyzer":"ik_smart", "text":"我的中国心"}'{"tokens" : [{"token" : "我","start_offset" : 0,"end_offset" : 1,"type" : "CN_CHAR","position" : 0},{"token" : "的","start_offset" : 1,"end_offset" : 2,"type" : "CN_CHAR","position" : 1},{"token" : "中国心","start_offset" : 2,"end_offset" : 5,"type" : "CN_WORD","position" : 2}]
}

 

测试拼音分词

[root@vcontroller ~]# curl -H 'Content-Type:application/json' -XGET 'http://localhost:9200/_analyze?pretty=true'  -d '{"analyzer":"pinyin", "text":"我的中国心"}'{"tokens" : [{"token" : "wo","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 0},{"token" : "wdzgx","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 0},{"token" : "de","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 1},{"token" : "zhong","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 2},{"token" : "guo","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 3},{"token" : "xin","start_offset" : 0,"end_offset" : 0,"type" : "word","position" : 4}]
}

打开防火墙 端口

[root@vcontroller ~]# sudo firewall-cmd --zone=public --add-port=9200/tcp --permanent
success
[root@vcontroller ~]# firewall-cmd --reload
success

这篇关于elasticsearch (一): Centos7 RPM 方式安装最新单机版elasticsearch版本7.10.2 并配置中文(ik)、拼音(pinyin)插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/485069

相关文章

SpringBoot中@Value注入静态变量方式

《SpringBoot中@Value注入静态变量方式》SpringBoot中静态变量无法直接用@Value注入,需通过setter方法,@Value(${})从属性文件获取值,@Value(#{})用... 目录项目场景解决方案注解说明1、@Value("${}")使用示例2、@Value("#{}"php

SpringBoot分段处理List集合多线程批量插入数据方式

《SpringBoot分段处理List集合多线程批量插入数据方式》文章介绍如何处理大数据量List批量插入数据库的优化方案:通过拆分List并分配独立线程处理,结合Spring线程池与异步方法提升效率... 目录项目场景解决方案1.实体类2.Mapper3.spring容器注入线程池bejsan对象4.创建

Python一次性将指定版本所有包上传PyPI镜像解决方案

《Python一次性将指定版本所有包上传PyPI镜像解决方案》本文主要介绍了一个安全、完整、可离线部署的解决方案,用于一次性准备指定Python版本的所有包,然后导出到内网环境,感兴趣的小伙伴可以跟随... 目录为什么需要这个方案完整解决方案1. 项目目录结构2. 创建智能下载脚本3. 创建包清单生成脚本4

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二