ES 5.3 集群安装
来源:互联网 发布:淘宝上买车保险便宜吗 编辑:程序博客网 时间:2024/06/05 11:44
ES 5.3 集群安装
目录
- ES 53 集群安装
- 目录
- 安装jdk18
- 调整内核参数
- 修改文件描述符
- 虚拟内存
- 线程数
- ES安装
- 其他坑
安装jdk1.8
在es 5.0以后的版本需要java版本为1.8以上。否则启动时就会报错。
- 安装java
下载java
:java1.8下载
## 解压、安装tar zxvf jdk-8u121-linux-x64.tar.gz
- 配置环境变量
vim /etc/profile
添加以下配置
JAVA_HOME=/usr/local/java1.8 //java的安装路径PATH=$JAVA_HOME/bin:$PATH CLASSPATH=$JAVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
保存后然后执行以下命令
source /etc/profile
验证
java -version## 得到以下信息java version "1.8.0_121"Java(TM) SE Runtime Environment (build 1.8.0_121-b14)Java HotSpot(TM) 64-Bit Server VM (build 25.121-b14, mixed mode)
调整内核参数
在es5.0安装前,需要配置几项内核参数,否者ES无法启动
修改文件描述符
如果未修改会报以下错误:
max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
- 临时方案
ulimit -SHn 655350
- 永久方案
vim /etc/security/limits.conf## 修改以下配置信息* soft nofile 655350* hard nofile 655350
虚拟内存
如果未配置,会报以下错误:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
- 临时方案
sysctl -w vm.max_map_count=655360
- 永久方案
vim /etc/sysctl.conf## 添加以下信息vm.max_map_count=262144
- 验证
sysctl -a
线程数
如果未配置,会报以下的错:
max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
编辑/etc/security/limits.d/90-nproc.conf
* soft nproc 1024## 修改为* soft nproc 2048
ES安装
- 下载,解压(ES 5.3)
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.3.0.tar.gztar zxvf elasticsearch-5.3.0.tar.gz
- 安装x-pack
./elasticsearch-5.3.0/bin/elasticsearch-plugin install x-pack
备注
:x-pack支持离线安装方式,一劳永逸,详情请见ES x-pack官方安装手册
- 配置
由于本章节只讲到了ES的安装,我们不对ES的参数做详细的解析。以下为普通配置项:
# 集群名称cluster.name: dev-elasticstack5.0# 节点信息node.name: node-2# 机柜信息node.attr.rack: r1# 数据目录path.data: /data1/esdata,/data2/esdata,/data3/esdata,/data4/esdata,/data5/esdata,/data6/esdata,/data7/esdata,/data8/esdata# 日志目录path.logs: /opt/elasticsearch-5.1.1/logs# HTTP端口http.port: 9200# 是否作为主节点node.master: true# 是否作为数据节点node.data: true
- 启动
ES启动不支持root,所以建议单独建立建立用户用于elastic的启动和管理
su elastic./elasticsearch-5.3.0/bin/elasticsearch -d // -d 为在后台启动,不加 -d 将在前端运行
- 验证
查看集群健康状态
curl -XGET "http://localhost:9200/_cluster/health?pretty"
其他坑
- Centos6安装ES5的坑
一次在项目上,项目要求我们使用Centos6系统部署ES 5.0然后启动时候报以下错误
$ bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks$ node validation exception$ bootstrap checks failed$ system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
- 解决办法
经过多方查询,结果发现是由于ES中有一个叫SecComp的组件,对内核有需求(具体需要多少以上我忘了…),而centos6的内核为2.6,低于了需求的内核。ES有一个参数为bootstrap.system_call_filter,默认情况下该参数的值为ture,他会检测SecComp的初始化,如果初始化失败,bootstrap将会报错。所以,解决方案就很简单了,我们需要在/conf/elasticsearch.yml中配置以下参数:
## 特别注意,该参数需要在bootstrap.memroy的配置下面添加bootstrap.memory_lock: falsebootstrap.system_call_filter: false
参考文档:SecComp fails on CentOS 6
1 0
- ES 5.3 集群安装
- ES集群安装配置
- ES集群理解和安装
- hadoop集群安装ES(ElasticSearch 5.0.2)
- ES及插件安装和集群搭建
- es分布式集群初探
- es-ehcache分布式集群
- es 集群配置文件示例
- ES集群读写分离
- 【ES】探索集群 <二>
- es集群设计
- es集群概述
- ES集群安重启节点
- ES集群搭建
- ES集群和分片
- ES集群监控总结
- centos7 部署Elasticsearch单机/集群并安装head插件实现ES集群的可视化管理
- es安装
- 文章标题
- jsp页面传递date到java报错
- android 隐藏虚拟按键
- 强哥收藏的Android开源库集合【UI效果篇】
- 数据结构——后缀树
- ES 5.3 集群安装
- Spring Boot 热部署之spring-boot-devtools
- Java十进制转化成二进制方法
- Android Gradle学习1--android studio中的相关配置
- 动画函数测试封装
- UNIX环境高级编程fcntl和dup
- JDK1.5~JDK1.7新特性
- C++N4 作业(项目二、三、四)
- 原生JS forEach()和map()遍历,jQuery$.each()和$.map()遍历