当前位置:   article > 正文

Python 全栈系列136 ES(单机)一键部署_es单机一键部署

es单机一键部署

说明

在这里稍微纠结了一下,有没有必要搞ES?

主要的纠结点在于,一个人要维护一个完整的体系是要花比较多精力的,所以只能挑最核心的、必不可少的领域进行研究、使用和维护。在数据库上,我已经铺了一些

序号 名字 作用
1 Mongo 除了作为非结构的数据存储,很重要的一个作用是承载算法的参数(用json存字典很方便)。
2 Neo4j 算是图库的不二选择吧,缺点是不能存层级式字典吧。但是存储和查询亿级别的业务是很轻松的。
3 Redis 作为内存库,可以快速,方便的沟通服务/算法的缓存,我也用来做队列。本来用RabbitMQ,后来发现还是不太好用;kafka对我来说又太重了点。
4 Mysql 用来存表格 ,主要还是和其他传统的服务对接。
5 SQLite 最大的作用可能是未来的设备数据库

以上的数据库我都写了专门的对象进行交互,所以要确认增加一个数据库还是要花代价的。从实际使用上,我并不会对外提供大批量的并发查询服务,所以用Mongo是完全够的;从理论上,比较好的使用方式是Mongo作为Master进行写入,ES集群从Mongo同步数据,然后对外提供大量并发查询。可以简单认为,Mongo适合读写,而ES针对读做特别的优化。

研究ES有两个好处:

  • 1 逻辑上更清晰,Mongo主要用于算法的读写;ES用来做元数据查询。
  • 2 可能会有一些商业上的扩展应用。只和ES相关(查询),和Mongo无关(读写)。

最大的坏处就是花时间了,所以这次基本上只打算把之前实现过的基础功能搬过来,主要目的就是实现DNWS的元数据检索就好了,大约只会花2个自然天。

内容

1 分配端口

在统一端口分配中,将24005分配给ES

序号 容器名 端口 说明
6 es_24005 24005 检索服务数据库,用于元数据内容检索。目前主要存储和搜索

简单来说,单机情况下使用9200端口就可以了,所以只分配一个端口给这个微服务。

9200 是ES节点与外部通讯使用的端口。它是http协议的RESTful接口(各种CRUD操作都是走的该端口,如查询:http://localhost:9200/user/_search)。
9300 是ES节点之间通讯使用的端口。它是tcp通讯端口,集群间和TCPclient都走的它。(java程序中使用ES时,在配置文件中要配置该端口)
  • 1
  • 2

2 镜像准备

将原来使用的镜像打包,传到自己的仓库,这样以后就可以复用了

docker tag 5acf0e8da90b registry.cn-hangzhou.aliyuncs.com/YOURWAREHOUSE/es:v1
docker push registry.cn-hangzhou.aliyuncs.com/YOURWAREHOUSE/es:v1
  • 1
  • 2

在这里插入图片描述
对于中文来说,可能会有分词的问题,一般会装IK分词器,但我看到似乎不装也ok。(原话是:给大家个建议,这玩意装与不装都挺好,不装查到的东西也很精确够使,装上会查出一些没有用的!)

3 项目文件

结构如下,data用于存放持久化数据,log是日志、conf下是配置。
在这里插入图片描述

配置简单如下my_es_conf.yml

path.data: /usr/share/elasticsearch/data
path.logs: /usr/share/elasticsearch/logs

http.host: 0.0.0.0
  • 1
  • 2
  • 3
  • 4

这里只声明了数据和日志路径,并使得网络访问开放。

Note: 这种开放是基于局网的,公网只要端口不开放,仍然是属于外部无法访问的状态。未来每个主机会有一个Manager服务,用于整合内部服务,并对外沟通。

4 一键部署脚本

p24005_setup_ES.sh

#!/bin/bash

# 0 CMD >>>>>>>>>>>>>>>>>>>>>>>>>

# 可以到/tmp下执行:
# 1 wget -N http://YOURIP:PORT/downup/download/p24005_setup_ES.sh
# 2 bash p24005_setup_ES.sh


# 1 Ensure One Implement Folder >>>>>>>>>>>>>>>>>>>>>>>>>

if [ ! -d "/opt/one_implements" ]; then
 echo "一键部署文件夹不存在,创建..."
 mkdir -p /opt/one_implements
 else
 echo "一键部署文件夹存在"
fi

cd /opt/one_implements



# 2 Params >>>>>>>>>>>>>>>>>>>>>>>>>

# 000 - 实时的实体解析

# 000<
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/407828
推荐阅读
相关标签
  

闽ICP备14008679号