centos7上elastic search安装填坑记

centos7上elastic search安装填坑记_第1张图片

注: 本文首发于 My 公众号 CodeSheep ,可 长按扫描 下面的 小心心 来订阅 ↓ ↓ ↓

CodeSheep · 程序羊


下载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

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

错误1error='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

centos7上elastic search安装填坑记_第2张图片

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

centos7上elastic search安装填坑记_第3张图片

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

centos7上elastic search安装填坑记_第4张图片

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

centos7上elastic search安装填坑记_第5张图片

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

centos7上elastic search安装填坑记_第6张图片


安装可视化插件 elasticsearch-head

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

centos7上elastic search安装填坑记_第7张图片

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

centos7上elastic search安装填坑记_第8张图片


最后实际简单测试一下

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

centos7上elastic search安装填坑记_第9张图片

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

centos7上elastic search安装填坑记_第10张图片

后记

  • 作者更多的原创文章在此,欢迎观赏
  • My Personal Blog

作者更多的SpringBt实践文章在此:

  • Spring Boot应用监控实战
  • SpringBoot应用部署于外置Tomcat容器
  • ElasticSearch搜索引擎在SpringBt中的实践
  • 初探Kotlin+SpringBoot联合编程
  • Spring Boot日志框架实践
  • SpringBoot优雅编码之:Lombok加持

如果有兴趣,也可以抽点时间看看作者一些关于容器化、微服务化方面的文章:

  • 利用K8S技术栈打造个人私有云 连载文章
  • 从一份配置清单详解Nginx服务器配置
  • Docker容器可视化监控中心搭建
  • 利用ELK搭建Docker容器化应用日志中心
  • RPC框架实践之:Apache Thrift
  • RPC框架实践之:Google gRPC
  • 微服务调用链追踪中心搭建
  • Docker容器跨主机通信
  • Docker Swarm集群初探
  • 高效编写Dockerfile的几条准则

CodeSheep · 程序羊


你可能感兴趣的:(centos7上elastic search安装填坑记)