一、前言
docker pull nshou/elasticsearch-kibana:latest
docker elasticsearch kibana
由于业务需要,需要将放在MongoDB的数据加载到Elasticsearch,Elasticsearch天生具有全文检索优势。MongoDB虽然新的版本也支持fulltext,但目前尚未支持中文。所以这里我们就用比较流行的Elasticsearch。
另外,为了方便,我会基于Docker搭建MongoDB和Elasticsearch集群
二、docker的安装和使用
环境:Ubuntu 18.04.5 LTS
2.1 如果存在旧版本docker,先删除旧版本
$ sudo apt-get remove docker docker-engine docker.io
2.2 更新apt-get
$sudo apt-get update
2.3 添加docker官方 GPG key
2.4 安装docker
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
$ sudo apt-key fingerprint 0EBFCD88
pub 4096R/0EBFCD88 2017-02-22
Key fingerprint = 9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88
uid Docker Release (CE deb) <docker@docker.com>
sub 4096R/F273FCD8 2017-02-22
$ sudo apt-get install docker-ce
至此,docker已经安装完成,直接输入docker命令可查看docker的帮助,如命令docker version查看docker版本信息
参考:https://docs.docker.com/install/linux/docker-ce/ubuntu/#install-docker-ce-1
三、搭建MongoDB服务
参照: https://blog.csdn.net/sirobot/article/details/105142932
这里我们就直接使用docker仓库的mongodb镜像。
3.1 查询mongodb镜像
jogen@mymachine:~/test/es$ docker search mongo
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mongo MongoDB document databases provide high avai… 4773 [OK]
mongo-express Web-based MongoDB admin interface, written w… 274 [OK]
3.2 docker pull拉取镜像
$docker pull mongo
3.3 从docker镜像安装mongo
docker run –name mongodb2 -p 27018:27017 -d mongo –replSet mongoReplSet
–replSet:添加复制集
查看复制机状态:rs.status()
查看配置:rs.conf()
初始化:rs.initiate()
修改配置:rs.reconfig(cfg),具体使用可以查看官网文档,我们这里会修改主机名为ip地址。
3.4 使用mongodb-compass
mongodb-compass:是mongodb的可视化工具,访问mongodb比较方便,这里使用到了它的数据导入导出功能,该工具比较方便。
当然RobotT3也比较好用,但是我找不到数据导入导出功能。
3.5 建立database和collection,并导入一些数据。
四、搭建Elastisearch集群服务
4.1 查询镜像
docker search elastisearch
docker官方中央仓库维护的es已经不再维护,elastic已经自己建立了自己的私有库,并维护。
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -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
启动kibana 注意和elastic 版本保持一致
docker run --name kibana -e ELASTICSEARCH_HO