elasticsearch6.X 及head插件部署(完整版)_zou79189747的博客-CSDN博客_elasticsearch6


本站和网页 https://blog.csdn.net/zou79189747/article/details/80111219 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

elasticsearch6.X 及head插件部署(完整版)_zou79189747的博客-CSDN博客_elasticsearch6
elasticsearch6.X 及head插件部署(完整版)
zou79189747
于 2018-04-28 17:22:16 发布
12540
收藏
分类专栏:
ELK
文章标签:
elasticsearc集群部署
head插件部署
elasticsearch后台启动
elasticsearch开机自启动
head开机自启动
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/zou79189747/article/details/80111219
版权
ELK
专栏收录该内容
5 篇文章
0 订阅
订阅专栏
本文介绍了elasticsearch集群及head插件部署流程,包括后台启动脚本、开机自启动,面向生产环境的部署方式供大家参考。
因工作环境问题,几乎所有内容都是手打的,自己边部署边记录问题及步骤,百分百保证能成功部署,若某一步有问题的话,有可能是打错了,欢迎留言指正
集群环境
虚拟机(centos6.5)是否可以成为主节点是否为数据节点100.0.26.217truetrue100.0.26.218    truetrue100.0.26.219truetrue
 软件版本
jdk1.8.0_144.tar.gz
elasticsearch-6.2.4.tar.gz
node-v8.11.1-linux-x64.tar.xz
elasticsearch-head-master.zip(https://github.com/mobz/elasticsearch-head)
1、安装JDK
tar -zxvf jdk1.8.0_144.tar.gz
配置环境变量
vi /etc/profile   
在文件末尾添加如下配置:
export JAVA_HOME=/home/soft/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile
使用java、javac确定环境变量配置正确
2、安装ElasticSearch(单节点)
tar -zxvf elasticsearch-6.2.4.tar.gz
vi elasticsearch-6.2.4/config/elasticsearch.yml
将配置设置为如下:
cluster.name: es6.2
node.name: node-1
node.master: true
node.data: true
network.host: 0.0.0.0
因为elasticsearch不能使用root用户运行,创建一个es用户
adduser es
chown -R es:es elasticsearch-6.2.4
su es
cd elasticsearch-6.2.4
./bin/elasticsearch
此时报错信息如下:
[2018-02-14T23:40:16,908][ERROR][o.e.b.Bootstrap ] [node-1] node validation exception
[4] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max number of threads [1024] for user [elsearch] likely too low, increase to at least [4096]
[3]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[4]: system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk
[1]、[2] 解决办法:
vi /etc/security/limits.d/90-nproc.conf
修改配置如下:
* soft nproc 4096
root soft nproc unlimited
es soft nofile 65536
es hard nofile 65536
[3]解决办法:
vi /etc/sysctl.conf
添加如下配置:
vm.max_map_count = 262144
使配置生效
sysctl -p
[4]解决办法:
Centos 6.5不支持SecComp,而ES6.2.4默认bootstrap.system_call_filter为true, 在elasticsearch.yml增加如下配置:
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
启动ES
./bin/elasticsearch
使用http://100.0.26.117:9200查看节点信息,若正常访问则表明服务启动成功
3、搭建集群
在elasticsearch.yml增加配置:
discovery.zen.ping.unicast.hosts: ["100.0.26.117", "100.0.26.118", "100.0.26.119"]
discovery.zen.minimum_master_nodes: 2
最终第一个节点的配置如下:
cluster.name: es6.2
node.name: node-1
node.master: true
node.data: true
network.host: 0.0.0.0
bootstrap.memory_lock: false
bootstrap.system_call_filter: false
discovery.zen.ping.unicast.hosts: ["100.0.26.117", "100.0.26.118", "100.0.26.119"]
discovery.zen.minimum_master_nodes: 2
其他节点配置cluster.name必须一致且node.name不能一样,其他可以根据需求做改动
按照相同的步骤启动各个节点,控制台显示启动成功之后,访问http://100.0.26.117:9200/_cat/nodes,若配置的节点都在,则集群部署成功,有问题则具体问题具体解决。
这是我们搭的测试环境,在生产环境肯定需要后台启动elasticsearch,使用如下命令
./bin/elasticsearch -d
显然这种方式在机器重启之后服务就没了,因此我们需要配置机器重启后elasticsearch服务自启动,切换root用户,在/etc/init.d/目录下创建一个es_run文件配置如下:
su root
vi /etc/init.d/es_run
#!/bin/sh
#chkconfig: 2345 80 05
#description: es
export JAVA_HOME=/home/soft/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
case "$1" in
start)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
echo "elasticsearch stoped, prepare to start..."
su es<<!
/home/soft/elasticsearch-6.2.4/bin/elasticsearch -d
while true
do
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
sleep 1;
echo "elasticsearch starting..."
else
echo "elasticsearch started,pid is $es_pid"
break
fi
done
else
echo "elasticsearch exist,pid is $es_pid"
fi
;;
stop)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
echo "elasticsearch not started"
else
kill -9 $es_pid
echo "elasticsearch stoped"
fi
;;
restart)
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
echo "elasticsearch stoped, prepare to start..."
su es<<!
/home/soft/elasticsearch-6.2.4/bin/elasticsearch -d
while true
do
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
sleep 1;
echo "elasticsearch starting..."
else
echo "elasticsearch started,pid is $es_pid"
break
fi
done
else
kill -9 $es_pid
echo "elasticsearch stoped"
su es<<!
/home/soft/elasticsearch-6.2.4/bin/elasticsearch -d
while true
do
es_pid=`ps aux|grep elasticsearch | grep -v 'grep elasticsearch' | awk '{print $2}'`
if [ "$es_pid" == "" ]; then
sleep 1;
echo "elasticsearch starting..."
else
echo "elasticsearch started,pid is $es_pid"
break
fi
done
fi
;;
*)
echo "start|stop|restart"
;;
esac
exit $?
注意脚步文件的前两行不可缺少
给脚步赋予可执行权限,并添加到开机启动项中。此时服务并没有启动,重启机器才会启动。当前需手动启动一次服务。
chmod +x /etc/init.d/es_run
chkconfig --add /etc/init.d/es_run
service es_run start
每个节点按照同样的方式操作,完成机器重启后elasticsearch服务自启动
4、安装head插件
解压node-v8.11.1-linux-x64.tar.xz 之前确保系统已安装xz,若无则先安装
yum install xz
tar xvf node-v8.11.1-linux-x64.tar.xz
配置node环境变量
vi /etc/profile
export JAVA_HOME=/home/soft/jdk1.8.0_144
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export NODE_PATH=/home/soft/node-v8.11.1-linux-x64
export PATH=$PATH:$JAVA_HOME/bin:$NODE_PATH/bin
source /etc/profile
可以在控制台输入node或npm在验证node是否配置正确
配置node镜像源
npm set registry http://ip:port
下载head插件需要的依赖
cd /home/soft/elasticsearch-head-master
npm install
由于每个人的镜像源不一致可能会导致依赖不能完完整整下下来,这时可以考虑提示下载不下来的依赖,单独下载。像我使用的内网镜像源,碰到了三个问题:
1、bluebird依赖下载失败,
npm info bluebird
查看镜像源中所有bluebird所有版本信息,最新版本为3.5.1,npm install 默认下载的是镜像源中的最新版本
手动测试:
npm install bluebird@3.5.1
发现3.5.1版本下载不下来,而换成3.5.0 就ok了,具体原因没有去深究,有了解的朋友欢迎分享。下载好后继续全量下载
npm install bluebird@3.5.0
npm install
2、core-js也碰到同样的问题,最终下载的2.5.0。下载好后继续全量下载
npm install core-js@2.5.0
npm install
3、phantomjs-prebuilt下载失败,错误信息如下:
npm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the phantomjs-prebuilt@2.1.14 install script 'node install.js'.
网上找到解决办法,原文地址:https://stackoverflow.com/questions/40992231/failed-at-the-phantomjs-prebuilt2-1-13-install-script-node-install-js
npm install phantomjs-prebuilt@2.1.14 --ignore-scripts
继续下载其他依赖:
npm install
直至没有错误信息,表明所有依赖已下载完成
上述3个问题前两个应该跟我的环境有关,但第三个应该大家都会碰到
修改Gruntfile.js配置,在keepalive: true下增加hostname:'*'
vi Gruntfile.js
connect: {
server: {
options: {
port: 9100,
base: '.',
keepalive: true,
hostname: '*'
修改保存后启动head 服务
npm run start
网上有些说使用grunt 启动,这种方式你得先全局安装一下grunt-cli,个人觉得多此一举,方式如下:
npm -g install grunt-cli
grunt server
浏览器打开http://100.0.26.117:9100,此时发现页面能正常打开,但是提示集群健康值:未连接,这个问题由两个地方的配置导致的,网上查资料基本只说一种情况,可能他们只基于本地测试,不是面向生产环境,所有有些问题并未发现。
1、修改elasticsearch.yml,增加如下配置并重启ES:
http.cors.enabled: true
http.cors.allow-origin: "*"
service es_run restart
2、再次打开http://100.0.26.117:9100,显示还是未连接,如下图:
注意图片上用红框标注的,生产环境中客户端访问的时候, 连接localhost肯定是访问不了的,这时把localhost改成100.0.26.117就可以了,也可以修改app.js的一个配置:
vi /home/soft/elasticsearch-head-master/_site/app.js
this.base_uri = this.config.base_uri || this.prefs.get("app-base_uri") || "http://100.0.26.117:9200";
重启head 服务就OK了。
很容易想到接下来就是后台启动以及开机自启动,配置过程跟elasticsearch相似
vi /etc/init.d/es_head_run
配置如下:
#!/bin/sh
#chkconfig: 2345 80 05
#description: es_head_run
export NODE_PATH=/home/soft/node-v8.11.1-linux-x64
export PATH=$PATH:$NODE_PATH/bin
cd /home/soft/elasticsearch-head-master
nohup npm run start >/home/soft/elasticsearch-head-master/nohup.out 2>&1 &
赋权限及添加到开机启动项
chmod +x /etc/init.d/es_head_run
chkconfig -add /etc/init.d/es_head_run
service es_head_run
到这里整个部署流程已经完成
zou79189747
关注
关注
点赞
收藏
打赏
评论
elasticsearch6.X 及head插件部署(完整版)
本文介绍了elasticsearch集群及head插件部署流程,包括后台启动脚本、开机自启动,面向生产环境的部署方式供大家参考。因工作环境问题,几乎所有内容都是手打的,自己边部署边记录问题及步骤,百分百保证能成功部署,若某一步有问题的话,有可能是打错了,欢迎留言指正 集群环境虚拟机(centos6.5)是否可以成为主节点是否为数据节点100.0.26.217...
复制链接
扫一扫
专栏目录
Elasticsearch6
m0_63102464的博客
10-29
204
sbf.append(java.text.MessageFormat.format("{0}.{1}() {2}"
,e.getClassName()
,e.getMethodName()
,e.getLineNumber()));
logger.info(prefix
“\n************************************************************\n”
sbf.toString()
“\n*************************
ElasticSearch6全面教程文档
08-27
我就是通过这个学习ElasticSearch的,从安装到kibana的组件安装,到ES的查询语句,到Java整合等
评论 2
您还未登录,请先
登录
后发表或查看评论
Docker安装Elasticsearch,Kibana镜像
最新发布
weixin_45067618的博客
11-21
500
docker 安装elasticserach,kibana镜像
ElasticSearch6.x入门?看这一篇就够了
菜鸟逆袭之路
04-01
406
ES相关概念知识
最新ElasticSearch6实战教程
04-24
<span style="font-size:14px;">课程介绍:</span>
<p style="font-size:14px;background-color:#FFFFFF;">
<br /></p>
<p style="font-size:14px;background-color:#FFFFFF;">
本系列教程由浅入深讲解了在CentOS7系统下如何搭建ElasticSearch,如何使用Kibana实现各种方式的搜索,并详细分析了搜索的原理,最后讲解了在JAVA应用中如何集成ElasticSearch并实现搜索。
</p>
Elasticsearch6学习笔记——安装
a316883923的博客
10-19
200
linux centos6.5 环境下 ElasticSearch搭建
1、准备1台linux centos64位机器
2、安装包解压
准备好elasticsearch6.4.2安装包并解压、然后执行命令,
tar -zxvf elasticsearch6.4.2.tar.gz
3、修改配置文件
vim config/elasticsearch.yml
# 集群的名字
cluster.name: es-cluster
# 节点名字
node.name: node-1
CentOS安装ElasticSearch6.8.0
留下不学无术的眼泪
04-14
121
废话不多说,直接开干。
1、创建普通用户
因为ES默认不能使用root用户运行
创建一个组
groupadd es
创建新用户,并把它放到es组中
useradd elastic -g es
修改密码
passwd elastic
2、下载ElasticSearch
使用新创建的用户elastic登录
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.8.0.tar.gz
3、安装ElasticSear
全文搜索引擎Elasticsearch6.x 入门
Ghost_02的博客
01-17
9907
全文搜索的需求非常大。而开源的解决办法Elasricsearch(Elastic)就是一个非常好的工具。目前是全文搜索引擎的首选。
Elastic 的底层是开源的Lucene。Elastic提供了REST API的操作接口。是Lucene的扩展。底层依旧是索引,但是可以把大索引切成n片,放到不同的节点,所以就实现了分布式。也就理所当然的是读写负载均衡。此外,他还是一个分布式实时文档
elasticsearch6.x环境安装
vitaair的博客
04-02
2726
1. 安装配置JDK 8(1)下载并解压缩[root@node1 ~]# tar -zxvf jdk-8u112-linux-x64.tar.gz -C /opt1(2)编辑环境变量 vi /etc/profile.d/custom.sh[root@node1 ~]# vi /etc/profile.d/custom.sh
[root@node1 ~]# cat /etc/profile.d/cu...
elasticsearch6.x集群安装
Xlucas的博客
01-29
6239
elasticsearch 安装环境
操作系统:centos6.5 64位
版本:elasticsearch-6.1.1
jdk版本:1.8
安装用户:etl节点安排
10.20.23.29 master
10.20.23.38 负载均衡
10.20.23.41 data
10.20.23.42 data
10.20.23.82 data解压elasticsearch
elasticsearch-6.2.2
03-05
elasticsearch-6.2.2
Elasticsearch 6.1官方入门教程(中文)
01-09
Elasticsearch 6.1,根据最新的官方文档翻译,是入门Elasticsearch的教材。
elasticsearch-6.6.0
04-17
elasticsearch-6.6.0已经配置好ik分词器和近义词配置等
elasticsearch-6.6.0.tar.gz elasticsearch-6.6.0下载
07-01
elasticsearch-6.6.0下载,Elasticsearch是一个实时的分布式搜索和分析引擎,它可以用于全文搜索,结构化搜索以及分析,是ELK日志收集系统的一部分组件。(文件全称:elasticsearch-6.6.0.tar.gz)
2018年最新ElasticSearch6实战教程
08-09
最新版ElasticSearch6(2018年年最新版),这个资源是我花钱买的,分享给大家。
视频共有60讲,从介绍、安装到实战。
elasticsearch-6.7.0
03-29
ElasticSearch(ES)2019最新版下载。Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Elasticsearch是一个高度可扩展的开源全文搜索和分析引擎。它允许您快速,近实时地存储,搜索和分析大量数据。它通常用作支持具有复杂搜索功能和需求的应用程序的底层引擎/技术。
ElasticSearch6.x 之路由规则
zhouzhiwengang的专栏
07-23
696
1、创建文档指定路由
语法规则:http://elasticsearch 服务器访问地址/索引名称/文档名称/文档主键编号?routing=路由名称,Put请求, 携带文档属性参数。
实列:http://192.168.1.74:9200/shopping/user/3?routing=route/,选择在elasticsearch 服务器中的shopping 索引创建文档(user)并指定文...
ElasticSearch6(ES)学习
gaitiangai的专栏
04-23
273
项目
Value
电脑
$1600
手机
$12
导管
$1
Column 1
Column 1
Column 2
Column 2
Column 2
centered 文本居中
centered 文本居中
文本居右
文本居右
文本居右
ElasticSearch-5.0安装head插件
weixin_30251829的博客
11-07
223
环境
Windows10企业版X64
JDK-1.8
ElasticSearch-5.0.0
node-v4.5.0-x64.msi
git客户端
步骤
安装node到D盘。如D:\nodejs。
把NODE_HOME设置到环境变量里(安装包也可以自动加入PATH环境变量)。测试一下node是否生效:
安装grunt
grunt是一个很方便的构建工具,可以...
ElasticSearch6.x 之字段类型
zhouzhiwengang的专栏
07-24
1582
本文转载至:https://blog.csdn.net/chengyuqiang/article/details/79048800
字段类型概述
字符串类型(1)string
string类型在ElasticSearch 旧版本中使用较多,从ElasticSearch 5.x开始不再支持string,由text和keyword类型替代。(2)text
当一个字段是要被全文搜索的,比...
“相关推荐”对你有帮助么?
非常没帮助
没帮助
一般
有帮助
非常有帮助
提交
©️2022 CSDN
皮肤主题:大白
设计师:CSDN官方博客
返回首页
zou79189747
CSDN认证博客专家
CSDN认证企业博客
码龄11年
暂无认证
15
原创
20万+
周排名
42万+
总排名
24万+
访问
等级
1394
积分
12
粉丝
56
获赞
13
评论
191
收藏
私信
关注
热门文章
supervisor 使用详解
101846
服务器能ping通,ssh却连不上
29987
nohup 后台运行命令(关闭shell也不会终止)
15227
ulimit 设置不生效问题解决
14896
elasticsearch6.3.1 启用x-pack
13201
分类专栏
flink
1篇
nginx
正则表达式
1篇
svn
数据库
1篇
mysql
ELK
5篇
AngularJS
1篇
ssh
1篇
xshell
1篇
storm
1篇
spring-boot
1篇
最新评论
logstash grok在线验证地址
我只是一个coder:
可使用:http://grok.51vagaa.com
服务器能ping通,ssh却连不上
grant-bobo:
N种情况中的一种,标题最好加个限制,比如“limits.conf文件导致的服务器能ping通,ssh却连不上”
supervisor 使用详解
sidemap:
博主好,
请教个问题
在同一个用户下,写的应用程序,
不用supervisor启动,发送tcp网络数据正常;
而用supervisor启动,发送tcp网络数据,数据包被截断了;
什么原因,请指教。
elasticsearch 使用curator管理索引
好名字难起啊
回复
karl_xy: 应该可以,因为配置文件定义ES地址的
supervisor 使用详解
唯一校友:
thanks!
您愿意向朋友推荐“博客详情页”吗?
强烈不推荐
不推荐
一般般
推荐
强烈推荐
提交
最新文章
Flink 执行./bin/start-cluster.sh 提示需要输入登录密码
Elasticsearch 常见问题
spring-boot2.1.0 修改默认端口
2020年1篇
2018年18篇
目录
目录
分类专栏
flink
1篇
nginx
正则表达式
1篇
svn
数据库
1篇
mysql
ELK
5篇
AngularJS
1篇
ssh
1篇
xshell
1篇
storm
1篇
spring-boot
1篇
目录
评论 2
被折叠的 条评论
为什么被折叠?
到【灌水乐园】发言
查看更多评论
打赏作者
zou79189747
你的鼓励将是我创作的最大动力
¥2
¥4
¥6
¥10
¥20
输入1-500的整数
余额支付
(余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付
您的余额不足,请更换扫码支付或充值
打赏作者
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额
抵扣说明:
1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。 2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。
余额充值