Elasticsearch使用系列-ES简介和环境搭建


Elasticsearch使用系列-ES简介和环境搭建

Elasticsearch使用系列-ES增删查改基本操作+ik分词

一、简介

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看到下面的界面就搭建成功了。

 

版权声明:本文为YES开发框架网发布内容,转载请附上原文出处连接
管理员
上一篇:【UWP】开发小技巧――判断类是否存在
下一篇:手把手教你学Dapr - 9. 可观测性
评论列表

发表评论

评论内容
昵称:
验证码:
验证码
关联文章

Elasticsearch使用系列-ES简介环境
Elasticsearch使用系列-ES增删查改基本操作+ik分词
RabbitMQ服务器环境方法(Windows)
使用node启动本地项目,本地服务器
阿里云服务器使用xlightftp服务器
YESWEB开发环境
C# WPF MVVM模式Prism框架从零(经典)
(五)React Ant Design Pro + .Net5 WebApi:后端环境-Autofac注入+ 泛型仓储
阿里云FTP服务器访问报错 200,227错误
ASP.NET+MVC入门踩坑笔记 (一) 创建项目 项目配置运行 以及简单的Api
YESWin winform开发框架 开发环境指南
腾讯云服务器OpenVPN Service
yesweb-libs安装简介
使用nuget-server私有Nuget包服务器后,nginx反向代理无法下载包
C# Abp框架入门系列文章(一)
OrchardCore Headless
使用 WPF 做个 PowerPoint 系列 基于 OpenXML 解析实现 PPT 文本描边效果
mysql服务器端运行环境要求
YESWinform 简介
vue vue-clie多环境配置

热门标签
.NET Core .NET Reactor ag-grid AI发布 api安全 ASP.NET Core C#DLL加密 C#播放声音 C#代码混淆 C#代码加密 ChromeDriver Codex DateTime DBeaver devexpress devTool DLL混淆 edge.js EF EFCore Electron element-ui el-form el-table excel FastReport FileStream FolderBrowerDialog FolderSelectDialog form提交 git gridcontrol gridview input javascript json字符串 JS转换对象JSON jwt JWT授权 linq log Math MCP mitmproxy MVC MySQL Navicat netstat nginx node_modules NSwag Nuget Nuget镜像 number PowerShell pyinstaller python pythoncom python爬虫 python抓包 pywin32 redis Requests-html RestSharp Selenium sql SQL Server Swagger to-cms Visual Studio VSCode vue VueRouter vue路由 VUE页面通讯 Webpack Windows Windows服务 winform wmi xlrd yaml YESCMS YESWEB开发框架 白象 表单提交 播放声音 打开URL 代码混淆 弹窗提醒 端口占用 对象转换 分布式 公共字典 机器码 进程排查 静态资源 开发指南 路由参数 密钥 配置教程 配置文件 权限 人工智能 任务 任务调度 日期间隔 日志 日志记录 省市区 授权验证 数据库 四舍五入 文案 文件读取 文件夹选择 文件目录选择 问题排查 行政区域数据 页面通讯 中间件 CSharp 事务锁 工单系统 并发控制 重复提交 CMS Markdig Markdown markdown-it marked 技术选型 VS Code 开发工具 源代码管理 版本控制 Docker PostgreSQL 时区 部署排查 CMS架构 EF Core 主题系统 二次开发 插件系统 容器 运维命令 镜像清理 Linux NAS 远程挂载 飞牛 fnOS
联系我们
联系电话:15090125178(微信同号)
电子邮箱:garson_zhang@163.com
站长微信二维码
微信二维码