ElasticSearch单机搭建与启动(避坑全书)
来源:互联网 发布:plsql怎么执行sql文件 编辑:程序博客网 时间:2024/05/21 03:56
- 安装启动过程
- 启动过程中可能遇见的问题
- 1JVM内存问题
- 2根权限执行问题
- 3Es用户权限不足
- 4内存问题
工作需要,学习了一下ElasticSearch的搭建,过程中碰到很多问题,查了不少资料,在此做个汇总,也希望给后人铺个路~
- Es版本:5.6.3
安装启动过程
1.首先安装java(jdk1.7或1.8都可以),并配置环境变量。(原来有安装配置过的略过此步)
2.使用curl指令下载es:
$ curl -L -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch/elasticsearch-5.6.3.tar.gz
然后使用 $tar xzf elasticsearch-5.6.3.tar.gz解压es。
3.修改访问es的ip及端口
# vim /usr/local/elasticsearch/elasticsearch-5.6.3/config/elasticsearch.yml
如图将host与port参数配置的注释取消,并配置host为本机ip即可:
4.进入解压出来的es目录的bin下,启动es节点和单集群:
$ ./elasticsearch
5.启动成功后,在web浏览器中输入192.168.179.129:9200,如果返回以下页面,则说明成功。
或者在shell中直接curl http://192.168.179.129:9200,如果返回以下信息也说明成功:
启动过程中可能遇见的问题
(1)JVM内存问题
如果遇到:
说明jvm启动内存太大,机器内存不足(如果按照之前虚拟机配置中的1G来配置,则会出现此问题,因为es默认jvm启动内存是2g,所以我们需要配置一下es的启动内存)
编辑es/config/jvmoptions文件,修改以下两个参数:
#-Xms2g#-Xmx2g-Xms512m-Xmx512m
(2)根权限执行问题
如果遇到:
根据提示,无法以根权限启动es程序,所以我们创建一个非根用户,并给它赋予目录该用户权限。
# groupadd es# useradd es -g es -p es# chown -R es:es /usr/local/elasticsearch/# sudo su es
再为新建的es用户配置一下环境变量,将之前root用户的内容拷贝过来(主要是java的环境变量):‘
# vim ~/.bash_profile# java environmentexport JAVA_HOME=/usr/local/java/jdk1.8.0_91export JRE_HOME=$JAVA_HOME/jreexport PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
用source指令使配置生效:
# source ~/.bash_profile
再次启动es。
(3)Es用户权限不足:
如果遇到:
这是在之前root用户给es用户赋权时没有完全将es目录的所有文件权限给es,重新用root用户身份执行:(-R参数不要掉,表示递归将es目录下所有文件权限给es用户)
# chown -R es:es /usr/local/elasticsearch/
(4)内存问题:
有[1][2][3]三个问题,逐一解决:
[1]: initial heap size [16777216] not equal to maximum heap size [257949696]; this can cause resize pauses and prevents mlockall from locking the entire heap
第一个问题还是jvm内存问题,请重新检查可能碰到的问题(1)JVM内存问题,按照步骤重新检查一遍。
[2]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
Es进程设置的最大文件描述符太小,需要增加。
编辑/etc/security/limits.conf,最后加上:
es soft nofile 65536
es hard nofile 65536
然后重新连接shell,切换到es用户,再尝试启动es。
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
是以为操作系统的vm.max_map_count参数设置太小导致的,请使用root用户登录系统,执行以下命令:
sysctl -w vm.max_map_count=262144
并用以下命令查看是否修改成功
sysctl -a | grep “vm.max_map_count”
如果能正常输出262144,则说明修改成功
- ElasticSearch单机搭建与启动(避坑全书)
- Elasticsearch单机Windows搭建
- 分布式搜索elasticsearch单机与服务器环境搭建
- 分布式搜索elasticsearch单机与服务器环境搭建
- 分布式搜索elasticsearch单机与服务器环境搭建
- 分布式搜索elasticsearch单机与服务器环境搭建
- 分布式搜索ElasticSearch单机与服务器环境搭建
- Elasticsearch 安装与启动
- hadoop单机与集群搭建
- 单机搭建elasticsearch和mongodb river的数据同步
- ELK单机版搭建之ElasticSearch-head插件安装
- [ElasticSearch]ElasticSearch,Kibana安装与启动
- tensorflow训练cnn网络实现避障与导航(二)V-rep仿真环境的搭建
- ElasticSearch学习(1)--ElasticSearch的单机安装
- tomcat 启动solr失败异常总结(集群与单机)
- Presto单机搭建与分布式环境搭建
- elasticsearch环境搭建与使用
- elasticsearch环境搭建与使用
- 台大-林轩田老师-机器学习基石学习笔记7
- Android中的ViewRootImpl类源码解析
- oracle中使用wm_concat函数的方法及弊端(解决办法)
- 动态规划之一
- POSIX
- ElasticSearch单机搭建与启动(避坑全书)
- java(20):数据结构(3)--Set
- express系列-入门:简介、安装、hello、world
- 多线程下载
- 如何区分不同用户——Cookie/Session机制详解
- 大小端模式区别
- 笔记 33 | Android通信之Thread类实现多线程
- 聊天机器人开发思路(样板式模型)
- python下划线变量的含义