本文介绍Linux环境如何安装Elasticsearch.

本文环境是在腾讯云服务器CentOS7.2搭建的,JDK1.8,elasticsearch-5.4.2。

1 安装JDK

网上教程很多,也可以参考本人教程之前写的Linux安装JDK

2 安装Elasticsearch

2.1 创建elasticsearch目录

cd /usr/local/
mkdir tool
cd tool
mkdir elasticsearch
cd elasticsearch

2.1 下载Elasticsearch

2.1.1 在刚刚创建好的文件夹内下载Elasticsearch(以下简称es)

curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.4.2.tar.gz

2.1.2 解压es包

tar -xvf elasticsearch-5.4.2.tar.gz

2.1.3 进入es/bin包

cd elasticsearch-5.4.2/bin

2.1.4 启动es

./elasticsearch

2.2 解决问题

2.2.1 问题一

直接启动,遇到如图问题,如下:

这个问题是由于内存分配不够造成的,修改适合本机的内存,修改文件config/jvm.options

vi ../config/jvm.options

修改如下位置

由于我的服务器内存较小,修改为512m,具体可以根据情况修改,如下:

修改后在次启动:

./elasticsearch

2.2.2 问题二

出现如下错误:

org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

如图

这个问题很明显,不允许使用root用户启动,那么我们新建一个es用户,并赋予权限:

添加es用户

useradd es

添加es用户密码

passwd es

将文件夹elasticsearch-5.4.2赋予es权限

chown -R es:es /usr/local/tool/elasticsearch/elasticsearch-5.4.2

切换为es用户

su es

再次启动es

./elasticsearch

这次启动成功了,我们在使用一个窗口登录root用户,输入命令:

curl -X GET http://localhost:9200

如图所示,可以成功访问

2.2.3 问题三

在浏览器访问http://118.24.242.170:9200/拒绝访问(118.24.242.170为服务器ip)

使用root用户,打开elasticsearch.yml文件,如下:

vi /usr/local/tool/elasticsearch/elasticsearch-5.4.2/config/elasticsearch.yml

文件内增加如下代码

network.host: 0.0.0.0

使用es用户启动,发现又出现了错误如下,得到错误信息如图

使用root用户打开如下文件:

vim /etc/sysctl.conf

添加如下配置:

vm.max_map_count = 655360

使配置生效

/sbin/sysctl -p

然后使用es用户启动Elasticsearch,这次可以成功启动了,如果需要后台启动的话,在启动命令后加&,如下所示:

./elasticsearch &

总结

以上全是本人踩坑实践得到的,亲测可用。

Linux安装Elasticsearch的更多相关文章

  1. Linux安装ElasticSearch启动报错的解决方法

    Linux安装ElasticSearch后,ElasticSearch是不能用root用户启动的,以root用户启动会报错Refer to the log for complete error det ...

  2. Linux 安装elasticsearch、node.js、elasticsearch-head

    前提:下载es的安装包 官网可以下载 es官网 安装elasticsearch 1 新建两个文件夹 一个存放安装文件,一个存放解压后的文件 mkdir -p /export/software //存放 ...

  3. linux安装elasticsearch及遇到的各种问题

    1.获取elasticsearch https://www.elastic.co/downloads/elasticsearch 终端输入赋值的下载链接进行下载 wget https://artifa ...

  4. linux 安装elasticsearch 可能遇到的问题

    1.can not run elasticsearch as root 切换到非root用户 因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户 第一步:liunx创 ...

  5. Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步

    ElasticSearch有一个叫做river的插件式模块,可以将外部数据源中的数据导入elasticsearch并在上面建立索引.River在集群上是单例模式的,它被自动分配到一个节点上,当这个节点 ...

  6. linux 安装 elasticsearch

    安装 Java 8 当你提前在使用 Elasticsearch,你开始寻找更好的 Java 性能和兼容性时,您可以选择安装 Oracle 的专有 Java (Oracle JDK 8). 将 Orac ...

  7. linux 安装elasticsearch

    一.检测是否已经安装的elasticsearch ps aux|grep elasticsearch. 二.下载elasticsearch.tar.gz并上传至服务器usr/local/文件夹下 三. ...

  8. linux安装Elasticsearch详细步骤

    坑都已经踩好了 照着步骤一次成功  不多废话 走起 # ## 安装java运行环境 elasticsearch是用Java实现的 跑elasticsearch必须要有jre支持 所以必须先安装jre ...

  9. linux 安装 elasticsearch 步骤及问题解决方案

    1.下载安装包并上传至服务器 2.解压至当前文件夹 tar -xzvf xxx.tar.gz 3.配置JDK 如果服务器上已经配置了JDK,则在解压后的elasticsearch 文件夹的bin 目录 ...

随机推荐

  1. 关于npm 淘宝镜像 以及package.json里包的更新

    1.淘宝镜像的设置 npm config set registry https://registry.npm.taobao.org npm config set disturl https://npm ...

  2. poj1094 恶心题,,每次加边进行判断

    /* 给定一组偏序关系,问最少第几步能确定次序 如果出现环,问第几步出现环 因为要求第几步确定次序或者第几步出现环,所以每次读入一个偏序关系就进行一次拓扑排序 */ #include <iost ...

  3. vue :基本语法格式

    <!DOCTYPE html><html><head> <meta charset="utf-8"> <title>Vu ...

  4. hexo+github page +markdown问题汇总

    1.没有权限提交 解决办法:把git版本由2.x改为1.9 未完待续

  5. 饮冰三年-人工智能-Python-12之利其器pycharm

    1:下载.安装.与激活这里不再介绍了.需要注意的是激活时需要修改C:\Windows\System32\drivers\etc\hosts文件 2:工具使用 2.1 HelloWorld  File& ...

  6. 首次使用idea步骤

    修改代码提示快捷键 默认是ctrl+空格,这个会跟中英文切换的快捷键冲突. 我这里改成了alt+/ tomcat的配置

  7. (转)HTTPS到底是个啥玩意儿?

    详细见:https://blog.csdn.net/zgwangbo/article/details/50889623 ,建立交互的过程见下图:

  8. https://www.cnblogs.com/zoro-robin/p/6110188.html

    https://www.cnblogs.com/zoro-robin/p/6110188.html https://blog.csdn.net/kongxx/article/details/65435 ...

  9. cPanel中添加设置附加域(Addon domain)

    本文介绍cPanel设置附加域(addon domain)来实现一个空间做多个网站的方法. 附加域(addon domain) 作用:通过它可以实现添加 新的顶级域名绑定到主机,从而创建新的站点.例如 ...

  10. dom操作节点之常用方法

    DOM:获取节点:{1. document.getElementById (元素id):通过元素id找到节点2. document.getElementsByClassName (元素类名classN ...