不做大哥好多年 不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核

逍遥子

不做大哥好多年
首页
  • MySQL
  • Redis
  • Elasticsearch
  • Kafka
  • Etcd
  • MongoDB
  • TiDB
  • RabbitMQ
  • 01.GO基础
  • 02.面向对象
  • 03.并发编程
  • 04.常用库
  • 05.数据库操作
  • 06.Beego框架
  • 07.Beego商城
  • 08.GIN框架
  • 09.GIN论坛
  • 10.微服务
  • 01.Python基础
  • 02.Python模块
  • 03.Django
  • 04.Flask
  • 05.SYL
  • 06.Celery
  • 10.微服务
  • 01.Java基础
  • 02.面向对象
  • 03.Java进阶
  • 04.Web基础
  • 05.Spring框架
  • 100.微服务
  • Docker
  • K8S
  • 容器原理
  • Istio
  • 数据结构
  • 算法基础
  • 算法题分类
  • 前置知识
  • PyTorch
  • 01.Python
  • 02.GO
  • 03.Java
  • 04.业务问题
  • 05.关键技术
  • 06.项目常识
  • 10.计算机基础
  • Linux基础
  • Linux高级
  • Nginx
  • KeepAlive
  • ansible
  • zabbix
  • Shell
  • Linux内核
  • MySQL

  • Redis

  • Elasticsearch

    • 01.ES安装
      • 01.安装Docker
        • 1.1 yum安装docker
        • 1.2 添加阿里云YUM软件源
      • 02.docker安装ES
        • 2.1 docker安装es
        • 2.2 安装ik分词器
        • 2.3 安装kibana
      • 03.mac m1安装ES
        • 1、docker安装es
        • 2、安装kibana
      • 04.Linux安装ES
        • 1、ES安装说明
        • 2、下载elasticsearch
        • 3、启动用户
        • 4、elasticsearch.yml基本配置
        • 5、jvm.options配置优化
      • 05.win10 安装 ES
        • 1、win10安装Java JDK
        • 1、下载 java jdk
        • 2、系统变量新增JAVA_HOME
        • 3、path路径添加环境变量
        • 2、下载安装elasticsearch
        • 1、下载elasticsearch
        • 2、启动elasticsearch
        • 3、安装配置中文分词工具
        • 4、安装可视化工具Kibana
        • 1、下载 .zipwindows文件
        • 2、解压启动
        • 3、访问
        • 5、启动es和kibana命令
    • 02.ES介绍
    • 03.倒排索引 ✅
    • 04.ES原理 ✅
    • 05.ES集群原理 ✅
    • 06.ES集群部署
    • 07.ES优化
    • 21.ES基本使用
    • 22.中文分词检索
    • 23.python使用ES
    • 24.ES复杂类型
    • 100.制作一些数据
    • 101.ES同步
  • Kafka

  • Etcd

  • MongoDB

  • TiDB

  • RabbitMQ

  • 数据库
  • Elasticsearch
xiaonaiqiang
2021-02-12
目录

01.ES安装

# 01.安装Docker

# 1.1 yum安装docker

[root@k8s-master ~]#  yum -y install wget
[root@k8s-master ~]#  wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
[root@k8s-master ~]#  yum -y install docker-ce
[root@k8s-master ~]#  systemctl enable docker && systemctl start docker
1
2
3
4
  • 配置镜像下载加速器:
[root@k8s-master ~]#  cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF
[root@k8s-master ~]#  systemctl restart docker
[root@k8s-master ~]#  docker info
1
2
3
4
5
6
7

# 1.2 添加阿里云YUM软件源

[root@k8s-master ~]#  cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
1
2
3
4
5
6
7
8
9

# 02.docker安装ES

# 2.1 docker安装es

  • docker安装es
[root@k8s-node2 ~]#  docker pull elasticsearch:7.2.0
[root@k8s-node2 ~]#  docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.2.0
1
2
  • 修改配置,解决跨域访问问题
    • 首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件
[root@k8s-node2 ~]#  docker pull elasticsearch:7.2.0
 
[root@k8s-node2 ~]#  docker exec -it elasticsearch /bin/bash
[root@de5bba3e2d81 elasticsearch]#  cd /usr/share/elasticsearch/config/
[root@de5bba3e2d81 elasticsearch]#  vi elasticsearch.yml
# 追加一下内容,解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@de5bba3e2d81 elasticsearch]#  exit
[root@k8s-node2 ~]#   docker restart elasticsearch
1
2
3
4
5
6
7
8
9
10

