Elasticsearch5.6.4集群搭建

news/2024/6/3 6:15:09 标签: elasticsearch, head
本次搭建的是一个三节点的集群

(一)es的安装


(1)下载安装包

[url]https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-5.6.4.tar.gz[/url]

(2)解压到指定目录

(3)进入根目录,修改config/elasticsearch.yml文件,清空内容,添加如下配置

````
cluster.name: es

node.name: ${HOSTNAME}

bootstrap.memory_lock: false

bootstrap.system_call_filter: false

network.host: ${HOSTNAME}

http.port: 9600

transport.tcp.port: 9700

discovery.zen.ping.unicast.hosts: ["host0:9700", "host1:9700"]

discovery.zen.minimum_master_nodes: 2

http.cors.enabled: true
http.cors.allow-origin: "*"
````


注意配置主机名与ip的映射

(4)修改文件config/jvm.options ,设置堆内存,其他的根据情况调整

````
-Xms4g
-Xmx4g
````


(5)如果系统里面有多个jdk存在,可以修改bin/elasticsearch里面,指定jdk版本

````
export JAVA_HOME=/usr/java/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
````


(6)配置完成后分发到所有机器上


(7)写一个启动集群和关闭集群的脚本 es.sh

注意,同级目录下需要有一个hosts文件,里面按行配置所有用到的ip

````

#启动集群方法
start(){
for ip in `cat hosts`
do

echo $ip"开始启动es节点"

ssh $ip "cd /home/search/elasticsearch && bin/elasticsearch -d -p /home/search/elasticsearch/es_pid "

done

}

#关闭集群方法
stop(){
for ip in `cat hosts`
do

echo $ip"开始关闭es节点"

ssh $ip " cat /home/search/elasticsearch/es_pid | xargs kill -15 "

done

}


````



(二)head的安装

 ````
//下载源码
(1)git clone git://github.com/mobz/elasticsearch-head.git
//进入根目录
(2)cd elasticsearch-head
//安装
(3)npm install
//启动
(4)npm run start

````


这里需要注意es5的head不再是es的插件而是需要单独作为一个服务提供,上面我们安装es时,最后两行配置属性是开启了es的跨域访问,所以head作为一个单独的服务,是可以访问es集群的。


此外es5的head安装依赖nodejs环境,所以我们要安装node
步骤如下:

这里采用的是下载官网编译好的二进制包直接安装
````

(1)wget https://nodejs.org/dist/v8.9.4/node-v8.9.4-linux-x64.tar.xz

(2)xz -d node-v8.9.4-linux-x64.tar.xz

(3)设置全局环境变量

export NODE_HOME=/usr/local/node/8.9.4
export PATH=$NODE_HOME/bin:$PATH

(4)验证

node -v

`````



这里还需要自己制作一个启动和关闭head脚本:

````
//start.sh脚本
nohup npm run start &> es5_head.log &

//stop.sh脚本
ps -ef | grep grunt | awk '{print $2}' | xargs kill -9
````



head只需要在一台es节点上安装即可


总结:

本文介绍了es5.6.4版本集群的搭建以及es5的head的安装,并给出了方便管理的启动和关闭脚本。至此我们的集群已经能正常工作了。当然es5里面还有很多其他的插件比如典型的kibana,x-pack,kopf(最新的版本叫cerebro),这些会在后面的文章中介绍。

[b][color=green][size=large] 有什么问题可以扫码关注微信公众号:我是攻城师(woshigcs),在后台留言咨询。 技术债不能欠,健康债更不能欠, 求道之路,与君同行。 [/size][/color][/b] [img]http://dl2.iteye.com/upload/attachment/0104/9948/3214000f-5633-3c17-a3d7-83ebda9aebff.jpg[/img]

http://www.niftyadmin.cn/n/787634.html

相关文章

Flutter实例——底部导航栏制作

QQ 1274510382 Wechat JNZ_aming 商业联盟 QQ群538250800 技术搞事 QQ群599020441 解决方案 QQ群152889761 加入我们 QQ群649347320 共享学习 QQ群674240731 纪年科技aming 网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。

android studio应用开发实战详解pdf下载_Android系统组件中最核心的服务

先抛一个十分经典的面试三连问给大家:AMS是如何启动的?AMS在Android起到什么作用?简单分析下Android的源码;AMS有哪些应用场景?我们是如何应用AMS核心原理的?如果被问到,你能不能答上来&#xf…

MySQL取得当前时间的函数是什么 格式化日期的函数是什么

取得当前时间用 now() 就行。 在数据库中格式化时间 用DATE_FORMA T(date, format) . 根据格式串format 格式化日期或日期和时间值date,返回结果串。 可用DATE_FORMAT( ) 来格式化DATE 或DATETIME 值,以便得到所希望的格式。根据format字符串格式化date…

PAT 天梯赛 L1-027. 出租 (简单字符串处理)

题目链接 #include<iostream> #include<string> #define MAX 10 using namespace std; int book[MAX]; int ser(char c, string a){int i;for(i 0; i < a.length(); i){if(a[i] c)return i;}return -1; } int main(){string str, a, b;cin >> str;a &…

记一次PHP7+opcache+zmq出现SIGSEGV 问题的查找(一次不成功的bug查找)

Title: 记一次PHP7opcachezmq出现SEGSEGV问题的查找(一次不成功的bug查找) bug来历自述:线上代码PHP环境是5.2&#xff0c;为了提升性能(逼格)&#xff0c;于是升级为PHP7并使用docker部署&#xff0c;为了方便起见使用yum安装(懒惰)&#xff0c;代码经测试后准备部署上线&…

Flutter实例——不规则底部工具栏的制作

QQ 1274510382 Wechat JNZ_aming 商业联盟 QQ群538250800 技术搞事 QQ群599020441 解决方案 QQ群152889761 加入我们 QQ群649347320 共享学习 QQ群674240731 纪年科技aming 网络安全 ,深度学习,嵌入式,机器强化,生物智能,生命科学。

如何备份ElasticSearch索引数据到HDFS上

在ElasticSearch里面备份策略已经比较成熟了 目前在ES5.x中备份支持的存储方式有如下几种&#xff1a; fs //本地挂载的盘 url //网络协议存储支持http,https,ftp repository-s3 //亚马逊 repository-hdfs //HDFS repository-azure //微软 repository-gcs …

hdoj 1863 最小生成树(kruskal + 并查集)

题目链接 #include<iostream> #include<vector> #include<algorithm> using namespace std; struct Edge{int from, to, w;int next; }; int tol, n, m,u,v,w,cop,sum; int head[105]; int id[105]; Edge edges[10005];//根据顶点估计边数 完全图这里 用有向…