ElasticSearch(二):ES集群安装
安装Elasticsearch
创建普通用户
ES不能使用root用户来启动,必须使用普通用户来安装启动。这里我们创建一个普通用户以及定义一些常规目录用于存放我们的数据文件以及安装包等。
创建一个es专门的用户(必须)
使用root用户在服务器执行以下命令
先创建组, 再创建用户:
1)创建 elasticsearch 用户组
[root@localhost ~]# groupadd es2)创建用户 tlbaiqi 并设置密码
[root@localhost ~]# useradd es
[root@localhost ~]# passwd es3)# 创建es文件夹,
并修改owner为es用户
mkdir -p /home/es/4)用户es 添加到 es 用户组
[root@localhost ~]# usermod -G es es
[root@localhost ~]# chown -R es /home/es/elasticsearch-7.6.15)设置sudo权限
#为了让普通用户有更大的操作权限,我们一般都会给普通用户设置sudo权限,方便普通用户的操作
#三台机器使用root用户执行visudo命令然后为es用户添加权限
[root@localhost ~]# visudo
#在root ALL=(ALL) ALL 一行下面
#添加es用户 如下:
es ALL=(ALL) ALL
修改配置文件
修改elasticsearch.yml
进入服务器使用es用户来修改配置文件
cd /home/es/elasticsearch-7.6.1/config
mkdir -p /home/es/elasticsearch-7.6.1/logs /home/es/elasticsearch-7.6.1/data
vim elasticsearch.yml
cluster.name:elastic-nodes
node.name: node-1
path.data: ./data
path.logs: ./logs
#es绑定的ip
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["192.168.36.134","192.168.36.135","192.168.36.136"]
cluster.initial_master_nodes: ["node-1,"node-1","node-3"]
#是否锁住内存,避免交换(swapped)带来的性能损失,默认值是: false
bootstrap.memory_lock: truebootstrap.system_call_filter: false#是否开启master角色选举
#node.master: true
#
#是否开启数据节点角色
#node.data: true##以下两项是外部访问http需要开启的项
##启用跨域资源共享
http.cors.enabled: true
http.cors.allow-origin: "*"
启动ES前注意修改下以下几项:
1:修改jvm.option
修改jvm.option配置文件,调整jvm堆内存大小
node1使用es用户执行以下命令调整jvm堆内存大小,每个人根据自己服务器的内存大小来进行调整。
cd /usr/local/es/elasticsearch-7.6.1/config
vim jvm.options
-Xms2g
-Xmx2g
2: 普通用户打开文件的最大数限制
问题错误信息描述::max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
ES因为需要大量的创建索引文件,需要大量的打开系统的文件,所以我们需要解除linux系统当中打开文件最大数目的限制,不然ES启动就会抛错,执行以下命令解除打开文件数据的限制
sudo vi /etc/security/limits.conf
添加如下内容: 注意*不要去掉了
root soft nofile 65536
root hard nofile 65536
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
修改后查看 文件数
ulimit -Hn H代表硬盘
ulimit -Snulimit -Hu
ulimit -Su修改后使用
ulimit -a 可以查看所有的配置
3: 普通用户启动线程数限制
问题错误信息描述 max number of threads [1024] for user [es] likely too low, increase to at least [4096]
修改普通用户可以创建的最大线程数
max number of threads [1024] for user [es] likely too low, increase to at least [4096]原因:无法创建本地线程问题,用户最大可创建线程数太小解决方案:修改90-nproc.conf 配置文件。
三台机器使用baiqi用户执行以下命令修改配置文件
Centos6
sudo vi /etc/security/limits.d/90-nproc.conf
Centos7
sudo vi /etc/security/limits.d/20-nproc.conf
找到如下内容:
* soft nproc 1024#修改为
* soft nproc 4096es soft nofile 65536
es hard nofile 65536
es soft nproc 4096
es hard nproc 4096* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
修改20‐nproc.conf 配置优先级高于 limits.conf 此文件修改后需要重新登录用户,才会生效
4: 普通用户调大虚拟内存
错误信息描述:
max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
调大系统的虚拟内存
原因:最大虚拟内存太小:每次启动机器都手动执行下。
执行以下命令
编辑 /etc/sysctl.conf,追加以下内容:vm.max_map_count=262144 保存后,执行:sysctl -p
备注:以上三个问题解决完成之后,重新连接secureCRT或者重新连接xshell生效
5: 内存加锁安全
memory locking requested for elasticsearch process but memory is not locked
解决方法一(关闭bootstrap.memory_lock:,会影响性能):
vim /etc/elasticsearch/elasticsearch.yml bootstrap.memory_lock: false // 设置成false就正常运行了。
解决方法二(开启bootstrap.memory_lock:):
- 修改文件/etc/elasticsearch/elasticsearch.yml,上面那个报错就是开启后产生的,如果开启还要修改其它系统配置文件
bootstrap.memory_lock: true - 修改文件/etc/security/limits.conf,最后添加以下内容
- hard memlock unlimited
- soft memlock unlimited
ES启动:
nohup bin/elasticsearch 2>&1 &
后台启动ES 进入bin目录 ./elasticsearch -d
日志信息查看:
/home/es/elasticsearch/elasticsearch-7.6.1/logs
启动后访问地址:
http://192.168.36.133:9200/?pretty 能够看到es启动之后的一些信息 注意:如果哪一台机器服务启动失败,那么就到哪一台机器的日志目录下查看
配置ES集群,需要复制上面的ES目录到其他两台机器上,修改配置文件
vim elasticsearch.yml
cluster.name: elastic-nodes
node.name: node-2
path.data: /usr/local/es/elasticsearch-7.6.1/data
path.logs: /usr/local/es/elasticsearch-7.6.1/log
network.host: 0.0.0.0
http.port: 9200
discovery.seed_hosts: ["IP1", "IP2", "IP3"]
cluster.initial_master_nodes: ["节点1名称", "节点2名称", "节点3名称"]
bootstrap.system_call_filter: false
bootstrap.memory_lock: false
http.cors.enabled: true
http.cors.allow-origin: "*"
查看集群状态:
GET _cat/nodes?v
GET _cat/health?v
注意:搭建es集群,启动三个es节点,访问elasticsearch-head时只显示一个master
解决方案:进到节点2、3的/elasticsearch-7.6.1/data/目录下删除nodes文件,之后重启节点2、3的es进程即可
Elasticsearch-head插件
这个安装比较复杂,可以参考我的笔记资料地址: ES-Head插件
实际中可以使用docker来搭建ES,后面会介绍docker-compass 搭建部署ES
Kibana 图形页面
1)下载Kibana放之/usr/local/es目录中
2)解压文件:tar -zxvf kibana-X.X.X-linux-x86_64.tar.gz
3)进入 /home/es/elasticsearch/kibana/config目录
4)使用vi编辑器:vi kibana.yml
server.port: 5601server.host: "服务器IP"elasticsearch.hosts: ["http://IP:9200"] #这里是elasticsearch的访问地址
5)启动Kibana
/home/es/elasticsearch/kibana/bin/kibana
后台启动kibana
cd /home/es/elasticsearch/kibana
nohup bin/kibana &
ElasticSearch(二):ES集群安装相关推荐
- 【Elasticsearch】es 集群健康值 红色 red 分片 未分配
1.概述 转载:https://zhuanlan.zhihu.com/p/101608973 转载这篇文章是因为根据我的文章 [Elasticsearch]elasticsearch 7.x 查看分片 ...
- Hadoop入门(二)集群安装
一.集群安装条件前置 在虚拟机上先准备一个机子 按用前面[安装单机hadoop] 已完成安装jdk,hadoop和ssh.网络等配置环境等. 虚拟机和操作系统 环境:ubuntu14 + hadoo ...
- ES集群安装错误记录
1. JVM设置不合理. bootstrap check failure [1] of [1]: initial heap size [67108864] not equal to maximum h ...
- 【Elasticsearch】 es 集群发现机制
本文为博主九师兄(QQ:541711153 欢迎来探讨技术)原创文章,未经允许博主不允许转载.有问题可以先私聊我,本人每天都在线,会帮助需要的人. 文章目录 1.概述 介绍 组播发现 单播发现 基于文 ...
- docker es持久化_Docker 搭建 ES 集群并整合 Spring Boot
一.前言 什么是 Elasticsearch ? Elasticsearch 是一个基于 Apache Lucene(TM) 的开源搜索引擎.无论在开源还是专有领域,Lucene 可以被认为是迄今为止 ...
- redis3.0.2 分布式集群安装详细步骤
redis3.0.2 分布式集群安装详细步骤 --(centos5.8 X64系统) 版本历史 时间 版本 说明 编写者 2015-06-5 1.0 redis3.0.2 分布式集群安装详细步骤 cs ...
- 自建es集群数据迁移同步到腾讯云
用户自建ES集群<多节点>如何通过snapshot+cos的方式实现数据到腾讯云ES的迁移恢复 使用COS进行数据迁移使用场景也非常多.通过上一小结的理解,我想大家更理解了这个工具的使用诀 ...
- 【ElasticSearch系列连载】3. 如何安装符合生产环境要求的ES集群
[ElasticSearch系列连载]3. 如何安装符合生产环境要求的ES集群 通过本文,将会循序渐进地了解到ES的若干部署方案,以及相关的基础操作与配置. 上一节介绍的一键安装方式,可以快速启动一个 ...
- hadoop集群安装ES(ElasticSearch 5.0.2)
配置/etc/hosts,ntp服务,免密码登录,关闭防火墙这里不做详细说明. 安装java环境 [root@manager ~]# mkdir /usr/java [root@manager ~]# ...
最新文章
- 关于LGame-0.2.9版的开发进度
- VS配置本地IIS以域名访问
- python的实验报告怎么写_学号:20191221,《python实验设计》实验报告三
- ubuntu 开启 rewrite 模块
- 用juniversalchardet解决爬虫乱码问题
- 运用PhantomJS测试JavaScript
- php中smarty扩展类问题
- mokoid android open source HAL hacking in a picture
- JavaScript 通过身份证号获取出生日期、年龄、性别 、籍贯
- Firefox Focus 9.0 将新增广告拦截插件
- Excel 数据处理基础
- CFS调度下带宽控制(Bandwidth Control)
- 39 个奇葩代码注释,看完笑哭了。。。
- Kubernetes部署记录
- jenkins 403 No valid crumb was included in the request 解决方案
- 网红汉字手机全屏时钟APP下载
- 微信企业付款到银行卡(微信转账)(Java完整版)
- 如何在vs code中配置miniconda/anaconda环境(两种方法)
- VBS操作文件:File对象和Files集合
- ctfshow_pwn03