FusionInsight Hive 对接 Apache Drill
对接HIVE
说明:apache drill 1.15版本的hive版本为2.3.2, FI HD V100R002C80SPC200版本hive版本为1.3.0,版本不匹配,不能对接成功,需要使用drill 1.12.0版本,故本节所述使用的drill版本都为1.12.0
• 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,并点击保存配置,重启相关服务
完成后重新下载集群配置文件
注意:此步骤为更改集群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目录下:
其中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的路径
到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/`
• 修改drill安装路径/bin/drill-config.sh文件如下:
在 3rdparty路径导入前加入一行:
CP="$CP:$DRILL_HOME/jars/hd_jars/*"
• 登陆对接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
• 登陆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"
}
• 重启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"
}
}
其中hive.metastore.uris可在集群hive-site.xml文件中查到
• 后台登陆drill,使用show databases命令查看数据库:
使用命令use huaweihive;使用hive连接:
使用命令show tables;查看hive表:
使用查询命令查询hive表:
- 点赞
- 收藏
- 关注作者
评论(0)