李林超博客
首页
归档
留言
友链
动态
关于
归档
留言
友链
动态
关于
首页
Java
正文
windows环境下elasticsearch安装教程
Leefs
2021-02-09 AM
1819℃
0条
# 03.windows环境下elasticsearch安装教程 ### 一、安装JDK ElasticSearch是基于lucence开发的,也就是运行需要java jdk支持。所以要先安装JAVA环境。 由于ElasticSearch 5.x 往后依赖于JDK 1.8的,所以现在我们下载JDK 1.8或者更高版本。 下载JDK1.8,下载完成后安装。 ### 二、ElasticSearch 1. ElasticSearch下载地址:https://www.elastic.co/downloads/elasticsearch 2. 下载安装包后解压 ![03.windows环境下elasticsearch安装教程01.jpg](https://lilinchao.com/usr/uploads/2021/02/2469090760.jpg) 3. 进入bin目录下,双击执行elasticsearch.bat ![03.windows环境下elasticsearch安装教程02.jpg](https://lilinchao.com/usr/uploads/2021/02/988967379.jpg) ![03.windows环境下elasticsearch安装教程03.jpg](https://lilinchao.com/usr/uploads/2021/02/760380213.jpg) 4. 看到started说明启动成功,打开浏览器测试一下 浏览器输入连接:http://127.0.0.1:9200/ ![03.windows环境下elasticsearch安装教程04.jpg](https://lilinchao.com/usr/uploads/2021/02/4000069975.jpg) ### 三、安装ElasticSearch-head插件 1、安装Node环境 网址:https://nodejs.org/en/download/ 下载Windows版msi的,下载完直接安装,一直确定 安装完后cmd查看版本 > node -v ![03.windows环境下elasticsearch安装教程05.jpg](https://lilinchao.com/usr/uploads/2021/02/1797464712.jpg) 2、安装grunt grunt是一个很方便的构建工具,可以进行打包压缩、测试、执行等等的工作,5.x里之后的head插件就是通过grunt启动的。因此需要安装grunt. > npm install -g grunt-cli 查看版本号 > grunt -version ![03.windows环境下elasticsearch安装教程06.jpg](https://lilinchao.com/usr/uploads/2021/02/1672265042.jpg) 3、下载head插件 1. 网址:https://github.com/mobz/elasticsearch-head下载安装包 2. 解压 ![03.windows环境下elasticsearch安装教程07.jpg](https://lilinchao.com/usr/uploads/2021/02/1341806815.jpg) 3. 进入head文件夹下,执行命令: > npm install 此处是为安装进行安装pathomjs 如果安装速度慢,设置成淘宝的镜像重新安装 > npm config set registry https://registry.npm.taobao.org/ 4. 安装完成之后npm run start或grunt server,启动head插件 ![03.windows环境下elasticsearch安装教程08.jpg](https://lilinchao.com/usr/uploads/2021/02/3032411518.jpg) 5. 修改ES使用的参数,解决跨域问题 编辑D:\Tools\ELK\elasticsearch-7.6.1\config\elasticsearch.yml文件 ```yml # 增加新的参数,这样head插件可以访问es http.cors.enabled: true http.cors.allow-origin: "*" @注意,设置参数的时候:后面要有空格! ``` ![03.windows环境下elasticsearch安装教程09.jpg](https://lilinchao.com/usr/uploads/2021/02/3456137968.jpg) ![03.windows环境下elasticsearch安装教程10.png](https://lilinchao.com/usr/uploads/2021/02/1517417689.png) 6. 修改完配置将es重启,浏览器访问 http://localhost:9100 ![03.windows环境下elasticsearch安装教程11.jpg](https://lilinchao.com/usr/uploads/2021/02/2850838007.jpg) ### 四、ElasticSearch安装为Windows服务 1.elasticsearch的bin目录下有一个elasticsearch-service.bat 2.cmd 进入bin目录下执行: elasticsearch-service.bat install 3.在任务管理器中查询ES是否已经运行 ```yml elasticsearch-service.bat后面还可以执行这些命令 install: 安装Elasticsearch服务 remove: 删除已安装的Elasticsearch服务(如果启动则停止服务) start: 启动Elasticsearch服务(如果已安装) stop: 停止服务(如果启动) manager:启动GUI来管理已安装的服务 ``` ### 五、ElasticSearch的目录结构 ![03.windows环境下elasticsearch安装教程12.jpg](https://lilinchao.com/usr/uploads/2021/02/2821110846.jpg) **bin目录** > + **elasticsearch**:Elasticsearch的启动命令,Linux下加”-d”参数以服务的形式后台运行。 > + **elasticsearch-certutil**:用于生成与Elastic Stack一起使用的证书 > + **elasticsearch-migrate:**用于将基于文件的用户和角色,迁移到native realm > + **elasticsearch-node:**该命令可以在当前节点关闭的时候,在该节点执行某些不安全的操作, 此命令可以用于调整当前节点在集群中的角色,并且可以在灾难发生后用于恢复某些数据。 > + **elasticsearch-saml-metadata:**该命令用于生成SAML 2.0服务提供者(SP)元数据文件。 > + **elasticsearch-setup-passwords:**用于给x-pack内置用户(如elastic、kibana、logstash_system、beats_system等)设置密码,此命令仅在初始配置Elasticsearch安全功能期间使用。 > + **elasticsearch-shard:**该命令用于在Lucene索引或translog的分片拷贝发生损坏、且无法自动恢复分片时,用于删除分片的损坏部分,然后恢复对未受影响的段中任何剩余数据的访问,使用该命令前必须停止Elasticsearch。 > + **elasticsearch-syskeygen:**该命令用于在elasticsearch配置目录中创建系统密钥文件,可以使用生成的系统密钥文件对敏感数据进行对称加密。 > + **elasticsearch-users:**该命令用于管理基于文件的用户身份验证,它可以添加和删除用户、分配用户角色以及管理密码。 **config目录** > 配置文件的存放目录,包括elasticsearch.yml和jvm.options等关键配置文件。 **data目录** > 默认的数据存放目录(注:该目录默认不存在,当Elasticsearch通过默认的配置参数启后,该目录才会被创建)。 **jdk目录** > 存放的是适合当前Elasticsearch版本的jdk,避免用户使用不兼容的JDK版本或者单独下载JDK,真正做到解压缩后就可以使用,不过也增加了下载包体的大小,达到了325M,该目录在7.x中才引入。 **lib目录** > 引用的相关库的存放目录,elasticsearch.jar本身也放于该目录。 **logs目录** > 默认的日志存放目录。 **modules目录** > 功能模块的存放目录,如aggs、reindex、geoip、xpack、eval **plugins目录** 插件是Elasticsearch中非常重要的模块,让Elasticsearch的功能可以灵活定制,更方便使用, 每个插件都将包含在一个子目录中,默认不包含任何插件,用户自己的情况进行下载,插件的下载方式,通过命令: > bin/elasticsearch-plugin install [plugin_name] Elasticsearch分类以下几大类: > + **API扩展插件:**API扩展插件通过添加新的API或功能,扩展Elasticsearch的搜索或映射等功能; > > + **告警插件:**告警插件提供了索引监视功能,并在警报阈值时触发警报; > > + **分析插件:**分析插件提供新的字段分析器(Analyzers)、分词器(tokenizer)、分词过滤器(token filters)或字符过滤器来扩展Elasticsearch的功能; > + **发现插件:**插件提供了对Amazon EC2、Microsoft Azure Classic、GCE(Google Compute Engine)和Kubernate的搭建了搜索服务的节点的发现功能; > + **数据预处理插件:**提供从附件(如PPT、XLS和PDT)中抽取数据、GeoIP信息处理、用户客户端信息提取等; > + **管理功能插件:**插件提供了对Elasticsearch执行管理的功能或者交互功能的UI,如X-PACK; > + **映射插件:**映射插件允许向Elasticsearch增加新的字段数据类型,如mapper-size插件提供_size元字段,当启用该字段时,索引原始_source字段的字节大小; > + **安全插件:**为Elasticsearch增加了一层安全层,可以轻松地为其弹性堆栈添加企业级安全性,让Elasticsearch更加安全; > + **数据快照或数据还原插件:**用于支持将数据存放到云存储或者分布式文件系统中,或者从云存储或者分布式文件系统进行数据恢复,支持包持Amazon S3、Microsoft Azure、HDFS、Google云存储以及Openstack等 > + **存储插件:**提供了除基于Lucene默认存储的额外存储方式的更多选择; ### 六、核心配置文件介绍 **config/elasticsearch.yml** 该文件是Elasticsearch的核心配置文件,里面涉及到集群名称、节点名称、日志存放路径、数据存放路径、所使用的IP地址和端口号、master节点、是否允许跨域访问等。 ```yml # ======================== Elasticsearch Configuration ========================= # 注:Elasticsearch使用很多合理的默认配置,该配置文件只列出了集群及当前节点配置需要调整的参数 # # 更多的配置选项参看: # https://www.elastic.co/guide/en/elasticsearch/reference/index.html # # ------------------------ Cluster(集群) ------------------------- # 集群名称配置,默认是elasticsearch # cluster.name: my-application # # -------------------------- Node(节点) -------------------------- # 配置节点名称,默认为随机名称 # node.name: node-1 # # 当前节点的自定属性: # node.rack: r1 # # ------------------------- Paths(路径) -------------------------- # 指定es的数据存储目录,默认为$es_home/data目录 # path.data: /path/to/data # # 指定es的日志存储目录,默认为$es_home/logs目录 # path.logs: /path/to/logs # # ------------------------- Memory(内存) ------------------------- # # 锁定物理内存地址,防止es的内存被交换出去,避免使用swap交换分区,因为当系统进行内存交换的时候, # es的性能表现会很差。当network.host配置为非127.0.0.1时,需要在Linux的/etc/security/limits.conf增 # 加允许应用对内存锁定的配置: # * soft memlock unlimited # * hard memlock unlimited # bootstrap.memory_lock: true # # 确保ES_HEAP_SIZE参数设置为系统可用内存的一半左右,且执行ES进程的用户具有使用这些内存的权限 # # ------------------------ Network(网络) ------------------------- # # 为es设置绑定的ip,默认是127.0.0.1,设置为0.0.0.0允许绑定到该服务器的所有IP地址都可以访问 # network.host: 192.168.0.1 # # 为es设置监听端口,默认是9200,transport.tcp.port的值为http.port加上100 # http.port: 9200 # # 更多关于网络的配置,参看: #
# # ------------------------ Discovery(发现) ------------------------ # # 初使服务器列表,当此节点时启动时会执行发现动作,如需要配置端口,则需要配置transport.tcp.port的值 # 默认列表为 ["127.0.0.1", "[::1]"] # #discovery.seed_hosts: ["host1", "host2"] # # 用于在集群启动时,选择master节点的节点,该值在network.host的值不为127.0.0.1时,且只有一个节点时,其值必须要填写: # #cluster.initial_master_nodes: ["node-1", "node-2"] # # ------------------------ Gateway(网关) ------------------------- # # 设置集群中需要指定个节点启动后,才进行数据恢复处理,其默认值是1 # gateway.recover_after_nodes: 3 # # 更多信息: #
# # ------------------------ Various ------------------------- # # 设置是否允许删除多个索引库,默认true表示必须需要显式指定索引库名称 # action.destructive_requires_name: true ``` **config/jvm.options** 配置Elasticsearch使用的JVM参数,如堆的大小、单个线程的大小、所使用的垃圾收集的方式、是否开启JMX、GC日志的收集等。 ```yml ## JVM配置 ################################################################ ## 重要: JVM堆大小 ################################################################ ## ## 为了使Elasticsearch避免频繁的发生Full GC,最大堆和最小堆的值,, ## 要设置为一样,如下设置为4G。Xms表示初使化堆的大小,Xms表示最大 ## 的大小 ## -Xms4g ## -Xmx4g ## 更多参看: ## https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html ## ################################################################ # 堆的默认值为1G -Xms1g -Xmx1g ################################################################ ## 专业人员设置 ################################################################ ## ## 以下是JVM垃圾回收相关的设置,建意不懂JVM垃圾回收的人员不要随意 ## 修改配置 ## ################################################################ ## 垃圾回收配置 -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly ## 垃圾回收G1GC策略的配置,仅在JDK10及以上的版本支持 # 使用G1GC策略,将以下行的注释去掉 # 10-:-XX:-UseConcMarkSweepGC # 10-:-XX:-UseCMSInitiatingOccupancyOnly # 10-:-XX:+UseG1GC # 10-:-XX:InitiatingHeapOccupancyPercent=75 # 显式设置每个线程堆栈的大小 -Xss1m ## heap dumps # 当Java堆分配失败时,在当前工作目录中创建JVM的堆转储 -XX:+HeapDumpOnOutOfMemoryError # 为堆转储指定备用路径,并确保该目录是存在的并且有足够的空间 -XX:HeapDumpPath=data # 为JVM致命错误日志指定备用路径 -XX:ErrorFile=logs/hs_err_pid%p.log ``` 在该配置文件中,主要的关注配置为JVM堆和单个线程堆栈大小的配置 ```yml # 堆的默认值为1G -Xms1g -Xmx1g # 显式设置每个线程堆栈的大小 -Xss1m ``` *附:* [参考文章链接](https://blog.csdn.net/fenglibing/article/details/89552771)
标签:
Elasticsearch
非特殊说明,本博所有文章均为博主原创。
如若转载,请注明出处:
https://lilinchao.com/archives/1001.html
上一篇
Lucene作者简介
下一篇
Kibana安装教程
评论已关闭
栏目分类
随笔
2
Java
326
大数据
229
工具
31
其它
25
GO
47
NLP
4
标签云
FastDFS
Python
队列
设计模式
Tomcat
Yarn
LeetCode刷题
序列化和反序列化
ajax
工具
SpringBoot
SpringCloudAlibaba
GET和POST
Spark RDD
查找
MyBatisX
MySQL
栈
Quartz
CentOS
Hadoop
字符串
Java
Nacos
Redis
Java编程思想
Elasticsearch
二叉树
ClickHouse
Git
友情链接
申请
范明明
庄严博客
Mx
陶小桃Blog
虫洞
评论已关闭