# 2.2 安装ik分词器

  • es自带的分词器对中文分词不是很友好,所以我们下载开源的IK分词器来解决这个问题。

  • 首先进入到plugins目录中下载分词器,下载完成后然后解压,再重启es即可。

  • 注意:elasticsearch的版本和ik分词器的版本需要保持一致,不然在重启的时候会失败。

[root@k8s-node2 ~]#  cd /usr/share/elasticsearch/plugins/
[root@de5bba3e2d81 elasticsearch]# elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.2.0/elasticsearch-analysis-ik-7.2.0.zip
[root@de5bba3e2d81 elasticsearch]#  exit
[root@k8s-node2 ~]#  docker restart elasticsearch   # 然后可以在kibana界面的dev tools中验证是否安装成功;
1
2
3
4

# 2.3 安装kibana

[root@k8s-node2 ~]# docker pull kibana:7.2.0
[root@k8s-node2 ~]# docker run --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.2.0
[root@k8s-node2 ~]# docker start kibana
1
2
3
  • 访问网址
    • 访问ES: http://192.168.56.66:9200/
    • 访问kibana:http://192.168.56.66:5601/

# 03.mac m1安装ES

# 1、docker安装es

  • docker安装es
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.13.1
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -d elasticsearch:7.13.1
1
2
  • 修改配置,解决跨域访问问题
    • 首先进入到容器中,然后进入到指定目录修改elasticsearch.yml文件
[root@k8s-node2 ~]#  docker exec -it elasticsearch /bin/bash
[root@de5bba3e2d81 elasticsearch]#  cd /usr/share/elasticsearch/config/
[root@de5bba3e2d81 elasticsearch]#  vi elasticsearch.yml
# 追加一下内容,解决跨域问题
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@de5bba3e2d81 elasticsearch]#  exit
[root@k8s-node2 ~]#   docker restart elasticsearch
1
2
3
4
5
6
7
8

# 2、安装kibana

docker pull kibana:7.13.1
docker run --name kibana --link=elasticsearch:test  -p 5601:5601 -d kibana:7.13.1
docker start kibana
1
2
3
  • 访问网址
    • 访问ES: http://127.0.0.1:9200/
    • 访问kibana:http://127.0.0.1:5601/

# 04.Linux安装ES

# 1、ES安装说明

  • ES 5,安装需要 JDK 8 以上
  • ES 6.5,安装需要 JDK 11 以上
  • ES 7.2.1,内置了 JDK 12

下载地址:https://www.elastic.co/cn/downloads/elasticsearch

# 2、下载elasticsearch

[root@k8s-node2 opt]# mkdir /opt/software
[root@k8s-node2 opt]# cd /opt/software/
[root@k8s-node2 aaa]# wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.12.0-linux-x86_64.tar.gz
[root@k8s-node2 software]# tar -xvf elasticsearch-7.12.0-linux-x86_64.tar.gz 
[root@k8s-node2 elasticsearch-7.12.0]# cd /opt/software/elasticsearch-7.12.0
bin             # 脚本文件,包括 ES 启动 & 安装插件等等
config           # elasticsearch.yml(ES 配置文件)、jvm.options(JVM 配置文件)、日志配置文件等等
jdk             # 内置的 JDK,JAVA_VERSION="12.0.1"
lib             # 类库
logs            # 日志文件
modules          # ES 所有模块,包括 X-pack 等
plugins          # ES 已经安装的插件。默认没有插件
1
2
3
4
5
6
7
8
9
10
11
12

# 3、启动用户

[root@k8s-node2 elasticsearch-7.12.0]# groupadd elasticsearch
[root@k8s-node2 elasticsearch-7.12.0]# useradd -g elasticsearch elasticsearch
[root@k8s-node2 elasticsearch-7.12.0]# chown -R elasticsearch:elasticsearch ../elasticsearch-7.12.0
[root@k8s-node2 elasticsearch-7.12.0]# su elasticsearch
[elasticsearch@k8s-node2 elasticsearch-7.12.0]$ ./bin/elasticsearch
1
2
3
4
5
  • 打开一个新终端测试访问
