ES
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。
使用场景
1、 为用户提供按关键字查询的全文搜索功能。
2、 实现企业海量数据的处理分析的解决方案。大数据领域的重要一份子,如著名的ELK框架(ElasticSearch,Logstash,Kibana)。
对比
安装
Elasticsearch官网: https://www.elastic.co/products/elasticsearch
https://www.elastic.co/cn/downloads/past-releases/elasticsearch-6-6-0
上传解压
修改Linux
默认elasticsearch是单机访问模式,就是只能自己访问自己。
但是我们之后一定会设置成允许应用服务器通过网络方式访问。这时,elasticsearch就会因为嫌弃单机版的低端默认配置而报错,甚至无法启动。
所以我们在这里就要把服务器的一些限制打开,能支持更多并发。
几台节点都要更改这三个配置
教学环境启动优化
ES是用在Java虚拟机中运行的,虚拟机默认启动占用2G内存。但是如果是装在PC机学习用,实际用不了2个G。所以可以改小一点内存。
vim /opt/module/elasticsearch-6.6.0/config/jvm.options
2g修改为256m
修改配置文件
修改yml配置的注意事项:
- 每行必须顶格,不能有空格
- “:”后面必须有一个空格
vim /opt/module/elasticsearch-6.6.0/config/elasticsearch.yml
集群名称,同一集群名称必须相同:
单个节点名称 :
网络部分 改为当前的ip地址 ,端口号保持默认9200就行:
把bootstrap自检程序关掉:
端口号打开:
自发现配置:新节点向集群报到的主机名:
避免脑裂:设置最少得集群数量,留住多数,干掉少数
重启Linux
安装kibana
上传解压
更改配置:再kibana得confif目录下文件:server.host 四个0表示不限制谁访问
vim kibana.yml
编写脚本
// 启动es
/opt/module/elasticsearch-6.6.0/bin/elasticsearch
// 启动kibana
/opt/module/kibana-6.6.0-linux-x86_64/bin/kibana
脚本:
#!/bin/bash
# 启动es和kibana
es_home=/opt/module/elasticsearch-6.6.0
kibana_home=/opt/module/kibana-6.6.0-linux-x86_64
case $1 in
"start") {
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "source /etc/profile;${es_home}/bin/elasticsearch >/dev/null 2>&1 &"
done
nohup ${kibana_home}/bin/kibana >kibana.log 2>&1 &
};;
"stop") {
ps -ef|grep ${kibana_home} |grep -v grep|awk '{print $2}'|xargs kill
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "ps -ef|grep $es_home |grep -v grep|awk '{print \$2}'|xargs kill" >/dev/null 2>&1
done
};;
esac
查看结果
访问网页
hadoop:5061