前言
MLSQL Console是1.2.0发布前最重要的一个产品。MLSQL Console提供了除交互界面以外,还有很多其他重要的意义:
- 提供了一套自助化的用户账号和权限体系。
- 提供了脚本管理功能
- 展示了大量如何和MLSQL Cluster / MLSQL Engine 进行交互的方式,用户可以据此开发自己的Console
另外,权限我们目前是到表级别,但是很容易支持到列级别,作为定位大中台的一个产品,MLSQL提供了一个在包括mysql,hive,hdfs等在内的数据权限控制,属于编译时权限控制(而不是执行到对应的数据库再报错)。
在1.2.0版本,我们也很在在乎如何让用户一键体验整个MLSQL生态。毕竟自己部署 MLSQL Console/Cluster/Engine 三套件还是有一定成本的。下面我们来看下具体怎么做:
说好的一键
在终端执行如下指令:
bash <(curl http://download.mlsql.tech/scripts/run-all.sh)
注意事项:
- 用户需要确保在操作系统为Linux(Mac 也是Ok的),有docker环境即可。
- 请确保执行的电脑 9002,9003,8080三个端口没有占用
- 脚本执行,可以看到MySQL连接错误。这是脚本在等待MySQL启动后可用。不是错误,请放心。
- 如果docker镜像拉去缓慢,可以设置阿里云镜像。具体操作如下:
mkdir -p /etc/docker
## 登录后阿里开发者帐户后,[https://cr.console.aliyun.com/#/accelerator](https://link.jianshu.com?t=https%3A%2F%2Fcr.console.aliyun.com%2F%23%2Faccelerator) 中查看你的您的专属加速器地址
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://[这里的加速地址要替换成你自己的,到阿里云控制台获取].mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
接着 docker ps:
![1063603-004da41021835b54.png](https://i-blog.csdnimg.cn/blog_migrate/4c595ed7f04c95d544cf92e3730a04ad.webp?x-image-process=image/format,png)
可以看到相关容器都启动了。
登录注册
访问 http://127.0.0.1:9002 :
![1063603-5dbdcd1e735e9681.png](https://i-blog.csdnimg.cn/blog_migrate/efc795ed5e51664a638b61af6834c678.webp?x-image-process=image/format,png)
因为在MLSQL Console中,任何用户在使用控制台的时候,必须先自己创建team/role 或者加入到别人的team/role之后才能连接到真正的后端执行操作。所以这个时候你需要自己到Team标签页进行设置。
![1063603-164c90c01d45a255.png](https://i-blog.csdnimg.cn/blog_migrate/2f1971a01d321ea6a855d6dd9886d4e4.webp?x-image-process=image/format,png)
第一次进来,会提示你没有配置后端。第一步先创建一个团队。
![1063603-b3bf4a420a3c854f.png](https://i-blog.csdnimg.cn/blog_migrate/e114805d80c6e5e0c3282333cb77a3f4.webp?x-image-process=image/format,png)
完成会进行相应提示:
![1063603-f03b4786fc18fd28.png](https://i-blog.csdnimg.cn/blog_migrate/22da0c2ad02e1f2f7bf71c11628b8ee5.webp?x-image-process=image/format,png)
这个时候你需要切换下标签,比如切到demo或者team里(或者刷新),不然后面有部分板块没有得到及时更新。在team标签我们继续往下拉找到创建Role板块:
![1063603-f713d028577a6703.png](https://i-blog.csdnimg.cn/blog_migrate/2eef324dcd8dd6cc8c24811ced3f0c2c.webp?x-image-process=image/format,png)
接着把自己放到admin角色里:
![1063603-f5067df22572e2e4.png](https://i-blog.csdnimg.cn/blog_migrate/96da7683f8c78cf97dbd5281cbd6a2ed.webp?x-image-process=image/format,png)
现在,我么只要给角色添加一个后端即可(点击左侧Cluster标签页):
![1063603-c5ca9f01a051aa6b.png](https://i-blog.csdnimg.cn/blog_migrate/7a2049da2abc8bf5c0c34c9832a728f4.webp?x-image-process=image/format,png)
Server地址一定要和我一样。
因为一个用户可能有多个角色,所以可能有多组服务器,我们需要固定一组,通过左侧面板可以完成最后一步设置:
![1063603-7ee9b2b8d5e7b753.png](https://i-blog.csdnimg.cn/blog_migrate/b97aa381391c53a50877aaa38b3dcd7d.webp?x-image-process=image/format,png)
大部分输入框都有提示,大家不用担心。
现在,可以开始试用Console了。
![1063603-a52f103ec5c8d0b7.png](https://i-blog.csdnimg.cn/blog_migrate/9e368152c628f4e1f5430543c4000d6f.webp?x-image-process=image/format,png)
拖拽蓝色框到编辑区里,然后点击运行,第一次会有点慢。
![1063603-2be788e177ffccb5.png](https://i-blog.csdnimg.cn/blog_migrate/ae93ec816fa02ace917351a5329f9ac7.webp?x-image-process=image/format,png)
搞定。
结束语
在docker里我们默认关闭了表权限校验,否则使用时,使用jdbc等各种数据的时候,都需要添加权限,比较繁琐。打开的方式是在mlsql-console 进行docker run的时候 加上-e ENABLE_AUTH_CENTER=true 即可。参看启动脚本 start.sh:
#!/usr/bin/env bash
java -cp .:${MLSQL_CONSOLE_JAR} tech.mlsql.MLSQLConsole \
-mlsql_cluster_url ${MLSQL_CLUSTER_URL} \
-my_url ${MY_URL} \
-user_home ${USER_HOME} \
-enable_auth_center ${ENABLE_AUTH_CENTER:-false} \
-config ${MLSQL_CONSOLE_CONFIG_FILE}