Elasticsearch单机双节点集群部署实战
一、安装第一个ElasticSearch(主节点)
1、创建es用户,启动es不能使用root用户
useradd es
passwd es12
root用户进入/home/es目录下
2、获取ElasticSearch安装包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.1.2.tar.gz
3、解压、改名(方便集群时区别另一个ES)
tar xf elasticsearch-6.1.2.tar.gz
mv elasticsearch-6.1.2.tar.gz elasticsearch-node212
4、修改配置文件
vi elasticsearch-node2/config/elasticsearch.yml1
修改内容如下:
cluster.name: my-application 各节点此名称必须一致
node.name: node-2 节点名称,不能与其他节点相同
network.host: ***.***.***.*** 自己的服务器IP
http.port: **** 访问端口
transport.tcp.port: **** 集群各节点间的通讯端口
discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"] 123456
文件最后追加以下内容,以便连接head显示健康值(注意每行代码前面不要有空格)
http.cors.enabled: true
http.cors.allow-origin: "*"12
5、启动
sh elasticsearch-node2/bin/elasticsearch1
[2018-01-24T15:36:41,990][INFO ][o.e.n.Node ] [KMyyO-3] started
[2018-01-24T15:36:41,997][INFO ][o.e.g.GatewayService ] [KMyyO-3] recovered [0] indices into cluster_state12
启动成功,浏览器中输入 IP:访问端口
网页显示以下内容,说明部署成功
{
"name" : "node-2",
"cluster_name" : "my-application",
"cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",
"version" : {
"number" : "6.1.2",
"build_hash" : "5b1fea5",
"build_date" : "2018-01-10T02:35:59.208Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}123456789101112131415
6、报错及其处理
【类型一】
Caused by: java.lang.RuntimeException: can not run elasticsearch as root1
该问题是因为运行es不能使用root用户,因此要切换es用户再次启动
chown -R es:es elasticsearch-node2/
su - es
sh elasticsearch-node2/bin/elasticsearch123
【类型二】
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]1
解决方法,换回root用户,修改配置文件
vi /etc/security/limits.conf
#在最后面追加下面内容
es hard nofile 65536
es soft nofile 655361234
【类型三】
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]1
解决方法,换回root用户,修改配置文件
vi /etc/sysctl.conf
#在最后面追加下面内容
vm.max_map_count=655360
#执行命令:
sysctl -p12345
二、安装第二个ElasticSearch(辅节点)
安装方法与第一个一致,注意修改配置文件
root用户进入/home/es目录下
1、解压、改名
tar xf elasticsearch-6.1.2.tar.gz
mv elasticsearch-6.1.2.tar.gz elasticsearch-node312
2、修改配置文件
vi elasticsearch-node3/config/elasticsearch.yml1
修改内容如下:
cluster.name: my-application 各节点此名称必须一致
node.name: node-3 节点名称,不能与其他节点相同
network.host: ***.***.***.*** 自己的服务器IP
http.port: **** 访问端口(注意不要与第一个端口重复)
transport.tcp.port: **** 集群各节点间的通讯端口(注意不要与第一个端口重复)
discovery.zen.ping.unicast.hosts: ["主节点IP:通讯端口","辅节点IP:通讯端口"]123456
文件最后同样追加下面代码
http.cors.enabled: true
http.cors.allow-origin: "*"12
3.启动
sh elasticsearch-node3/bin/elasticsearch1
浏览器,浏览器中输入 IP:访问端口
网页显示以下内容,说明第二个部署成功
{
"name" : "node-3",
"cluster_name" : "my-application",
"cluster_uuid" : "j2aJ7CsRSuSo0G8Bgky2Ww",
"version" : {
"number" : "6.1.2",
"build_hash" : "5b1fea5",
"build_date" : "2018-01-10T02:35:59.208Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You Know, for Search"
}123456789101112131415
三、安装Elasticsearch-head插件
1、安装head插件之前需要安装node.js
curl -sL https://rpm.nodesource.com/setup_8.x | bash -
yum install -y nodejs12
安装完成后执行命令查看node与npm版本
[root@host]# node -v
v8.12.0
[root@host]# npm -v
6.4.1
12345
2、从git获取head插件
wget https://github.com/mobz/elasticsearch-head/archive/master.zip1
3、解压安装包(可以改名,方便操作)
unzip master.zip
mv elasticsearch-head-master/ head12
4、修改配置文件
vi head/Gruntfile.js1
更改head端口号
connect: {
server: {
options: {
port: ****, 改为head访问端口
base: '.',
keepalive: true
}
}
}
12345678910
vi head/_site/app.js 1
更改head链接地址
init: function(parent) {
this._super();
this.prefs = services.Preferences.instance();
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://主节点IP:访问端口";
12345
5、启动head
nohup npm run start > ../head.log 2>&1 &1
6、浏览器登录head

URL输入服务器IP:head访问端口
链接地址输如主节点的访问地址
7、安装head常见错误
【类型一】启动成功,但是网页不能访问
解决方法
关闭服务器防火墙
service iptables stop
【类型二】集群健康值未连接
在elasticsearch.yml里追加下列代码(注意代码前面不要有空格)
http.cors.enabled: truehttp.cors.allow-origin: "*"
问:为什么es节点用node2、node3?
答:因为之前用node1搭建了一套未集群的ES,所以后面集群就用2和3了。
---------------------------------------------
推荐阅读:
Elasticsearch单机双节点集群部署实战的更多相关文章
- Windows下ELK环境搭建(单机多节点集群部署)
1.背景 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时 ...
- (十)RabbitMQ消息队列-高可用集群部署实战
原文:(十)RabbitMQ消息队列-高可用集群部署实战 前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. Ra ...
- elasticSearch数据库、skywalking集群部署
Centos6上面安装elasticsearc数据库的集群 安装的是6.3.2版本,安装之前首先要先安装jdk1.8版本 安装之前首先需要关闭防火墙 Centos6 sudo service ipta ...
- RabbitMQ消息队列(十)-高可用集群部署实战
前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. RabbitMQ集群基本概念 Rabbit模式大概分为以下三种 ...
- RabbitMQ-rabbitmqctl多机多节点和单机多节点集群搭建(五)
准备 1.准备3台物理机 我这里通过本地机和2台虚拟模拟我是mac通过(Parallel Desktop 实现) 2.按照签名的liux安装步骤在3台机器都安装rabiitMq 3.将任意一节点的co ...
- elasticsearch + kibana + x-pack + logstash_集群部署安装
elasticsearch 部分总体描述: 1.elasticsearch 的概念及特点.概念:elasticsearch 是一个基于 lucene 的搜索服务器.lucene 是全文搜索的一个框架. ...
- k8s, etcd 多节点集群部署问题排查记录
目录 文章目录 目录 部署环境 1. etcd 集群启动失败 解决 2. etcd 健康状态检查失败 解决 3. kube-apiserver 启动失败 解决 4. kubelet 启动失败 解决 5 ...
- Docker | redis集群部署实战
前面已经简单熟悉过redis的下载安装使用,今天接着部署redis集群(cluster),简单体会一下redis集群的高可用特性. 环境准备 Redis是C语言开发,安装Redis需要先将Redis的 ...
- ElasticSearch 在3节点集群的启动
ElasticSearch的启动分前台和后台启动 先介绍前台启动: 先在master节点上启动 可以看到已经启动了 同时在slave1.slave2节点上也启动 可以看到都已经启动了! 在浏览器分别打 ...
随机推荐
- 解决Android Studio 将String类型保存为.txt文件,按下button跳转到文件管理器(解决了保存txt文件到文件管理后,手机打开是乱码的问题)
不知道为什么保存文件后之前打开一直都OK,就突然打开看到变成乱码了,最后解决了 关键:outStream.write(finalContent.getBytes("gbk")); ...
- 简述一下MVC和MVVM
一. MVC 我们先来了解一下什么是MVC. MVC:分别所指Model.View.Controller. MVC为标准的设计模式,是官方推荐的权威的规范模式. 视图(View):用户交互界面. 控制 ...
- Cookie丢失的原因
最近在运行项目遇见cookie丢失的问题,这里简单总结了几点 1.Cookie的Domain设置不正确2.Cookie超时3.Cookie中含有一些非法字符,致使浏览器丢弃Cookie4.程序源码可能 ...
- navicat实现Mysql数据备份
方法/步骤 使用navicat工具连接mysql数据库,这里以navicat for Mysql工具为例.如果数据库在本机,那么连接ip处写localhost即可,如果数据库在其他机器,那需要 ...
- proxy_pass根据path路径转发时的"/"问题记录
在nginx中配置proxy_pass时,如果是按照^~匹配路径时,要注意proxy_pass后的url最后的/.当加上了/,相当于是绝对根路径,则nginx不会把location中匹配的路径部分代理 ...
- [Swift]LeetCode407. 接雨水 II | Trapping Rain Water II
Given an m x n matrix of positive integers representing the height of each unit cell in a 2D elevati ...
- MyBatis 处理关系运算符
MyBatis mapper文件是xml文件,使用关系运算符需要进行转义. 关系运算符 转义后字符 < < <= <= > > > >=
- 完整的http请求分析
首先我们要明白什么是http. http:超文本传输协议(HTTP,HyperText Transfer Protocol). 超文本传输协议是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必 ...
- IntelliJ IDEA下SVN的配置及使用说明
1 下载及安装SVN客户端. 到官网下载小乌龟SVN客户端,官网地址:https://tortoisesvn.net/downloads.html,根据操作系统情况选择适合版本.比如64为操作系统,如 ...
- TLS 1.3 VS TLS 1.2,让你明白 TLS 1.3 的强大
HTTPS 加密时代已经来临,近两年,Google.Baidu.Facebook 等互联网巨头,不谋而合地开始大力推行 HTTPS, 2018 年 7 月 25 日,Chrome 68 上线,所有 H ...