Docker 部署

YMatrix 提供 Docker 运行环境,在 hub.docker.com 中的地址为https://hub.docker.com/u/matrixdb

1. 从镜像仓库中拉取最新镜像

进入到主页选择 matrixdb/centos7_demo:

centos7_demo

页面右边提供了拉取镜像的命令:

pull_command

在终端中执行拉取命令:

docker pull matrixdb/centos7_demo

执行成功后,可以看到本地仓库已经包含了最新版本的镜像:

$ docker images
REPOSITORY              TAG       IMAGE ID       CREATED        SIZE
matrixdb/centos7_demo   latest    65d20762cc25   19 hours ago   1.65GB

2. 创建容器

下面,基于获取的镜像创建容器:

docker run -it -p 5432:5432 -p 8240:8240 --name mxdemo matrixdb/centos7_demo

注意!
-p 参数为主机与容器做端口映射,目的是为了从宿主机连接容器内的数据库。格式为 -p 宿主机端口:容器端口
数据库连接使用端口 5432
图形化管理界面使用端口 8240

创建成功后,使用 Ctrl+P Ctrl+Q 命令退出。

查看运行的容器:

$ docker ps
CONTAINER ID   IMAGE                   COMMAND                  CREATED          STATUS          PORTS              NAMES
87344882d280   matrixdb/centos7_demo   "/home/mxadmin/entry…"   25 minutes ago   Up 25 minutes   22/tcp, 7000/tcp   mxdemo

3. 登入容器并使用

3.1 登入容器

使用 docker exec 命令登入到运行的容器中:

docker exec -it mxdemo /bin/bash

3.2 切换为 mxadmin 用户

su - mxadmin

接下来,就可以像真实环境一样正常使用 YMatrix 了:

[mxadmin@87344882d280 ~]$ psql
psql (12)
Type "help" for help.

mxadmin=#

4. 使用 DBeaver 连接数据库

在宿主机用 DBeaver 连接容器内数据库,根据下面的设置,填写连接信息后,点 Finish 即可。密码默认为:changeme

DBeaver DBeaver 下载地址:https://dbeaver.io/download/

5. 使用终端连接数据库

如果不想进入 Docker 容器内,可以在终端执行 psql 来连接 YMatrix,前提是需要安装 psql 命令。如果已经安装 psql 命令,打开终端,输入:

psql -h 127.0.0.1 -p 5432 -d mxadmin -U mxadmin

执行完上述命令后,会要求输入密码进行验证,默认密码:changeme

6. 使用 YMatrix 图形化管理界面

使用 Chrome 浏览器访问 http://127.0.0.1:8240/,通过图形化界面管理数据库,创建和管理 mxgate 数据导入任务。 默认管理员密码为 changeme

如果想要重新启动 YMatrix 图形化管理界面, 需要进入 Docker 容器中,在 root 用户下执行:

/etc/init.d/matrixdb-supervisor restart

图形化管理界面相关功能的更多介绍,请参考文档:

Kakfa接入

可视化数据表

Kafka

7. 更多安全配置

为方便试用,安装完成后系统默认允许任意IP通过用户名和密码访问数据库,管理员密码为 changeme

为了确保您的数据安全,请在使用时务必根据需要修改客户端连接认证,密码等安全设置。

7.1 修改客户端连接认证

修改 pg_hba.conf 配置文件,可以通过对客户端连接进行限制。 具体规则请参考文档:客户端认证
修改完成后,你需要根据数据库软件版本选择以下其中一种命令,重新加载配置文件,使其生效。

 mxstop -u # YMatrix 5
 gpstop -u # YMatrix(MatrixDB) 4

7.2 修改密码

[mxadmin@87344882d280 ~]$ psql -d postgres
psql (12)
Type "help" for help.
postgres=# alter role mxadmin with password 'mxadmin';
ALTER ROLE