Elasticsearch使用系列-ES简介和环境搭建
一、简介
Elasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr,也是基于Lucene。
能解决问题:全文索引,大数据量秒查询,PB级别数据搜索,毫秒级响应,支持结构化查询,完整api接口,自动备份,集群稳定,扩容方便
使用场景示例:商城,文章类网站,单表数据量太大,日志系统储存,报表统计查询慢。
二、Windows搭建ES
1.安装java jdk,安装java11以上。
下载地址:https://www.oracle.com/java/technologies/downloads。
下载后直接双击安装,不需要配环境变量。
2.下载ES,官网:https://www.elastic.co/cn/downloads/elasticsearch
如果要下载前面的版本,这个地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch
现在下载的是当前7.x的最新版本7.16.3
下载完解压后进入到config目录的jvm.options,修改配置,把默认的4g改成512m,这里是本地测试使用不需要这么高内存。
Xmx:能够使用的最大内存数。
Xms:用来设置程序初始化的时候内存栈的大小。
修改config目录下的elasticsearch.yml文件。
network.host填上自己的ip,如果不改,只能用localhost和127.0.0.1访问ES,也可以填0.0.0.0,这样暴露全部的网络地址都可以访问。
然后回到bin目录,双击elasticsearch.bat启动。
启动成功后,浏览器输入 http://ip:9200看是否成功,如果出现下面就是搭建成功了。
三、Linux搭建ES
这里用的是CentOS7.9
1.安装 java jdk
官网: https://www.oracle.com/java/technologies/downloads/
这里用rpm包的方式安装,下载下来上传到Linux服务器,或直接在linux服务器下载,这里选择后者。
先建一个文件夹存放es文件,这里的目录为/home/es
#创建es目录
mkdir /home/es
#进入es目录
cd /home/es
下载es的rpm和安装
#下载elasticsearch rpm包文件
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.rpm
#授权限
chmod +x jdk-17_linux-x64_bin.rpm#安装
rpm -ivh jdk-17_linux-x64_bin.rpm
安装完成,查看java版本
java -version
到这里java sdk安装完成了,上面的rpm文件也可以删除了。
2.调高jvm线程数限制,不然启动es会报错
#修改sysctl.conf
vi /etc/sysctl.conf #修改max_map_count调大,如果没有这个设置,则新增一行
vm.max_map_count=262144 #改完保存后, 执行下面命令让sysctl.conf文件生效
sysctl -p
3.修改limits.conf文件
不然启动时会报这个错误: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
#修改文件
vi /etc/security/limits.conf
在后面增加这两行,如果有就不用了:
* soft nofile 65536
* hard nofile 65536
修改完文件后在使用命令修改一遍
ulimit -n 65536
4.下载ES
官网:https://www.elastic.co/cn/downloads/elasticsearch
下载上传到linux服务器,或直接在linux服务器下载,这里选择后者。
#下载es压缩包
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.16.3-linux-x86_64.tar.gz
#解压
tar -zxvf elasticsearch-7.16.3-linux-x86_64.tar.gz
解压完后的文件夹 elasticsearch-7.16.3
进入解压的目录看一下结构
5.修改配置文件 elasticsearch.yml
#修改配置文件
vi config/elasticsearch.yml
6.创建一个普通用户
因为es默认不能通过root用户启动,所以需要建一个普通用户
#创建一个名为elastic的用户
adduser elastic
#修改用户elastic的密码
passwd elastic
把/home/es 目录下的权限给elastic用户
#给es用户迭代权限
chgrp -R elastic /home/es
chown -R elastic /home/es
#把es目录权限变为可读可执行
chmod 777 /home/es
切换为elastic 用户
#把当前登录用户切换为elastic用户
su elastic
从root用户变成了elastic用户
7.启动es
#进入es文件目录
cd elasticsearch-7.16.3
#启动es -d表示后台启动
bin/elasticsearch -d
看到这个界面就是安装成功啦!如果局域网访问不到,看防火墙是否没关。
四、Docker搭建ES
1.先安装docker环境
参考:https://www.cnblogs.com/wei325/p/15139701.html
2.新建elasticsearch.yml配置文件
新建elasticsearch.yml配置文件并上传到主机目录用于配置文件挂载,方便后面修改,这里上传到/home/es目录。
具体有什么其它配置可以参考前面两种安装方式里面的elasticsearch.yml文件,是一样的。
http.host: 0.0.0.0
#跨域
http.cors.enabled: true
http.cors.allow-origin: "*"
位置如下:
3.docker 拉取es镜像
#拉取镜像,指定版本号
docker pull elasticsearch:7.16.3
4.把镜像启动为容器
docker run -d -p 9200:9200 -p 9300:9300 --name es -e ES_JAVA_OPTS="-Xms128m -Xmx256m" -v /home/es/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml elasticsearch:7.16.3
#9200是对外端口,9300是es内部通信端口
#-e ES_JAVA_OPTS="-Xms128m -Xmx256m" Xms初始化时内存栈大小,Xms程序限制占用内存
#-v 把配置文件挂载到es的docker里的配置文件
查看启动的容器
搭建完成,浏览器打开 http://ip:9200看到下面的界面就搭建成功了。
Elasticsearch使用系列-ES简介和环境搭建的更多相关文章
- Elasticsearch使用系列-ES增删查改基本操作+ik分词
Elasticsearch使用系列-ES简介和环境搭建 Elasticsearch使用系列-ES增删查改基本操作+ik分词 一.安装可视化工具Kibana ES是一个NoSql数据库应用.和其他数据库 ...
- Redis入门很简单之一【简介与环境搭建】
Redis入门很简单之一[简介与环境搭建] 博客分类: NoSQL/Redis/MongoDB redisnosqlmemcached缓存中间件 [Redis简介] <一>. NoSQL ...
- 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)
引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...
- 简介及环境搭建跑通Hello
简介及环境搭建跑通Hello Spring Spring是一个开放源代码的设计层面框架,他解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用.是为了解决企业应用程序开 ...
- Mybatis系列全解(二):Mybatis简介与环境搭建
封面:洛小汐 作者:潘潘 Mybatis 是一套持久层框架,灵活易用,特别流行. 前言 Mybatis系列全解,我们预计准备10+篇文章,让我们了解到 Mybatis 的基本全貌,真正从入门到上手,从 ...
- ELK(elasticsearch+kibana+logstash)搜索引擎(一): 环境搭建
1.ELK简介 这里简单介绍一下elk架构中的各个组件,关于elk的详细介绍的请自行百度 Elasticsearch是个开源分布式搜索引擎,是整个ELK架构的核心 Logstash可以对数据进行收集. ...
- 1.SpringMVC的简介和环境搭建
SpringMVC的简介: SpringMVC 和 Struts一样是一个MVC框架,和Spring无缝连接,和struts2类似, Spring MVC属于SpringFrameWork的后续产品, ...
- [Android系列—] 1. Android 开发环境搭建与Hello World
前言 開始之前先熟悉几个名词: SDK -- Software Development Kit, 软件开发工具包.这个词并不陌生, JDK,就是Jave Development Kit,相同对于And ...
- 大数据学习系列之六 ----- Hadoop+Spark环境搭建
引言 在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解 : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合 ...
随机推荐
- /etc/resolv.conf文件中的search项作用;如何保持resolv.conf文件内容不被修改
/etc/resolv.conf文件中的search项作用 resolv.conf文件中有search项时,主机名解析规则顺序: DNS配置文件如下: # cat /etc/resolv.conf ; ...
- redis查看redis 客户端状态
查看redis客户端连接 redis-cli info clients # Clients connected_clients:6000 client_longest_output_list:0 cl ...
- 【LeetCode】108. Convert Sorted Array to Binary Search Tree 解题报告 (Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 Java解法 Python解法 日期 题目地址:ht ...
- 【LeetCode】622. Design Circular Queue 解题报告(Python & C++)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 用直的代替弯的 数组循环利用 日期 题目地址:htt ...
- 【剑指Offer】从上往下打印二叉树 解题报告(Python)
[剑指Offer]从上往下打印二叉树 解题报告(Python) 标签(空格分隔): 剑指Offer 题目地址:https://www.nowcoder.com/ta/coding-interviews ...
- netty系列之:从零到壹,搭建一个SOCKS代理服务器
目录 简介 使用SSH搭建SOCKS服务器 使用netty搭建SOCKS服务器 encoder和decoder 建立连接 ConnectHandler 总结 简介 上一篇文章,我们讲到了netty对S ...
- RabbitMQ学习笔记二:Java实现RabbitMQ
本地安装好RabbitMQ Server后,就可以在Java语言中使用RabbitMQ了. RabbitMQ是一个消息代理,从"生产者"接收消息并传递消息至"消费者&qu ...
- Chapter 6 Graphical Representation of Causal Effects
目录 6.1 Causal diagrams 6.2 Causal diagrams and marginal independence 6.3 Causal diagrams and conditi ...
- Elasticsearch(二)--集群原理及优化
一.ES原理 1.索引结构ES是面向文档的 各种文本内容以文档的形式存储到ES中,文档可以是一封邮件.一条日志,或者一个网页的内容.一般使用 JSON 作为文档的序列化格式,文档可以有很多字段,在创建 ...
- Android物联网应用程序开发(智慧城市)—— 火焰监控界面开发
效果: 布局代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns: ...