您现在的位置是:首页 >  编程分享 > EXPERIENCEEXPERIENCE

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

openLooKeng 转载 编程分享 2021-09-06

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


朋友们,如果您关注我们,知道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.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 ★

openLooKeng开源社区官网 https://openlookeng.io

微信公众号 | openLooKeng

社群小助手 | openLooKengoss

扫码关注我们

openLooKeng微信公众号

本文转载请联系openLooKeng

参考地址:https://my.oschina.net/u/4742090/blog/5226692


Tags:


本篇评论 —— 揽流光,涤眉霜,清露烈酒一口话苍茫。


    声明:参照站内规则,不文明言论将会删除,谢谢合作。


      最新评论



ABOUT ME

Name:袅袅牧童 | Arkin

Job:Web全栈技术工程师

WeChat:nnmutong

Email:nnmutong@icloud.com

标签云