[root@k8s-node2 ~]# curl "127.0.0.1:9200"
{
  "name" : "k8s-node2",
  "cluster_name" : "elasticsearch",
  "cluster_uuid" : "956FguX1QkSc4vulArZm0w",
  "version" : {
    "number" : "7.12.0",
    "build_flavor" : "default",
    "build_type" : "tar",
    "build_hash" : "78722783c38caa25a70982b5b042074cde5d3b3a",
    "build_date" : "2021-03-18T06:17:15.410153305Z",
    "build_snapshot" : false,
    "lucene_version" : "8.8.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18

# 4、elasticsearch.yml基本配置

  • 常用配置文件
[root@k8s-node2 elasticsearch-7.12.0]# vim config/elasticsearch.yml 

cluster.name: elasticsearch
# 配置的集群名称,默认是elasticsearch

node.name: "Franz Kafka"
# 当前配置所在机器的节点名,最好设置当前机器的ip地址

network.host: 192.168.0.1
# 监听地址,这个参数是用来同时设置bind_host和publish_host上面两个参数。

path.data: /path/to/data
# 设置索引数据的存储路径,默认是es根目录下的data文件夹,可以设置多个存储路径,用逗号隔开

path.logs: /path/to/logs
# 设置日志文件的存储路径,默认是es根目录下的logs文件夹 

http.port: 9200
# 设置对外服务的http端口,默认为9200。

transport.tcp.port: 9300
# 设置节点之间交互的tcp端口,默认是9300
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22

# 5、jvm.options配置优化

[root@k8s-node2 elasticsearch-7.12.0]# vim config/jvm.options
1
  • 1) 环境配置
[root@k8s-node2]#  sudo swapoff -a
# 禁用swapping,开启服务器虚拟内存交换功能会对es产生致命的打击
1
2
  • 2)vm.options
    • jvm.options主要是进行内存相关配置,官方建议分配给es的内存不要超出系统内存的50%,
    • 预留一半给Lucene,因为Lucene会缓存segment数据提升检索性能;
    • 内存配置不要超过32g,如果你的服务器内存没有远远超过64g,那么不建议将es的jvm内存设置为32g
    • 因为超过32g后每个jvm对象指针的长度会翻倍,导致内存与cpu的开销增大
-Xms10g
-Xmx10g
1
2

# 05.win10 安装 ES

# 1、win10安装Java JDK

# 1、下载 java jdk

  • 官方下载 (opens new window)

# 2、系统变量新增JAVA_HOME

  • 系统变量里面新增JAVA_HOME,设置值为java sdk 根目录

# 3、path路径添加环境变量

# 2、下载安装elasticsearch

# 1、下载elasticsearch

  • elasticsearch下载 (opens new window)

# 2、启动elasticsearch

  • 解压到C:\esdir\就可以直接运行
  • 运行命令如下
C:\esdir\elasticsearch-7.9.0\bin>   cd C:\esdir\elasticsearch-7.9.0\bin
C:\esdir\elasticsearch-7.9.0\bin>   elasticsearch.bat
1
2
  • 输入 http://localhost:9200/ 出来如下界面

# 3、安装配置中文分词工具

  • 默 认 情 况 ElasticSearch 只 适 用 于 英 文 分 词 , 如 果 要 做 中 文 分 词 的 话 我 们 要 安 装 elasticsearch-analysis-ik 插件。

  • **官方文档:**https://github.com/medcl/elasticsearch-analysis-ik

  • 官方提供了两种安装中文分词工具的方法,由于第二种可能因为版本问题会安装失败,所以接下来我们用第一种方式给大家安装。

  • 1、下载中文分词工具

  • 2、在分词工具根目录创建 plugins/ik 文件

  • 3、把分词工具包的内容复制到 plugins/ik 文件里面

  • 4、修改配置文件的版本(如下图)

  • 安装完成中文分词插件后,重新启动 ElasticSearch

# 4、安装可视化工具Kibana

# 1、下载 .zipwindows文件

  • 安装方法:https://www.elastic.co/guide/cn/kibana/current/windows.html

  • 下载路径:https://artifacts.elastic.co/downloads/kibana/kibana-7.9.0-windows-x86_64.zip

# 2、解压启动

  • 解压到并启动
C:\Users\Lenovo>cd C:\esdir\kibana-7.9.0-windows-x86_64\bin
C:\esdir\kibana-7.9.0-windows-x86_64\bin>kibana.bat
1
2

# 3、访问

  • http://localhost:5601/

# 5、启动es和kibana命令

  • 启动ES:http://localhost:9200/
cd C:\esdir\elasticsearch-7.9.0\bin
elasticsearch.bat
1
2
  • 启动kibana: http://localhost:5601/
cd C:\esdir\kibana-7.9.0-windows-x86_64\bin
kibana.bat
1
2
上次更新: 2024/3/20 16:09:51
16.CAP ✅
02.ES介绍

← 16.CAP ✅ 02.ES介绍→

最近更新
01
04.数组双指针排序_子数组
03-25
02
08.动态规划
03-25
03
06.回溯算法
03-25
更多文章>
Theme by Vdoing | Copyright © 2019-2025 逍遥子 技术博客 京ICP备2021005373号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式