五、为pxf安装和配置hadoop客户端

为PXF安装和配置Hadoop客户端

您使用PXF连接器访问外部数据源。从以下来源读取外部数据时,PXF需要在每个Greenplum数据库段主机上安装客户端:

  • hadoop
  • hive
  • hbase

PXF要求必须安装Hadoop客户端。如果需要访问hive、hbase数据的时候才需要安装hive、hbase客户端。
适用于PXF的兼容Hadoop,Hive和HBase客户端包括Cloudera,Hortonworks数据平台和通用Apache发行版。
本主题介绍如何为PXF安装和配置Hadoop,Hive和HBase客户端,通过rpm包的方式进行安装。当您通过RPM安装这些客户端时,PXF会自动检测您的Hadoop发行版和可选的Hive和HBase安装,并相应地设置某些配置和类路径。
如果您的Hadoop,Hive和HBase安装是自定义或tarball分发,请参阅使用自定义客户端安装获取说明。

环境准备

在为PXF设置Hadoop,Hive和HBase客户端之前,请确保您具有:

  • scp 访问Hadoop集群中运行HDFS,Hive和HBase服务的主机。
  • 超级用户权限,用于yum在每个Greenplum数据库段主机上添加存储库文件和安装RPM包。
  • 在每个Greenplum数据库段主机上访问或以超级用户身份安装Java版本1.7或1.8。

注意:如果您计划访问存储在Cloudera Hadoop集群中的JSON格式数据,则PXF需要Cloudera 5.8或更高版本的Hadoop发行版。

操作流程

执行以下过程,在Greenplum Database集群中的每个段主机上安装和配置PXF的相应客户端。尽可能的使用gpssh实现在多个主机上运行相同的命令。

1、登录Greenplum Database主节点并设置环境:

$ ssh gpadmin@<gpmaster>
gpadmin@gpmaster$ . /usr/local/greenplum-db/greenplum_path.sh

2、创建一个文本文件,列出您的Greenplum数据库所有的segment主机名称,每行一个主机名。确保文件中没有空行或多余空格。例如,名为的文件seghostfile可能包括:

seghost1
seghost2
seghost3

3、如果未安装jdk,请在每个Greenplum数据库段主机上安装jdk。例如:

gpadmin@gpmaster$ gpssh -e -v -f seghostfile sudo yum -y install java-1.8.0-openjdk-1.8.0*

4、确定Java安装目录。更新每个segment主机上的gpadmin用户.bash_profile文件,以包含此$JAVA_HOME设置(如果尚未存在)。例如:

gpadmin@gpmaster$ gpssh -e -v -f seghostfile "echo 'export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64/jre' >> /home/gpadmin/.bash_profile"

5、在每个segment主机设置hadoop安装包的yum源。

a.下载Hadoop发行版的.repo文件。例如,一下是各个发行版本的.repo的文件,系统为rhel 6:

对于Cloudera发行版:

gpadmin@gpmaster$ wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo

对于Hortonworks Data Platform发行版:

gpadmin@gpmaster$ wget http://public-repo-1.hortonworks.com/HDP/centos6/2.x/updates/2.6.2.0/hdp.repo
b.将.repo文件复制到每个Greenplum数据库segment主机。例如:
gpadmin@gpmaster$ gpscp -v -f seghostfile <hadoop-dist>.repo =:/etc/yum.repos.d

在.repo文件到位后,您可以使用该yum实用程序来安装客户端RPM软件包。

6、在每个Greenplum数据库segment主机上安装Hadoop客户端。例如:

gpadmin@gpmaster$ gpssh -e -v -f seghostfile sudo yum -y install hadoop-client

7、如果您计划使用PXF Hive连接器访问Hive表数据,请在每个Greenplum数据库段主机上安装Hive客户端。例如:

gpadmin@gpmaster$ gpssh -e -v -f seghostfile sudo yum -y install hive

8、如果您计划使用PXF HBase连接器访问HBase表数据,请在每个Greenplum数据库段主机上安装HBase客户端。例如:

gpadmin@gpmaster$ gpssh -e -v -f seghostfile sudo yum -y install hbase

您已在Greenplum数据库群集中的每个segment主机上安装了所需的客户端软件包。将相关的HDFS,Hive和HBase配置从Hadoop集群复制到每个Greenplum数据库segment主机。您将使用该gpscp实用程序将文件复制到多个主机。

客户端配置

1、Hadoop

core-site.xml配置文件fs.defaultFS属性值标识HDFS NameNode URI。PXF需要此信息才能访问您的Hadoop集群。示例fs.defaultFS设置如下:

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://namenode.domain:8020</value>
</property>

