Elasticsearch7.3.2+Kibana7.3.2+Ubantu16安装教程
前面介绍了Elasticsearch的基本知识,下面将实战如何在Linux操作系统中搭建Elasticsearch和Kibana环境。
一.软件包
由于ES社区的更新版本速度很快,小编使用的是Elasticsearch7.3.2+Kibana7.3.2版本进行搭建,现在ES官网下载可能需要翻墙且下载速度很慢,可以从下面分享获取
链接:https://pan.baidu.com/s/1Us0eB72ghIE4vEzaFD873Q 提取码:df2o
然后通过MobaXterm等工具远程连接到Linux服务器上,并使用root用户将软件包上传到/opt目录下,或者在普通用户桌面下切换为root用户将文件移动到/opt下也可,
sodu mv elasticsearch-7.3.2-linux-x86_64.tar.gz /opt
sodu mv kibana-7.3.2-linux-x86_64.tar.gz /opt
注意用超管权限移动到/opt下那么这两个包的权限是root的,准备好后就可以开始搭建了。
二.搭建ES环境
1.切换到/opt目录下,解压 tar -zxvf elasticsearch-7.3.2-linux-x86_64.tar.gz
可以发现elasticsearch实际也是jar编写的一个中间件,同样有很多jar包。
2.进入解压后的 elasticsearch-7.3.2文件夹的bin目录下 执行./elasticsearch
一般情况下我们都是直接先使用root权限进行环境的安装,如果在root管理员用户下执行上述./elasticsearch启动命令,就会报如下“不能使用管理员启动elasticsearch”的错误。
那是因为6.xx之前的版本是可以通过root用户启动。但是发现黑客可以透过elasticsearch获取root用户密码,所以为了安全性,在6版本之后就不能通过root启动elasticsearch。那么可以通过重新添加一个普通用户组和普通用户,然后将整个elasticsearch安装包的文件权限授权给这个用户组和用户。
解决方案如下:
groupadd dev
useradd -m -g dev test1
usermod -G dev test1 #test1用户绑定到dev用户组上
cd /opt [你的elasticsearch-7.3.2解压后所在路径]
chown -R test1 elasticsearch-7.3.2 #-R可以递归所在用户组并给该用户组设置相同权限
chgrp -R dev elasticsearch-7.3.2 #如果上个命令没有将用户组从root修改为dev,则继续执行该命令
最后再切换到新建的test1用户,重新执行启动命令,就会发现刚才root用户无法启动的问题解决了,可以看到正常启动了。
但是注意上图标记,可以看出现在启动的只是一个单机模式(es本机启动是localhost:9300,对外暴露是localhost:9200但是并不可用),也就是说目前就算启动了也只能远程主机自身使用,并无法真正为其它客户端提供访问,因此还需要进行配置修改,必须修改配置成集群模式,这也就是为什么说Elasticsearch是一个分布式中间件的原因。
3.修改Elasticsearch的配置文件,设置成集群模式。
修改配置
1) 进入配置目录 cd /opt/elasticsearch-7.3.2/config
2)如果启动时报JVM内存大小错误,可以调整jvm内存大小,默认是1g(如果机器内存够也可不调整) vim jvm.options
-Xms512m -Xmx512m
3)修改network配置,使ES支持通过被外部ip访问 vim config/elasticsearch.yml
cluster.name=estest
node.name=node-1
network.host: 192.168.0.103
http.port: 9200
cluster.initialmasternodes: ["node-1"]
注意其中的核心配置:
cluster.name:集群名称,每台主机配置的ES实例就是通过这个属性配置来自动识别属于哪个集群环境
node.name=node-1:本ES实例的节点名称,用于分别于其他ES实例
network.host: 0.0.0.0:绑定的服务主机IP,一般设置本ES实例所在的主机IP
http.port: 9200:绑定的服务端口,默认为ES的9200
cluster.initialmasternodes: ["node-1"] :集群初始化主机节点,可以配置多个node名称,这里只用一个作为主机节点
4)修改上述文件后,重新回到/bin目录下启动,会发现还是会报错无法启动
为什么还会报如下一堆错误呢?因为在单机模式下ES是不会检查过多集群项的,但是一旦在elasticsearch.yml中配置了集群属性,那么ES就会认为是要在生产环境运行的,于是就会自动检查其它生产环境运行下的属性,如果ES认为原配置不足以支持生产环境则会报出错误让用户修改。
报错点1: vm最大虚拟内存,maxmapcount[65530]太低,至少增加到[262144]
ERROR: [1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
解决方式是修改sysctl.conf添加下面配置并重新生效:vim /etc/sysctl.conf
vm.max_map_count=655360
sysctl -p 使配置生效
报错点2:最大文件描述符[4096]对于elasticsearch进程可能太低,至少增加到[65536]
descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决方式是在limits.conf文件末尾添加配置:vim /etc/security/limits.conf
soft nofile 65536
hard nofile 131072
soft nproc 2048
hard nproc 4096
报错点3(如果没有报该错误则不用修改):用户的最大线程数[2048]过低,增加到至少[4096]
max number of threads [2048] for user [tongtech] is too low, increase to at least [4096]
解决方式是在90-nproc.conf文件添加配置:vim /etc/security/limits.d/90-nproc.conf
soft nproc 4096
4)修改完毕后再次切换回test1用户,以非静默方式(./elasticsearch)或 后台静默方式(./elasticsearch -d)重新启动ES,可以看到正常启动了。
在外部浏览器访问192.168.0.103:9200即可接收到ES的响应信息,就意味着ES服务已经搭建完成,这里只使用了node-1节点,实际上通过修改elasticsearch.yml以及添加机器和配置是可以实现集群部署的。
如果后台静默启动出现报错或想关闭ES进程,使用命令kill杀掉服务器的ES进程即可。
1.查找ES进程
ps -ef | grep elastic
2.杀掉ES进程
kill -9 进程号
3.重启ES
sh elasticsearch -d
如果上述操作还是无法访问,可能是因为防火墙配置的问题导致,可以关闭防火墙测试,生产环境可以考虑防火墙设置访问链路而非关闭防火墙。
注意:注意开放端口或者关闭防火墙(centos7)
查询防火墙状态:firewall-cmd --state
关闭防火墙:systemctl stop firewalld.service
开启防火墙: systemctl start firewalld.service
禁止firewall开机启动:systemctl disable firewalld.service
三.安装kibana,可以通过Restful风格向ES发送指令和接收返回数据,kibana还有自动提示补全指令的功能
1.解压: tar -zxvf kibana-7.3.2-linux-x86_64.tar.gz
3.修改配置: vim kibana-7.3.2-linux-x86_64/config/kibana.yml
server.port: 5601 #kibana服务端口
server.host: 192.168.0.103 #kibana服务IP
elasticsearch.hosts:["192.168.0.103:9200"] #kibana启动连接ES地址(生产环境下修改为生产环境地址)
i18n.locale: "zh-CN" #kibana界面中文
4.使用root用户强制启动:cd kibana-7.3.2-linux-x86_64/bin
./kibana --allow-root
6.访问kibana:在外部浏览器访问192.168.0.103:5601即可打开kibana图形操作界面,选择“开发工具”图标即可:
如果也想通过图形界面的方式查看ES的运行情况,可以继续安装Elasticsearch-head工具。
四.安装Elasticsearch-head插件
由于elasticsearch-head插件是基于nodeJs编写的插件,因此运行需要node环境,如果linux环境没有该环境,则可先在/opt目录下进行node环境安装。
下载tar包: wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.xz
解压: tar xvf node-v6.10.2-linux-x64.tar.xz
修改配置文件:vim /etc/profile
export NODE_HOME=/opt/
node-v6.10.2-linux-x64
export PATH=$PATH:$NODE_HOME/bin
export NODE_PATH=$NODE_HOME/lib/node_modules
配置生效:source /etc/profile
回到elasticsearch-head-master目录执行安装插件:cd elasticsearch-head-master/ npm install
修改elasticsearch-head目录中的Gruntfile.js文件,修改服务监听地址(增加hostname属性,将其值设置为'0.0.0.0’):
vim Gruntfile.js #92行添加:hostname:'0.0.0.0'
修改elasticsearch/config目录下的elasticsearch.yml,增加跨域的配置(需要重启es才能生效):
vim /etc/elasticsearch/elasticsearch.yml
加入配置:
http.cors.enabled: true
http.cors.allow-origin: "*"
安装好之后就可以重启elasticsearch服务 cd /opt/elasticsearch-7.3.2/bin sh ./elasticsearch -d
启动head插件服务cd /opt/elasticsearch-head-master npm run start,可以在浏览器使用 192.168.0.103:9100访问
后面文章,将介绍该图形化界面的功能以及Elasticsearch的基本API使用等相关知识点。
Elasticsearch7.3.2+Kibana7.3.2+Ubantu16安装教程相关推荐
- Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建
Centos7+Elasticsearch7.4.2+Kibana+IK分词+ElasticHD 安装配置以及集群搭建 1. elasticSearch 7.4.2 安装 1.1 关于jdk 1.2 ...
- ES(Elasticsearch)7.6.1安装教程
Es(elasticsearch)7.6.1安装教程 注意:除了最后启动ES的时候在es账户下执行,其他都是在root 下执行的.相关文件的下载,我这里都有,百度网盘链接:https://pan.ba ...
- kibana安装教程
kibana介绍 Kibana是一个开源的分析和可视化平台,设计用于和Elasticsearch一起工作. 你用Kibana来搜索,查看,并和存储在Elasticsearch索引中的数据进行交互. 你 ...
- 【网站汇总】安装教程系列
目录 1.Anaconda 2.Pytorch 3.Tensorflow 4.LaTeX 5.博客搭建 1.Anaconda [CV]Anaconda 安装教程_Fannnnf的博客-CSDN博客 2 ...
- oracle 11g完全安装教程(CentOS)
oracle下载链接:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html oracle ...
- vs安装一直在提取文件_Visual Studio 2019下载及安装教程
宸1分钟前 这可是我珍藏多年的资源啊. Visual Studio 2019 Microsoft Visual Studio(简称VS)是美国微软公司的开发工具包系列产品.是目前最流行的Windows ...
- 这套完美的Java环境安装教程,完整,详细,清晰可观,让你一目了然,简单易懂。⊙﹏⊙...
JDK下载与安装教程 2017年06月18日 22:53:16 Danishlyy1995 阅读数:349980 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csd ...
- iOS7系统iLEX RAT冬青鼠安装教程:无需刷机还原纯净越狱系统
全网科技 温馨提醒:iLEX RAT和Semi-Restore的作用都是让你的已越狱的设备恢复至越狱的初始状态. 可是要注意无论你是用iLexRAT冬青鼠还是Semi-restore.对于还原来说都存 ...
- TensorFlow2.0 系列开篇: Windows下GPU版本详细安装教程
点击上方"Datawhale",选择"星标"公众号 第一时间获取价值内容 [导读]今年三月谷歌在TensorFlow开发者峰会上宣布TensorFlow 2.0 ...
最新文章
- 10丨 Redis主从同步与故障切换,有哪些坑
- 非一致性访存系统_Hibernate事实:访存策略的重要性
- webRTC实战总结
- jQuery中的on 和事件委派
- 漫谈高数曲线积分的物理意义
- 作业 输出演练 1751
- 商汤校招 | 春笋计划”
- html 显示原始文本,Json显示为HTML文本 - 不是原始格式
- 前端怎样让图片缩小像素值不失真_纹理优化:不仅仅是一张图片那么简单
- 中职“网络班级”中家校沟通模块的应用实践
- CAD绘图的规范要点
- 区块链技术DIY--xmz
- 数组旋转(上下对称,主对角线对称)
- H750移植rt_thread操作系统完整工程分享,包括外部FLASH分散加载文件
- weblogic相关问题
- 顾大嫂贴肉藏了尖刀 水浒传
- 开源代码01:眼力大挑战
- Kafka Shell Lag
- r语言 C4.5 剪枝是用什么算法_推荐收藏 | 决策树,逻辑回归,PCA算法面经
- 毕业设计-基于微信小程序的装修服务系统
热门文章
- EMS 项目练习(Employee Manager System 员工管理系统)
- [MySQL数据库]-基础多表练习题---员工工资
- 猜猜画画 Pictionary 游戏规则
- application.yml中定义数组的两种方式
- WEB安全漏洞(1)
- micropython教程下载_python教程之让micro:bit讲话
- 英雄联盟MSI季中赛第四局,UZI卡莎再次天秀,RNG3:1夺冠
- 微信小程序获取当前位置和城市名
- linux下登陆FTP
- php hiphop mysql_HipHop PHP实战(详解web运行模式)