
产生背景:海量数据,创建索引,组合条件查询,方便查询
ES:基于lucene的搜索服务器,它提供了一个分布式多用户的全文搜索引擎,基于RESTful web 接口。ES是用java开发的,官网:www.elastic.co
lucene定义:是一个开源的全文检索引擎工具包,但不是完整的,而是一个全文检索引擎架构,提供了完整的查询引擎,索引引擎和部分文本引擎。官网:lucene.apache.org
Solr VS ES
| Solr | ES | |
|---|---|---|
| 优点 | 有一个更大更成熟的用户开发和贡献者社区 | 分布式:节点对外表现对等,加入节点自动均衡 |
| 支持多种数据结构的索引,比如JSON,XML,CSV | ES完全支持apache lucene的接近实时的搜索 | |
| 发展比较成熟,稳定 | 处理多租户不需要特殊配置,而solr需要更多的高级设置 | |
| 搜索海量历史数据,速度非常快,毫秒级返回数据 | 采用gateway的概念,使数据持久化更加简单 | |
| 各节点组成对等的网络结构,某个节点出现故障时会自动分配其他节点代替其工作 | ||
| 缺点 | solr建立索引时,搜索效率下降,实时索引效率不高 | 更改数据格式比较麻烦 |
1:安装JDK
yum list all | grep java #看是否有java的包,有就直接装,一定要大于1.8版本 yum install -y java
find / -name java #找到java位置 ln -s /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.302.b08-0.el7_9.x86_64 /usr/lib/java #添加软连接
更改环境变量
echo "JAVA_HOME=/usr/lib/java" >>~/.bashrc echo "CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar" >>~/.bashrc echo "PATH=$JAVA_HOME/bin:$PATH" >>~/.bashrc source ~/.bashrc #重读配置文件 java -version #查看版本大于1.8的才可以
2:官网下载安装包
下载的安装tar包存放到/opt
cd /opt tar -xzvf elasticsearch-7.15.1-linux-x86_64.tar.gz #解压 useradd es #创建用户管理elasticsearch,不能用root启动,会报错 chown -R es.es elasticsearch-7.15.1 ln -s /opt/elasticsearch-7.15.1 /etc/elasticsearch #添加软连接 cd /etc/elasticsearch/config
vim elasticsearch.yml #更改默认配置文件 network.host=你的IP添加到systemd
cat > /usr/lib/systemd/system/elasticsearch.service <<-'EOF' [Unit] Description=elasticsearch.service [Service] User=es ExecStart=/etc/elasticsearch/bin/elasticsearch elasticsearch--config.file=/etc/elasticsearch/config/elasticsearch.yml Restart=on-failure [Install] WantedBy=multi-user.target EOF
chmod u+w /etc/sudoers vim /etc/sudoers es ALL=(ALL) ALL #添加sudo权限
su es #切换到用户es sudo systemctl daemon-reload #加载服务 sudo systemctl start elasticsearch #开启服务
访问:http://你的IP:9200
head插件Logstash 日志的采集、分析、过滤日志的工具 构建ELK日志分析平台 kibana是一个H5编写的ES集群操作和管理工具
显示集群的拓扑,并且能够执行索引和节点级别的操作
搜索接口能够查询集群种原始json或表格格式的检索数据
能够快速访问并显示集群的状态
有一个输入窗口,允许任意调用RESTfulAPI