PXF需要来自core-site.xml其他Hadoop配置文件的信息。将这些文件从Hadoop集群复制到每个Greenplum数据库segment主机。

a.副本core-site.xml,hdfs-site.xml以及mapred-site.xmlHadoop配置文件从Hadoop集群的NameNode主机到当前主机。例如:
gpadmin@gpmaster$ scp hdfsuser@namenode:/etc/hadoop/conf/core-site.xml .
gpadmin@gpmaster$ scp hdfsuser@namenode:/etc/hadoop/conf/hdfs-site.xml .
gpadmin@gpmaster$ scp hdfsuser@namenode:/etc/hadoop/conf/mapred-site.xml .

接下来,将这些Hadoop配置文件复制到每个Greenplum数据库segment主机。例如:

gpadmin@gpmaster$ gpscp -v -f seghostfile core-site.xml =:/etc/hadoop/conf/core-site.xml
gpadmin@gpmaster$ gpscp -v -f seghostfile hdfs-site.xml =:/etc/hadoop/conf/hdfs-site.xml
gpadmin@gpmaster$ gpscp -v -f seghostfile mapred-site.xml =:/etc/hadoop/conf/mapred-site.xml

2、Hive

hive-site.xml配置文件hive.metastore.uris属性值标识Hive Metastore URI。PXF需要此信息才能访问Hive服务。示例hive.metastore.uris设置如下:

<property>
    <name>hive.metastore.uris</name>
    <value>thrift://metastorehost.domain:9083</value>
</property>

如果您计划使用PXF Hive连接器访问Hive表数据,请将Hive配置复制到每个Greenplum数据库segment主机。

a.将hive-site.xml配置文件从运行Hive服务的主机之一复制到当前主机。例如:
gpadmin@gpmaster$ scp hiveuser@hivehost:/etc/hive/conf/hive-site.xml .
b.接下来,将hive-site.xml配置文件复制到每个Greenplum数据库segment主机。例如:
gpadmin@gpmaster$ gpscp -v -f seghostfile hive-site.xml =:/etc/hive/conf/hive-site.xml

3、HBase

hbase-site.xml配置文件hbase.rootdir属性值标识HBase数据目录的位置。PXF需要此信息才能访问HBase服务。示例hbase.rootdir设置如下:

<property>
    <name>hbase.rootdir</name>
    <value>hdfs://hbasehost.domain:8020/apps/hbase/data</value>
</property>

如果计划使用PXF HBase连接器访问HBase表数据,请将HBase配置复制到每个Greenplum数据库segment主机。

a.将hbase-site.xml配置文件从运行HBase服务的主机之一复制到当前主机。例如:
gpadmin@gpmaster$ scp hbaseuser@hbasehost:/etc/hive/conf/hbase-site.xml .
b.接下来,将hbase-site.xml配置文件复制到每个Greenplum数据库segment主机。例如:
gpadmin@gpmaster$ gpscp -v -f seghostfile hive-site.xml =:/etc/hbase/conf/hbase-site.xml

更新Hadoop配置

如果在PXF服务运行时更新Hadoop,Hive或HBase配置,则必须将更新的.xml文件复制到每个Greenplum数据库segment主机并重新启动PXF。

使用自定义客户端安装

如果您无法通过支持的发行版中的RPM安装Hadoop,Hive和HBase客户端,则可以进行自定义安装。
使用HADOOP_ROOT和HADOOP_DISTRO环境变量为PXF提供所需的hadoop客户端安装路径。如下所述,必须$GPHOME/pxf/conf/pxf-env.sh配置文件中或者是环境变量中设置该值。
如果必须从tarball安装Hadoop和可选的Hive和HBase客户端发行版:

  • 您必须在Hadoop根目录的所有子目录的对等目录中安装Hadoop和可选的Hive和HBase客户端。这些客户端目录必须被简单地命名为hadoop,hive和hbase。
  • 您必须在HADOOP_ROOT环境变量设置中标识Hadoop根目录的绝对路径。
  • 该目录$HADOOP_ROOT/hadoop/share/hadoop/common/lib必须存在。

如果上述要求不适用于您的Hadoop发行版:

  • 您必须将HADOOP_DISTRO环境变量设置为该值CUSTOM。
  • 初始化PXF后,必须手动编辑该$GPHOME/pxf/conf/pxf-private.classpath文件以标识Hadoop,Hive和HBase JAR及配置文件的绝对路径。您必须在启动PXF之前编辑此文件。

注意:安装自定义客户端后,必须按照上述过程中的说明和配置复制Hadoop,Hive和HBase配置到greenplum 数据库的所有segment主机节点上。


参考网址:http://gpdb.docs.pivotal.io/580/pxf/client_instcfg.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值