Hadoop 数据提取和客户端访问安全

发布于 2021-04-19 23:54:54 字数 3794 浏览 1086 评论 0

边缘节点

边缘节点托管web接口、代理和客户端配置。边缘节点部署的服务有:

  • HDFS HttpFS and NFS gateway
  • Hive HiveServer2 and WebHCatServer
  • Network proxy/load balancer for Impala
  • Hue server and Kerberos ticket renewer
  • Oozie server
  • HBase Thrift server and REST server
  • Flume agent
  • Client configuration files

下面是一些典型的边缘节点类型:

  • Data Gateway
    HDFS HttpFS and NFS gateway, HBase Thrift server and REST server, Flume agent

    • SQL Gateway
      Hive HiveServer2 and WebHCatServer, Impala load-balancing proxy (e.g., HAP‐roxy)
  • User Portal
    Hue server and Kerberos ticket renewer, Oozie server, client configuration files

Hadoop 命令行接口

核心Hadoop命令行工具(hdfs、yarn和mapred)仅支持Kerberos或授权令牌进行身份验证。认证这些命令的最简单的方法是在执行命令之前使用kinit 获取Kerberos票证授予票据(ticket-granting ticket)。

$ kinit webb3@AMBARI.APACHE.ORG                (登录使用kerberos的kinit工具)
$ hdfs dfs -mkdir /tmp/webb          (创建/tmp/webb目录)
$ hdfs dfs -ls /tmp                  (查看/tmp目录)
...
drwxr-xr-x   - webb3     hdfs          0 2017-04-25 02:31 /tmp/webb     (这是新创建的目录,注意这个目录的拥有者是webb3)

hive 命令行测试

HDFS的superuser是hdfs。当haddop集群启用kerberos后,hdfs的主体并没有在KDC中建立。测试中碰到针对HDFS的权限不足时,可能会用到HDFS的超级用户,可以用kadmin命令来在KDC创建hdfs的主体。在u1404上执行:

$ kadmin
kadmin:  add_principal hdfs      
Enter password for principal "hdfs@AMBARI.APACHE.ORG":            (需要输入hdfs的密码)
Re-enter password for principal "hdfs@AMBARI.APACHE.ORG":         (再次输入hdfs的密码)
Principal "hdfs@AMBARI.APACHE.ORG" created.

使用hive命令行工具beeline连接HiveServer2。其中jdbc:hive2://u1403.ambari.apache.org:10000/default是JDBC URL,principal=hive/u1403.ambari.apache.org@AMBARI.APACHE.ORG是连接使用的Hive Kerberos主体。beeline命令以感叹号!开始。

$ kinit webb3@AMBARI.APACHE.ORG          (使用主体webb3访问Hive)
$ beeline
Beeline version 1.2.1000.2.5.3.0-37 by Apache Hive
beeline> !connect jdbc:hive2://u1403.ambari.apache.org:10000/default;principal=hive/u1403.ambari.apache.org@AMBARI.APACHE.ORG
Connecting to jdbc:hive2://u1403.ambari.apache.org:10000/default;principal=hive/u1403.ambari.apache.org@AMBARI.APACHE.ORG
Enter username for jdbc:hive2://u1403.ambari.apache.org:10000/default;principal=hive/u1403.ambari.apache.org@AMBARI.APACHE.ORG:
Enter password for jdbc:hive2://u1403.ambari.apache.org:10000/default;principal=hive/u1403.ambari.apache.org@AMBARI.APACHE.ORG:
Connected to: Apache Hive (version 1.2.1000.2.5.3.0-37)
Driver: Hive JDBC (version 1.2.1000.2.5.3.0-37)
Transaction isolation: TRANSACTION_REPEATABLE_READ

下面在Hive创建一个外部表,表文件存放在前面创建的HDFS/tmp/webb/student目录下:

0: jdbc:hive2://u1403.ambari.apache.org:10000> CREATE EXTERNAL TABLE student(name string, age int, gpa double) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'STORED AS TEXTFILE LOCATION '/tmp/webb/student';
0: jdbc:hive2://u1403.ambari.apache.org:10000> show tables;    (显示hive中数据库表清单)
+---------------+--+
|   tab_name    |
+---------------+--+
| student       |
+---------------+--+
3 rows selected (0.284 seconds)
0: jdbc:hive2://u1403.ambari.apache.org:10000> SELECT * FROM student;       (显示hive表student中数据,可看到列名,数据空)
+---------------+--------------+--------------+--+
| student.name  | student.age  | student.gpa  |
+---------------+--------------+--------------+--+
+---------------+--------------+--------------+--+
No rows selected (0.425 seconds)

下面利用直接利用hdfs命令行看看HDFS中hive建立的/tmp/webb/student文件:

$ hdfs dfs -ls /tmp/webb
Found 1 items
drwxr-xr-x   - webb3 hdfs          0 2017-04-25 07:48 /tmp/webb/student

看到hive表对应到HDFS中是个同名的目录。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

JSmiles

生命进入颠沛而奔忙的本质状态,并将以不断告别和相遇的陈旧方式继续下去。

0 文章
0 评论
84960 人气
更多

推荐作者

lorenzathorton8

文章 0 评论 0

Zero

文章 0 评论 0

萧瑟寒风

文章 0 评论 0

mylayout

文章 0 评论 0

tkewei

文章 0 评论 0

17818769742

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文