2.5 Elasticsearch的安装与简单配置

很早之前买了 《Elasticsearch 核心技术与实战》,学了一半后来就没学了,现在需要用到 Elasticsearch ,发现对它竟然生疏了,所以打算重温课程,记下笔记(毕竟以后万一再忘记看视频有点浪费时间hhhh)

安装 Javs 环境

  • 运行 Elasticsearch,需要安装并配置 JDK
    • 设置$JAVA_HOME
  • 各个版本对 Java 的依赖
    • Elasticsearch 5 需要 Java 8 以上的支持
    • Elasticsearch 从6.5 开始支持 Java 11
    • https://www.elastic.co/cn/support/matrix#matrix_jvm
    • Elasticsearch 从 7.0 以后开始,内置了 Java环境

安装 Elasticsearch

笔者下载的是二进制安装包中的 MACOS 版本

Elastic 官方网站:https://www.elastic.co/cn/

Elasticsearch 介绍页面:https://www.elastic.co/cn/elasticsearch/

Elasticsearch 下载页面:https://www.elastic.co/cn/downloads/elasticsearch

下载并解压缩 Elasticsearch

image-20210316165644494

Elasticsearch 的文件目录结构

目录配置文件描述
bin脚本文件,包括启动 Elasticsearch,安装插件。运行统计数据等
configelasticsearch.yml集群配置文件,user,role based 相关配置
JDKJava 运行环境
datapath.data数据文件
libJava 类库
logs日志文件
modules包含所有 ES 模块
plugins包含所有已经安装的插件

JVM 配置

在 config 目录中有一个 Jim.options 文件,这个文件是对 Java 的 JVM虚拟机的一个默认配置

  • 修改 JVM - config/jvm.options
    • 7.1 下载的默认设置是 1 GB
  • 配置的建议
    • Xmx 和 Xms 设置成一样的
    • Xmx 不要超过及其内存的 %50
    • 不要超过 30 GB - https://www.elastic.co/blog/a-heap-of-trouble

启动 Elasticsearch

下载的文件解压后进入 elasticsearch-7.11.2 文件夹

启动命令:bin/elasticsearch

启动后打开浏览器输入地址 http://localhost:9200

{
  name: "MacBook-Pro.local",
  cluster_name: "elasticsearch",
  cluster_uuid: "zAbdIdRIRnSyfrwG-5Zcyg",
  version: {
    number: "7.11.2",
    build_flavor: "default",
    build_type: "tar",
    build_hash: "3e5a16cfec50876d20ea77b075070932c6464c7d",
    build_date: "2021-03-06T05:54:38.141101Z",
    build_snapshot: false,
    lucene_version: "8.7.0",
    minimum_wire_compatibility_version: "6.8.0",
    minimum_index_compatibility_version: "6.0.0-beta1"
  },
  tagline: "You Know, for Search"
}

安装 Elasticsearch 插件

查看当前已经安装的插件

bin/elasticsearch-plugin list

安装指定插件,这里安装 analysis-icu 分词插件

bin/elasticsearch-plugin install analysis-icu
输出:
-> Installing analysis-icu
-> Downloading analysis-icu from elastic
[=================================================] 100%   
-> Installed analysis-icu

尝试再次使用查看插件的命令

bin/elasticsearch-plugin list
输出:
analysis-icu

使用 restful api 查看所有插件

# 启动 elasticsearch
bin/elasticsearch
# 打开浏览器输入地址 http://localhost:9200/_cat/plugins
输出:
MacBook-Pro.local analysis-icu 7.11.2

Elasticsearch 提供插件的机制对系统进行扩展

Discovery Plugin、 Analysis Plugin、Security Plugin、Management Plugin、Ingest Plugin、Mapper Plugin、Backup Plugin

单机实现多实例

bin/elasticsearch -E node.name=node1 -E cluster.name=esstudy -E path.data=node1_data -d
bin/elasticsearch -E node.name=node2 -E cluster.name=esstudy -E path.data=node2_data -d
bin/elasticsearch -E node.name=node1 -E cluster.name=esstudy -E path.data=node3_data -d

删除进程

ps | grep elasticsearch
kill pid

查看当前所有节点,打开浏览器输入地址 http://localhost:9200/_cat/nodes

当前已经有3个节点

127.0.0.1 35 99 29 3.99   cdhilmrstw - node2
127.0.0.1 24 99 31 3.99   cdhilmrstw * node1
127.0.0.1 31 99 26 3.99   cdhilmrstw - node1

插曲:使用 Elasticsearch 默认自带的 SDK

因为我本级配置的有 Jdk 8,所以使用 Elasticsearch 会有如下警告

Future versions of Elasticsearch will require Java 11; your Java version from [/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.

这里参考:https://www.cnblogs.com/sanduzxcvbnm/p/11976046.html

疑问解答

  1. 问:为什么在一台机器上启动多节点的时候不需要指定不同的端口?

    答:没有绑定host的ip时,采取的是dev mode启动,会在一定的范围内分配端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值