欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Elasticsearch单机双节点集群部署实战

程序员文章站 2023-11-11 17:51:16
一、安装第一个ElasticSearch(主节点) 1、创建es用户,启动es不能使用root用户 useradd es passwd es12 root用户进入/home/es目录下 2、获取ElasticSearch安装包 wget https://artifacts.elastic.co/do ......

一、安装第一个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 

Elasticsearch单机双节点集群部署实战

url输入服务器ip:head访问端口 
链接地址输如主节点的访问地址 
7、安装head常见错误 
【类型一】启动成功,但是网页不能访问 
解决方法 
关闭服务器防火墙

service iptables stop

 

【类型二】集群健康值未连接 
在elasticsearch.yml里追加下列代码(注意代码前面不要有空格)

http.cors.enabled: truehttp.cors.allow-origin: "*"

 

 

问:为什么es节点用node2、node3? 
答:因为之前用node1搭建了一套未集群的es,所以后面集群就用2和3了。

 

---------------------------------------------

推荐阅读:

微信支付开发中几个值得注意的地方

解析:微服务的原则

老王讲架构:负载均衡

支付宝系统架构内部剖析

saas技术栈的走势

大数据spark与storm技术选型