首页 > 其他分享 >OushuDB连接带kerberos的HDFS

OushuDB连接带kerberos的HDFS

时间:2023-02-07 10:34:25浏览次数:39  
标签:HDFS keytab postgres hawq kerberos etc gpadmin OushuDB


一. KDC上的操作

1. 登录KDC server,将Kerberos配置文件/etc/krb5.conf分发至KDW每个节点:

scp /etc/krb5.conf 10.0.5.58:/etc/

scp /etc/krb5.conf 10.0.5.146:/etc/

scp /etc/krb5.conf 10.0.5.239:/etc/

2. 创建KDW的principal

kadmin.local -q "addprinc -randkey [email protected]"

kadmin.local -q "xst -k /etc/security/keytabs/hawq.keytab [email protected]"

3. 将keytab文件分发至OushuDB Master节点

scp /etc/security/keytabs/hawq.keytab 10.0.5.58:/home/gpadmin/hawq.keytab

4.    外部HDFS集群,/etc/hadoop/conf/core-site.xml把这个entity改一下:

<property>

      <name>hadoop.rpc.protection</name>

      <value>authentication,privacy</value>

    </property>

改成:

<value>authentication</value>

二.  OushuDB上的操作

1. 登录OushuDB Master更改keytab文件的用户权限

chown gpadmin:gpadmin /home/gpadmin/hawq.keytab

更改keytab文件的用户权限

chmod 400 /home/gpadmin/hawq.keytab

2. 修改hawq-site.xml,添加如下内容

        <property>

                <name>enable_secure_filesystem</name>

                <value>ON</value>

        </property>

        <property>

                <name>krb_server_keyfile</name>

                <value>/home/gpadmin/keys/hawq.keytab</value>

        </property>

              <!—如果principal配置的是postgres用户,那么不用添加,但是hdfs也要改成postgres权限

        <property>

                <name>krb_srvname</name>

                <value>postgres</value>

        </property>

3. 修改hdfs-client.xml,添加如下内容

        <property>

                <name>hadoop.security.authentication</name>

                <value>kerberos</value>

        </property>

        <property>

                <name>hadoop.rpc.protection</name>

                <value>authentication</value>

        </property>

4. 分发至OushuDB各个节点

5. 将HDFS上OushuDB数据目录属主改为postgres用户

sudo -u hdfs hadoop fs -chown -R postgres:gpadmin /<dfs_url>

三.  验证

1. 创建外部表

CREATE  EXTERNAL TABLE t_ext (a1 varchar) LOCATION ('hdfs://xxxx:8020/tmp/test') format 'csv';

2. 查询

select * from t_ext;

标签:HDFS,keytab,postgres,hawq,kerberos,etc,gpadmin,OushuDB
From: https://blog.51cto.com/u_15334349/6041397

相关文章

  • OushuDB 创建和管理表空间
    OushuDB里的表空间允许数据库管理员在文件系统里定义那些代表数据库对象的文件存放位置。一旦创建了表空间,那么就可以在创建数据库对象的时候引用它。通过使用表空间,管理......
  • About OushuDB (Oushu Database)
    OverviewOushuDatabase(OushuDBforshort)isanewgenerationofcloud-nativedatawarehousecreatedbythefoundingteamofApacheHAWQ.Thisproductadoptst......
  • 09 数据库查询(3) | OushuDB 数据库使用入门
    表连接、组合查询大家好,本节课程我们将学习数据查询的进阶部分,主要包括表连接和组合查询。在上一节的课程中,我们尝试了在两个数据表中通过不同的条件来查询想要的数据,但是在......
  • 07 数据库查询(1) | OushuDB 数据库使用入门
    大家好,接下来我们一起学习数据查询的基础部分。 首先,什么是数据查询?从数据库中检索数据的过程或命令叫做查询。通用语法在SQL里,SELECT命令用于声明查询,通用语法如下:SE......
  • 06 数据操纵之数据更新与删除 | OushuDB 数据库使用入门
    更新数据修改已经存储在数据库中的数据的行为叫做更新。你可以更新单独的一行,也可以更新表中所有的行,还可以更新其中的一部分行。我们可以独立地更新每个列,而其它的列则不......
  • 05 数据操纵之插入数据 | OushuDB 数据库使用入门
    大家好,这一节课我们来学习数据操纵,在完成数据库的创建后,我们需要对数据库进行读写操作。最常见的数据操纵方式包括插入数据、更新数据和删除数据。目前OushuDB兼容的表格式......
  • 03 如何修改数据表? | OushuDB 数据库使用入门
    修改表当我们创建了一个表后发现自己犯了一个错误,或者是应用的需求发生了变化,那么我们可以删除这个表然后重新创建它。但是如果这个表已经填充了许多数据,或者该表已经被其它......
  • 02 如何创建数据表? | OushuDB 数据库使用入门
    基本概念在关系型数据库中,表由行和列组成。其中表的列的数目和顺序是固定的,每个列都有一个名字,并且有指定的数据类型,即限制着这个列可以存储的范围。比如,声明为数值类型的列......
  • 01 如何创建数据库? | OushuDB 数据库使用入门
    创建和管理数据库数据库是使用CREATEDATABASE命令创建的,可以通过DROPDATABASE命令删除。如果我们要查看现有数据库的集合,可以检查系统表pg_database,比如通过查询语句:SELEC......
  • hive的Caused by: org.apache.hadoop.hdfs.BlockMissingException: Could not obtain
    早上起来去跑个hive的sql,稍微复杂点sql,就会报错如Causedby:org.apache.hadoop.hdfs.BlockMissingException:Couldnotobtainblock:BP-572947236等,经过一个一个小时......