FusionInsight Hive 对接 Apache Drill

举报
晋红轻 发表于 2020/10/30 19:34:08 2020/10/30
【摘要】 Apache Drill是一个低延迟的分布式海量数据(涵盖结构化、半结构化以及嵌套数据)交互式查询引擎,使用ANSI SQL兼容语法,支持本地文件、HDFS、HBase、MongoDB等后端存储,支持Parquet、JSON、CSV、TSV、PSV等数据格式。 本文介绍Apache Drill安装以及对接FusionInsight Hive

对接HIVE

说明:apache drill 1.15版本的hive版本为2.3.2, FI HD V100R002C80SPC200版本hive版本为1.3.0,版本不匹配,不能对接成功,需要使用drill 1.12.0版本,故本节所述使用的drill版本都为1.12.0

image.png 

 

• ApacheDrill 1.12.0对接 FI HD V100R002C80SPC200 Hive服务前提条件:

下载ApacheDrill 1.12.0的安装包apache-drill-1.12.0.tar.gz, 参考上述《安装Apache Drill》章节完成drill安装

参考上述《对接HDFS》章节完成对接drill 1.12.0版本与FI HD的对接,因为对接hdfs是连接hive的基础,所以需要完成此步骤

• 由于drill 1.12.0版本支持对接ha模式的大数据集群,为减少依赖相关错误发生,更改对接FI HD集群HDFS服务中dfs.client.failover.proxy.provider.hacluster配置项的值为org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider,并点击保存配置,重启相关服务

 image.png

 

 完成后重新下载集群配置文件

 注意:此步骤为更改集群HDFS配置,属于高危操作。如果不能更改集群配置则相应的规避方式如下(只改对接需要使用的配置文件hdfs-site.xml而不对集群配置做实际更改):

 修改配置文件hdfs-site.xml文件中的配置项dfs.client.failover.proxy.provider.hacluster的值改成org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

• 在对接集群的配置文件找到hdfs-site.xml以及yarn-site.xml文件导入到drill安装路径/conf目录下:

 image.png

 

 其中core-site.xml配置文件在对接HDFS的时候已经导入,并且修改过fs.defaultFS配置项, hdfs-site.xml文件的dfs.client.failover.proxy.provider.hacluster 配置项做相应更改,改成org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider

• drill安装路径/jars下使用命令mkdir hd_jars新建一个名为hd_jars的路径

 image.png

 

 FI HD客户端下找到Jar包 hadoop-yarn-api-2.7.2.jar, 并将此jar包拷贝到hdjars路径下
`cp /opt/hadoopclient/HDFS/hadoop/share/hadoop/yarn/hadoop-yarn-api-2.7.2.jar /opt/drill/apache-drill-1.12.0/jars/hdjars/`

 image.png

 

• 修改drill安装路径/bin/drill-config.sh文件如下:

  3rdparty路径导入前加入一行:

 CP="$CP:$DRILL_HOME/jars/hd_jars/*"

 image.png

 

 

• 登陆对接FI HD集群172.16.2.11, 使用如下命令找到对接hive相关认证keytab文件hive.keytab并把此文件传至drill主机/opt路径下:

 find /opt -name hive.keytab
scp /opt/huawei/Bigdata/components/FusionInsight_HD_V100R002C80SPC200/Hive/hive.keytab root@172.16.2.123:/opt

 image.png

 

• 登陆drill主机,准备对接集群相关的krb5.conf文件(可从manager下载),复制到drill主机/etc路径下并覆盖,apachedrill默认从/etc/路径下读取krb5.conf文件,如果此步之前做过可以不做

• 修改drill安装路径/conf/drill-override.conf配置文件如下:

 drill.exec: {
  cluster-id: "drillbits1",
  zk.connect: "localhost:2181"
  security.auth.principal: "hive/hadoop.hadoop.com@HADOOP.COM"
  security.auth.keytab: "/opt/hive.keytab"
  sys.store.provider.local.path = "/home/drill"
}

 image.png

 

• 重启drill,登陆drill WebUI,创建新的storage名字为huaweihive并enable,内容如下:

 {
  "type": "hive",
  "enabled": true,
  "configProps": {
    "hive.metastore.uris": "thrift://172.16.6.10:21088,thrift://172.16.6.11:21088",
    "hive.metastore.kerberos.principal": "hive/hadoop.hadoop.com@HADOOP.COM",
    "hive.metastore.sasl.enabled": "true",
    "fs.default.name": "hdfs://172.16.6.12:25000",
    "inputDirectories": "hdfs://172.16.6.12:25000"
  }
}

 image.png

 

 其中hive.metastore.uris可在集群hive-site.xml文件中查到

• 后台登陆drill,使用show databases命令查看数据库:

 image.png

 

 使用命令use huaweihive;使用hive连接:

 image.png

 

 使用命令show tables;查看hive表:

 image.png

 

 使用查询命令查询hive表:

 image.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。