写点什么

如何拥有自己的 openLooKeng?超详细的安装配置指导看这里

用户头像
openLooKeng
关注
发布于: 16 小时前
如何拥有自己的openLooKeng?超详细的安装配置指导看这里

朋友们,如果您关注我们,知道 openLooKeng 近期赛事活动很多,前有暑期 2021,后有信创大赛、互联网+比赛等等。基于大家在赛题准备上的一些疑问,小助手联合社区的老师们,为大家准备一些相关的技术文章,希望对您有帮助。如果您有想要交流的,欢迎在社区代码仓内提 Issue。

社区代码仓 https://gitee.com/openlookeng

欢迎访问官网  https://openlookeng.io

本期主题



**01 **软件安装

说明:需要提前手动部署 jdk

1.1 快速部署集群脚本使用

下载安装脚本:https://gitee.com/openlookeng/tools.git 脚本 installer 目录下:



部署时只需配置 config.txt 文件



修改内容如下:



修改完 config.txt 后执行 main.sh 开始部署集群



main.sh 执行后,openlookeng 会部署在如下路径:



在安装路径里存在以下几个文件:



**02  **客户端使用

2.1 CLI 使用

登录客户端命令: java -jar /opt/hetu-install/etc/hetu-cli-316-executable.jar --server ip:port --catalog CATALOGNAME ip:服务的节点 IP port:服务的端口号,默认为 8090 CATALOGNAME:待访问的数据源,对应/etc/hetu/catalog/目录下的文件名 其它参数: --schema :指定 catalog 中的 schema,后跟 schema 名称 --user:指定访问数据源的用户,后跟用户名 --execute:指定待执行的 sql,后跟 sql 语句(sql 需用双引号括起来,要带分号) -f:指定 sql 文件,后跟 sql 文件名。用于不进入客户端执行 sql,同-e。

2.2 JDBC 使用

1.获取 jdbc 的 jar 包 hetu-jdbc-316.jar 并放在所需要的目录; 2.使用 jdbc 工具连接时, URL 为:jdbc:hetu://ip:8090,driver class 为:io.hetu.core.jdbc.HetuDriver,其中 ip 为 hetu 服务 ip。

2.3 UDF 使用

2.3.1 CBG UDF 的集成

1. /etc/hetu/目录下上传 udf 函数注册文件 udf.properties。文件格式为 function_name class_path,如下: booleanudf io.hetu.core.hive.dynamicfunctions.examples.udf.BooleanUDF shortudf io.hetu.core.hive.dynamicfunctions.examples.udf.ShortUDF byteudf io.hetu.core.hive.dynamicfunctions.examples.udf.ByteUDF intudf io.hetu.core.hive.dynamicfunctions.examples.udf.IntUDF 2. {node.data-dir}下创建 externalFunctions 文件夹,并将 udf 函数和依赖的类上传到该文件夹下; 3. 上传 udf 函数依赖的配置文件至 node.datadir 下创建 externalFunctions 文件夹,并将 udf 函数和依赖的类上传到该文件夹下;3.上传 udf 函数依赖的配置文件至{node.data-dir}中; 4. openLooKeng 服务的各个节点均执行以上步骤,完成后重启服务。

2.3.2 UDAF 的集成

1. ${node.data-dir}下创建 externalFunctionsPlugin 文件夹; 2. 将 UDAF 的 zip 包如 cbg-hive-functions-1.0-SNAPSHOT.zip 解压至 externalFunctionsPlugin 下; 3. openLooKeng 服务的各个节点均执行以上步骤,完成后重启服务

2.4 SQL migration tool 使用

1.交互模式: java -jar hetu-sql-migration-tool-316.jar



2. 执行模式:java -jar hetu-sql-migration-tool-316.jar --execute " 待转换的 hive-sql"



3. 文件模式:java -jar hetu-sql-migration-tool-316.jar --file 待转换的 hive sql 文件 --output 转换后的文件目录



4. 将转换后的 sql 在 Hetu 上面执行。 2.5 Web UI 使用 在 coordinator 节点 config.properties 里面配置如下参数:



03 数据源配置

3.1 配置文件添加数据源

3.1.1 配置 FI Hive 数据源

可通过以下两种方法进行配置: **方法一:**服务安装前通过脚本自动配置 1. FI 集群上下载 FI 集群配置文件及用户凭证: 配置文件:登录 FI 页面,在【集群】页面点击【更多】,选择【下载客户端】。弹框中选择【仅配置文件】,点击【确定】。下载完成后解压。

用户凭证:登录 FI 页面,在【系统】页面选择用户,点击【更多】,点击【下载认证凭据】。弹框中点击【确定】。下载完成后解压文件。



