CentOS7上ElasticSearch安装填坑记「建议收藏」

CentOS7上ElasticSearch安装填坑记

大家好,又见面了,我是全栈君。

Apple


下载elastic search 5.3.0

wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gz
mv elasticsearch-5.3.0.tar.gz /opt
cd /opt
tar -xzvf elasticsearch-5.3.0.tar.gz
cd elasticsearch-5.3.0/

启动ES

cd /bin
./elasticsearch

按照道理应该就可以了,然而接下来各种坑一一出现,分别阐述

错误1:error='Cannot allocate memory' (errno=12)

error='Cannot allocate memory'

solutions:
由于elasticsearch5.0默认分配jvm空间大小为2g,需要改小一点

vim config/jvm.options  
-Xms2g  →  -Xms512m
-Xmx2g  →  -Xmx512m

错误2: can not run elasticsearch as root

can not run elasticsearch as root

solutions:
在 Linux 环境中,elasticsearch 不允许以 root 权限来运行!所以需要创建一个非root用户,以非root用户来起es

groupadd elk  # 创建用户组elk
useradd elk -g elk -p 111111  # 创建新用户elk,-g elk 设置其用户组为 elk,-p 111 设置其密码6个1
chown -R elk:elk /opt  # 更改 /opt 文件夹及内部文件的所属用户及组为 elk:elk
su elk # 切换到非root用户elk下来

错误3:(1) max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
(2) max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

此错误出现在修改config/elasticsearch.yml中的network.host为network.host: 0.0.0.0以便让外网任何IP都能来访问时。

solutions:
切换到root用户,然后

vim /etc/security/limits.conf
* soft nofile 300000
* hard nofile 300000
* soft nproc 102400
* soft memlock unlimited
* hard memlock unlimited

/etc/security/limits.conf

错误4:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

vm.max_map_count is too low

solutions:
先要切换到root用户;
然后可以执行以下命令,设置 vm.max_map_count ,但是重启后又会恢复为原值。

sysctl -w vm.max_map_count=262144

持久性的做法是在 /etc/sysctl.conf 文件中修改 vm.max_map_count 参数:

echo "vm.max_map_count=262144" > /etc/sysctl.conf
sysctl -p

image.png

最后终于在外网访问成功:

外网访问成功!


安装可视化插件 elasticsearch-head

git clone git://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install   # 此处我试图用cnpm install有问题,用npm可以
npm run start 

image.png

然后在外网访问http://你的安装机IP:9100

访问elasticsearch-head可视化界面成功


最后实际简单测试一下

新建 Index,可以直接向 Elastic 服务器发出 PUT 请求。下面的例子是新建一个名叫weather的 Index。

用rest接口向es添加index

然而刷新elasticsearch-head可视化界面可以看到索引已经成功插入

索引已经插入

后记

关于作者更多的elastic search实践在此

转载于:https://blog.51cto.com/13428080/2074515

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/107689.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • java中synchronized使用方法

    java中synchronized使用方法

    2021年12月2日
  • SpringBoot之HandlerInterceptor拦截器的使用 ——(一)「建议收藏」

    SpringBoot之HandlerInterceptor拦截器的使用 ——(一)「建议收藏」HandlerInterceptor简介拦截器我想大家都并不陌生,最常用的登录拦截、或是权限校验、或是防重复提交、或是根据业务像12306去校验购票时间,总之可以去做很多的事情。1、定义实现类定义一个Interceptor非常简单方式也有几种,我这里简单列举两种1、类要实现Spring的HandlerInterceptor接口2、类继承实现了HandlerInterc…

    2022年7月25日
  • 手机发布版sha1怎么获取_androidstudio导出项目zip

    手机发布版sha1怎么获取_androidstudio导出项目zip申请key必须用发布版的SHA1及MD51.打包出来apk;2.将apk修改后缀为.rar文件后解压;3.进入解压后的META-INF目录,该目录下会存在文件CERT.RSA;4.在该目录下打开cmd,输入命令:keytool-printcert-fileCERT.RSA若提示输入密码,则输入android后回车…

    2022年8月10日
  • Android之rild进程启动源码分析「建议收藏」

    Android之rild进程启动源码分析「建议收藏」Android电话系统框架介绍在android系统中rild运行在AP上,AP上的应用通过rild发送AT指令给BP,BP接收到信息后又通过rild传送给AP。AP与BP之间有两种通信方式:1.SolicitedResponse:Ap向Bp发送请求,Bp给Ap发送回复,该类型的AT指令及其回调函数以数组的形式存放在Ril_commands.h文件中:{数组中的索引号,请

    2022年9月6日
  • 简单模拟mybatis的MapperScan

    简单模拟mybatis的MapperScan一、问题描述在mybatis中,mapper通常是一个接口,但是我们却可以直接通过这个接口调用方法。按道理来说接口是不能直接调用方法的,只有实现类才能调用接口。但在下面的代码中,我们直接调用applicationContext.getBean(TestMapper.class).list(“”),就可以查询我们的数据库。也就是说applicationContext.getBean(TestMa…

    2022年5月6日
  • vrrp的配置实例_十宗罪案例简介

    vrrp的配置实例_十宗罪案例简介一、背景二、VRRP概念介绍三、实验操作一、背景局域网中的用户终端通常采用配置一个默认网关的形式访问外部网络,如果此时默认网关设备发生故障,将中断所有用户终端的网络访问,这很可能会给用户带来

    2022年8月5日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号