本文主要是介绍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)插件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!