ElasticSearch
1、基本概念
Elasticsearch是基于Lucene的全文检索库,本质也是存储数据,很多概念是与MySQL相似的。
对比关系如下:
Elasticsearch概念 | <==> | MySQL概念 |
---|---|---|
索引(indices) | 数据库(database) | |
类型(type) | 数据表(Table) | |
文档(Document) | 行(Row) | |
字段(Field) | 列(Columns) |
注意:ElasticSearch本身就是分布式的,所以即便你只有一个节点,ElasticSearch默认也会对你的数据进行分片和副本操作,当你向集群添加新数据时,数据也会在新加入的节点中进行平衡。
2、Docker中安装ES
2.1、下载镜像文件
docker pull elasticsearch:7.6.2 #存储和检索数据
docker pull kibana:7.6.2 #可视化检索数据
复制代码
如图1:elasticsearch安装完成。
如图2:通过 "docker image" 命令, 查看已安装docker容器列表。
如图3:kibana安装完成
如图4:再次通过 "docker image" 命令, 查看已安装docker容器列表。
2.2、创建实例并启动
(1)、创建实例
mkdir -p /mydata/elasticsearch/config #创建目录
mkdir -p /mydata/elasticsearch/data
echo "http.host: 0.0.0.0" >>/mydata/elasticsearch/config/elasticsearch.yml
# /将mydata/elasticsearch/文件夹中文件都可读可写
chmod -R 777 /mydata/elasticsearch/
复制代码
如图1:创建目录并配置elasticsearch可远程访问
(2)、启动Elastic search
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
-v/mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \
-v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.6.2
复制代码
命令解释:
命令 | 解释 |
---|---|
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \ | 启动容器并取名为“elasticsearch ”,声明了两个端口,“9200”我们发送http请求时用到,“9300”是ES在分布式集群状态下,各节点之间的通信端口。“\”表示换行继续编写 |
-e "discovery.type=single-node" \ | 设置”elasticsearch “为单节点运行 |
-e ES_JAVA_OPTS="-Xms64m -Xmx512m" \ | 重要! 若不指定ES启动后会将我们的内存全部占用,后果就是整个虚拟机卡死。此命令表示初始64m最大占用128m。 |
-v | 表示将docker容器中的目录去和我们机器中的目录挂载。容器中发生的任何改变我们机器中的文件也会发生改变。 |
-d elasticsearch:7.6.2 | ”-d“指定为后台启动,并指定镜像。 |
如图:启动容器成功
如图:浏览器通过ip:端口访问成功(ip查看自己的机器ip),到这里ES安装完成。
未完待续,持续更新。
作者:小菜编程
链接:https://juejin.cn/post/7135756309248344077/
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。