2. 将步骤 1 获取到的 HDFS 文件 core-site.xml、hdfs-site.xml 和用户认证凭据 user.keytab、 krb5.conf 以及 hosts 传至 hetu 安装包解压目录中的 client_dependencies 下;

3. 修改解压目录下的 client_dependencies/clientMainConfig 文件中的配置项: KRB_PRINCIPAL:默认值修改为认证凭据对应的用户名; HIVE_METASTORE_URI:默认值修改为步骤 1 获取的 hive 配置文件 hive-site.xml 中 hive.metastore.uris 的值。 之后执行 install.sh 脚本安装服务时,FI hive 数据源会自动配置到服务各个节点上。

**方法二:**服务安装后手动配置 1. 获取 FI hive 配置文件及用户认证凭据,同方法一的步骤 1;

2. 将步骤 1 获取到的 HDFS 文件 core-site.xml、hdfs-site.xml 和用户认证凭据 user.keytab、 krb5.conf 传至服务各个节点上;

3. /etc/hetu/catalog 目录下创建 hive.properties 文件,写入以下内容:



4. 将步骤 1 获取到的 hosts 文件中的内容添加到/ets/hosts 文件中;

5. 步骤 2~4 每个节点都要执行,完成后重启服务

3.1.2 配置开源 Hive 数据源

1. HetuServer 部署完成后,进入“/etc/hetu/catalog”目录,编辑“hive.properties”文件



2. 重启 hetu 服务。

3.1.3 配置 DC Connector

1. Hetu 服务每个节点/etc/hetu/catalog 目录下创建 dc.properties 文件,写入以下内容:



2. 重启 hetu 服务。

3.1.4 配置 Hbase 数据源

1. 将 Hbase 服务所在的 Hadoop 服务的配置文件 core-site.xml、hdfs-site.xml 传至 hetu 服务的各个节点上;

2. /etc/hetu/catalog 目录下创建 hbase.properties 文件,写入以下内容:



3. hetu 服务每个节点执行完步骤 1 和 2 后重启服务。

3.1.5 配置 Oracle 数据源

1. Hetu 服务每个节点/etc/hetu/catalog 目录下创建 oracle.properties 文件,写入以下内容:



2. 重启 hetu 服务。

3.1.6 配置 MySQL 数据源

1. Hetu 服务每个节点/etc/hetu/catalog 目录下创建 mysql.properties 文件,写入以下内容:



2. 重启 hetu 服务。

3.1.7 配置 Hana 数据源

1. Hetu 服务每个节点/etc/hetu/catalog 目录下创建 hana.properties 文件,写入以下内容:



2. 重启 hetu 服务。

3.1.8 配置 VDM Connector

1. Hetu 服务每个节点/etc/hetu/目录下创建 hetu-metastore.properties 文件,写入以下内容:



2. Hetu 服务每个节点/etc/hetu/catalog 目录下创建 vdm.properties 文件,写入以下内容:



3. 重启 hetu 服务。

3.1.9 配置 Carbondata Connector

1. Hetu 服务每个节点将 mapred-site,yarn-site.xml,core-site.xml 和 hdfs-site.xml 添加到安装到/opt/ hetu/conf 下。 2. Hetu 服务每个节点/etc /hetu /catalog 中添加 carbondata.properties 文件,写入以下内容:



3. 重启 hetu 服务。

3.2 动态添加数据源

3.2.1 动态目录配置

1. 在所有节点 node.properties 中添加如下内容:



2. 在所有节点 config.properties 中添加如下内容:



3. 参考 4.4.2 章节配置 local-config-catalog.properties

3.2.2 配置 FI Hive 数据源

1. Curl 命令添加:



四个凭证在本地计算机中路径要正确,该方式参数与本地参数一致,用户凭证需放在本地,请求才能发送成功。

2. Postman 添加



3.2.3 配置开源 Hive 数据源

1. Curl 命令添加:



用 postman 添加开源 hive 需要 core-site.xml、core-site.xml 这两个文件,文件需存放在本地,且本地路径填写正确

2. Postman 添加



3.2.4 配置 DC Connector

1. Curl 命令添加:



2. Postman 添加



3.2.5 配置 Hbase 数据源

1. Curl 命令添加:



2. Postman 添加



3.2.6 配置 Oracle 数据源

1. Curl 命令添加:



2. Postman 添加



3.2.7 配置 Mysql 数据源

1. Curl 命令添加:



2. Postman 添加



3.2.8 配置 Hana 数据源

1. Curl 命令添加:



2. Postman 添加



04 特性参数配置

4.1 State-store 参数配置

1. 所有 Hetu 节点的/etc/hetu/目录下创建 state-store.properties,按照如下模板配置: 2. 重启 hetu 服务。



hazelcast.discovery.tcp-ip.seeds 和 hazelcast.discovery.tcp-ip.profile 任选一种配置,如果两种都配置了,则 hazelcast.discovery.tcp-ip.seeds 生效,建议 hazelcast.discovery.tcp-ip.seeds 配置 2 个地址及以上。

