华为的OpenLookeng是基于Presto的一个开源大数据虚拟化引擎。
https://openlookeng.io/zh-cn/docs/docs/overview.html
快速安装
按照官网上的快速部署方式,可以快速搭建一个单节点服务。
https://openlookeng.io/zh-cn/docs/docs/installation/deployment-auto.html
详细安装步骤在官网上有说明,遇到了几个小问题,总结下来和大家分享一下
1. 机器内存要6G以上,我曾尝试分配6G内存给虚拟机,free命令查看可用内存超过5G,但是安装过程中依然提示“JVM至少需要4G内存”,安装失败,升级到8G内存后,JVM启动成功。
2. CentOS的Locale(/etc/locale.conf)一定要设置成英文(LANG="en_US.UTF-8"),如果系统是其他locale可能会导致安装失败。原因是安装脚本执行sha256sum时会检查命令返回值是否为字符串‘OK’,尽管安装包没有问题,但是在locale设置成其他语言时,返回的字符编码不一致,会导致检查会失败。
3. 安装包比较大,总计下载量超过1.5G,然而屏幕上少有提示,耐心等待,或者查看Linux 进程确认安装正在进行
4. 打开CentOS 防火墙
#以public zone为例
firewall-cmd --zone=public --add-port=8090/tcp --permanent
firewall-cmd --reload
打开浏览器通过8090端口可以访问OpenLookeng的Web UI
架构图
下面的架构图来自PrestoDB官网,根据Openlookeng的描述,二者应该是一致的,可以做个参考
1.Clients - 客户端
客户端(prestocli)向协调节点提交SQL语句以获得查询结果。
2.Coordinator - 协调节点(协调器)
协调器是主守护进程。协调器首先解析SQL查询,分析SQL查询并制定执行计划。调度程序(Scheuler)分发查询计划,将工作分配给最近的节点执行并监视进度。
3.Connector - 连接器
访问具体数据源的插件称为连接器。支持的数据源包括Hive、HBase、MySQL、Cassandra;另外,也可以实现自定义连接器。连接器中也定义了Openlookeng/Proesto虚拟数据结构和数据源之间的映射关系,为查询(query)提供元数据。协调器使用连接器获取用于构建查询计划的元数据。
4.Worker - 工作节点
工作节点从协调器接受任务,负责执行任务和处理数据。工作节点从连接器获取数据并相互交换中间数据。协调器负责从工作节点获取结果并将最终结果返回给客户端。