ElasticSearch 5.4 安装
1. 前期准备
- 环境准备
IP地址 | 操作系统 | 内存 |
192.168.1.10 | centos 7 | 16 |
192.168.1.11 | centos 7 | 16 |
192.168.1.12 | centos 7 | 16 |
192.168.1.13 | centos 7 | 16 |
- 安装包下载
官方下载地址:https://www.elastic.co/downloads/elasticsearch。
- jdk版本需要 jdk 8
2. 安装过程
首先解压安装包,然后进入解压程序文件夹。
# 解压安装包
tar -xvf elasticsearch-5.4..tar;
# 进入解压后的文件夹
cd elasticsearch-5.4.0
在elasticsearch的根目录下启动elasticsearch或者将elasticsearch做为环境变量添加到/etc/profile中(类似于JAVA_HOME的配置),如下是在elasticsearch的根目录下启动的命令:
./bin/elasticsearch
如果是以root用户登录并执行的上述命令,则会看到如下所示的错误提示
[root@localhost elasticsearch]# ./bin/elasticsearch
[--26T18::,][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.cli.Command.main(Command.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:) ~[elasticsearch-5.4..jar:5.4.]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:) ~[elasticsearch-5.4..jar:5.4.]
... more
[root@localhost elasticsearch]#
错误信息很明确,不能以root账号来启动elasticsearch。那么就需要以一个团队独有的账号(不建议使用个人账号,个人脱离团队可能导致任务运行出错)。 创建用户和用户组的脚本如下:
# 创建用户 es-user
useradd es-user
# 创建用户组 es-group
groupadd es-group
# 添加用户es-user 到 es-group组
usermod -G es-group es-user
使用新创建的账号启动es,可能会遇到如下几个问题。
1. max file descriptors [] for elasticsearch process is too low, increase to at least []
解决方案: 使用管理员角色编辑/etc/security/limits.conf文件,增加如下四条即可。
* soft nofile
* hard nofile
* soft nproc
* hard nproc
. max virtual memory areas vm.max_map_count[] is too low, increase to at least []
解决方案: 使用管理员角色编辑/etc/sysctl.conf,增加如下命令即可。
vm.max_map_count=
. memory locking requested for elasticsearch process but memory is not locked
解决方案: 使用管理员角色编辑/etc/security/limits.conf文件,增加如下两条即可。
* soft memlock unlimited
* hard memlock unlimited
这样就能正常的运行起单机版的elasticsearch,运行成功后,在本地的浏览器输入http://localhost:9200 能够看到es的基本信息。在其他服务器也可以通过http://ip:9200来访问。
单机版的elasticsearch安装是不是挺简单的^-^。
3. ElasticSearch 集群安装
集群的安装其实和单机的安装是类似的。主要是配置文件(./config/elasticsearch.yml) 的调整,ElasticSearch能够根据配置信息自动发现集群的其他节点,并通过选举的方式来推选主节点。
常用的配置信息:
- cluster.name : 集群的名称,当包含多个节点时,同一个集群的节点上各个节点的cluster.name必须完全一样,互联的服务器就是通过该属性来判断是否属于同一个集群。
- node.name : 当前节点的名称,集群存在多个节点的时候,通过该属性来区分各个节点。
- path.data : 该节点的数据存放位置,一般指定为服务器上的非系统磁盘,如果放到系统磁盘上,容易造成空间不足。
- path.logs :该节点的elasticSearch运行日志的保存位置,同path.data,建议放到费系统磁盘。
- bootstrap.memory_lock:启动的时候是否锁定内存,避免系统内容交换到磁盘,如果内存交换到磁盘对性能影响巨大。
- network.host : 集群中该节点的网络标识,必须和系统配置的网络IP一致。否则找不到该IP。
- http.port :webapi 对应的端口号,默认为9200
- discovery.zen.ping.unicast.hosts: 用来指定集群的其他节点,不需要指定全部,仅指定部分集群节点即可,elasticsearch能够自动发现全部节点。
- discovery.zen.minimum_master_nodes : 用来指定集群至少包含的节点数,建议为节点总数/2 + 1,也就是超过半数,这样不会造成一个集群存在两个主节点的情况。否则,当部分节点与其他节点网络不通了,这部分节点会自动组成集群,选举自己的主节点,这时网路恢复就会存在两个主节点,无法工作了
配置上述配置信息后,将集群的各个节点服务启动即可构成集群。单个节点的安装见上述。
集群启动后,通过http://ip:9200/_cat/nodes 能够查看集群的节点信息,其中 标记为 * 的为主节点。如果主节点挂掉,集群会重新选举产生新的主节点。
通过 http://ip:9200/_cat 可以查看集群的其他信息,通过指定_cat后的参数来展示不同的系统功能。
安装就记录到这,此篇博文供大家来参阅,也是个人学习的一个记录。
ElasticSearch 5.4 安装的更多相关文章
- Elasticsearch和Kibana安装
Elasticsearch安装 Elasticsearch至少需要Java 8.在撰写本文时,建议你使用Oracle JDK版本1.8.0_131.Java安装因平台而异,所以在这里不再赘述.Orac ...
- elasticsearch+kibana+metricbeat安装部署方法
elasticsearch+kibana+metricbeat安装部署方法 本文是elasticsearch + kibana + metricbeat,没有涉及到logstash部分.通过beat收 ...
- Elasticsearch介绍及安装部署
本节内容: Elasticsearch介绍 Elasticsearch集群安装部署 Elasticsearch优化 安装插件:中文分词器ik 一.Elasticsearch介绍 Elasticsear ...
- Elasticsearch 5.x安装
node1 elasticsearch node2 elasticsearch node3 elasticsearch 前期准备 JDK1.8 修改/etc/security/limits.conf ...
- Elasticsearch本地环境安装和常用操作
本篇文章首发于我的头条号Elasticsearch本地环境安装和常用操作,欢迎关注我的头条号和微信公众号"大数据技术和人工智能"(微信搜索bigdata_ai_tech)获取更多干 ...
- ELK 学习笔记之 elasticsearch head插件安装
elasticsearch head插件安装: 准备工作: 安装nodejs和npm https://nodejs.org/en/download/ node-v6.11.2-linux-x64.ta ...
- elasticsearch入门及安装
参考教程 elasticsearch入门教程:https://www.yiibai.com/elasticsearch/elasticsearch-getting-start.html Java JD ...
- Elasticsearch 及 Kibana 安装篇
简介 官网-安装介绍 这里记载了各个软件包的安装方法,Linux Mac Windows-- 本文记载的是在 CentOS 系统安装 Elasticsearch 7.0.0 版本的步骤. 安装 Jav ...
- elasticsearch与kibana安装过程(linux)
elasticsearch与kibana安装 下载 Elasticsearch 官网:https://www.elastic.co/,elastic search应用本质就是一个jvm进程,所以需要J ...
随机推荐
- socke+epoll
读: #define V5CLI_READ_MSG_LEN 1024 char readMsg[V5CLI_READ_MSG_LEN]; ; ; )) > ){ n += nread; }//读 ...
- 修改mac地址(物理地址)
查询原有的MAC地址(物理地址) cmd ipconfig /all 修改MAC地址(物理地址) 修改MAC地址后,再查看MAC地址: cmd ipconfig /all 修改成功.
- sql优化 表连接join方式
sql优化核心 是数据库中 解析器+优化器的工作,我觉得主要有以下几个大方面:1>扫表的方法(索引非索引.主键非主键.书签查.索引下推)2>关联表的方法(三种),关键是内存如何利用 ...
- 关于微信小程序,你想知道的他们都问了
微信公开课深圳站小程序专场刚刚结束,大家通过"微信公开课+"互动小程序提出了许多问题.我们筛选了后台问得最多的九个问题进行解答,快来看看这里有没有你想要的答案吧! @谢杨:小程序是 ...
- 009-spring cloud gateway-过滤器GatewayFilter、GlobalFilter、GatewayFilterChain、作用、生命周期、GatewayFilterFactory内置过滤器
一.概述 在Spring-Cloud-Gateway之请求处理流程中最终网关是将请求交给过滤器链表进行处理. 核心接口:GatewayFilter,GlobalFilter,GatewayFilter ...
- Django之分页功能
Django提供了一个新的类来帮助你管理分页数据,这个类存放在django/core/paginator.py.它可以接收列表.元组或其它可迭代的对象. 基本语法 class Paginator(ob ...
- 使用 MtVerify.h头文件 ,用的时候把他头文件的内容添加到项目
#include <windows.h> //windodws变量相关头文件 MtVerify.h的内容如下:#pragma comment( lib, "USER32&quo ...
- pdo sqlserver
PHP代码如果想要用以上的方式兼容linux服务器和windows服务器,那么大概的示例代码是这样的. <?php header("Content-type: text/html; c ...
- POST—GET—两种提交方式的区别
主要区别: 安全性 长度限制 数据结构. 总结起来: get方式:以URL字串本身传递数据参数,在服务器端可以从UERY_STRING'这个变量中直接读取,效率较高,但缺乏安全性,也无法来 ...
- Java设计模式应用——适配器模式
性能监控系统中,存在告警模块和报表模块,告警结果和报表结果都需要导出. 由于告警开发进度较快,已经实现了excel导出.csv导出.zip导出功能,现在报表需要excel导出.csv导出.pdf导出功 ...