ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
1、安装环境
操作系统:centos6.9 x86_64
JDK: 1.8
Elasticsearch版本:Elasticsearch6.4.0
2、安装elasticsearch
官网地址:https://www.elastic.co/products/elasticsearch
##下载
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.4.0.tar.gz
##解压
tar -xvf elasticsearch-6.4.0.tar.gz
3、配置文件
cd elasticsearch vi config/elasticsearch.yml ## 加入或修改下面的配置 ## 设置自己的ip 不配置此ip默认只能在本机访问 network.host: 测试用0.0.0.0 ## 用于head插件跨域访问用 http.cors.enabled: true http.cors.allow-origin: "*" 由于elasticsearch2.0以后禁止root启动(原因:ElasticSearch可以接收用户输入的脚本并且执行,出于系统安全考虑所以设置非root用户权限),因此建立一个es的用户 ##增加es用户组 groupadd es ##增加es用户 useradd es -g es ##把elasticsearch-5.6.11文件夹权限赋予给es chown -R es:es elasticsearch
4、切换es用户 登录
elasticsearch-6.4.0/bin/elasticsearch
5、错误解决(切换root权限)
1、提示可分配es启动的内存不足,默认分配 2g启动内存
[es@VM_0_15_centos local]$ Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12) # # There is insufficient memory for the Java Runtime Environment to continue. # Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory. # An error report file with more information is saved as: # /tmp/hs_err_pid27137.log
解决方法:vim elasticsearch-5.6.11/config/jvm.options
更改参数为:-Xmx512M
2、提示给es用户分配的线程资源不足
ERROR: bootstrap checks failed max file descriptors [10240] for elasticsearch process likely too low, increase to at least [65536] max number of threads [1024] for user [elsearch] likely too low, increase to at least [2048] max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决方法:
1)vim /etc/security/limits.conf 添加
* soft nofile 65536 * hard nofile 131072 * soft nproc 2048 * hard nproc 4096
2)vi /etc/security/limits.d/90-nproc.conf 修改参数为
* soft nproc 2048
3)vi /etc/sysctl.conf 添加
vm.max_map_count=655360
并执行命令:sysctl -p
3、生产模式改为单节点模式
ERROR: [2] bootstrap checks failed
[1]: initial heap size [31457280] not equal to maximum heap size [536870912]; this can cause resize pauses and prevents mlockall from locking the entire heap
[2]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
解决方法:
vim config/elasticsearch.yml 添加
discovery.type: single-node
4、权限不足导致错误
Exception in thread "main" org.elasticsearch.bootstrap.BootstrapException: java.nio.file.AccessDeniedException: /usr/local/es/elasticsearch6.4/config/elasticsearch.keystore Likely root cause: java.nio.file.AccessDeniedException: /usr/local/es/elasticsearch6.4/config/elasticsearch.keystore
解决方法:
切换root用户,
chown -R es:es es