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,安装插件。运行统计数据等
config elasticsearch.yml 集群配置文件,user,role based 相关配置
JDK Java 运行环境
data path.data 数据文件
lib Java 类库
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启动,会在一定的范围内分配端口

猜你喜欢

转载自blog.csdn.net/baoshuowl/article/details/114904868
2.5