4.2 Hetu metastore 参数配置

1. 所有 Hetu 节点的/etc/hetu/目录下创建 hetu-metastore.properties,按照如下模板配置:




2. 重启 hetu 服务。

4.3 Hetu filesystem 参数配置

/etc/hetu 路径下创建目录 filesystem

4.3.1 hdfs-config-default.properties 参数配置

1. 在/etc/hetu/filesystem 目录下创建 hdfs-config-default.properties 文件,按照如下模板配置:



2. 如果 HDFS 禁用了 kerberos:



3. 本地文件系统配置:



4.4 AA 参数配置

1. 参考 4.1 章节配置 state-store.properties;

2. 参考 4.3.2 章节配置 hdfs-config-default.properties;

3. 在 coordinator 节点的 config.properties 文件中添加如下内容:



4. 在 worker 节点的 config.properties 文件中添加如下内容:



5. 重启 hetu 服务。

4.5 Global dynamic filter 参数配置

1. 参考 4.1 章节配置 state-store.properties。如果已配置,跳过此步骤;

2. 参考 4.3.2 章节配置 hdfs-config-default.properties。如果已配置,跳过此步骤;

3. 在所有节点的 config.properties 文件中添加如下内容:



4.6 Execution plan cache 参数配置

1. 有 Hetu 节点的 config.properties 添加如下配置,默认开启,无需额外配置;



2. 重启 hetu 服务。

4.7 Star Tree 参数配置

1. 参考 4.2 章节配置 hetu-metastore.properties。如果已配置,跳过此步骤;

2. 在所有节点的 config.properties 文件中添加如下内容:



Session 配置:set session enable_star_tree_index=true

4.8 Task Recovery 参数配置

1. 参考 4.3.2 章节配置 hdfs-config-default.properties。如果已配置,跳过此步骤;

2. 在所有节点的 config.properties 文件中添加如下内容:



只支持 session 配置:set session snapshot_enabled=true

4.9 Reuse exchange 参数配置

1. 所有 Hetu 节点的 config.properties 添加如下配置;



4.10 CTE(Common Table Expression)参数配置

1. 所有 Hetu 节点的 config.properties 添加如下配置:



2. Session 配置:set session cte_reuse_enabled=true

4.11 Hindex 参数配置

在 etc/config.properties 中添加如下配置:



在 etc/filesystem 下创建 index-store.properties 文件,并写入如下配置:



4.12 Pushdown framework 参数配置--hanxu

下面分别时 dc,oracle,mysql,oracle,hana connector 的 pushdown 配置; 在 dc.properties 里面加入如下配置:



在 oracle.properties,mysql.properties,hana.properties 里面加入如下配置:



4.13 UDF pushdown 参数配置

Hetu 所有节点的 config.properties 添加如下配置,默认为 true:



4.14 CBO-aggregation 参数配置

Hetu coordinator 节点的 config.properties 添加如下配置,默认关闭:



Session 配置:set session sort_based_aggregation_enabled=true 相关参数:prcnt_drivers_for_partial_aggr=5

05 参数优化

5.1 Hetu Core 相关参数 ​

5.1.1 表 5-1 jvm.properties 参数配置



​ 5.1.2 表 5-2 config.properties 参数配置





5.2 Connector 相关参数 5.2.1 Hive 相关参数:




5.2.2 DM 相关优化:




06 FQA

一、 对接 FI hive

将 hdfs-site.xml 文件中的“dfs.client.failover.proxy.provider.hacluster”配置值改成“org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider”,如下所示: <property> <name>dfs.client.failover.proxy.provider.hacluster</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property>

二、 LK 删除大表失败,实际上表已删除




解决方法: if table is large, during drop it tries to delete partitions and all, which might be taking more than 10s , if that time is expire, then timeout happens .. in the backend table is dropped but due to timeout failure propagated error becomes different "table not found". though its deleted in the same request

hive.properties 添加如下参数: hive.metastore-timeout=60s


三、Query 20210306_101831_00184_wx7j4 failed: Unable to create input format org.apache.hadoop.mapred.TextInputFormat

解决方法: 将缺少的 hadoop-plugins-1.0.jar 打包到 hive connector plugin 中。


——openLooKeng,Big Data Simplified ★

发布于: 16 小时前阅读数: 3
用户头像

openLooKeng

关注

愿景:让大数据更简单 2021.04.14 加入

openLooKeng是一款高效的数据虚拟化引擎,提供统一SQL接口,具备跨数据源/数据中心分析能力,致力于为用户提供极简的数据分析体验。社区官网:https://openlookeng.io

评论

发布
暂无评论
如何拥有自己的openLooKeng?超详细的安装配置指导看这里