0696-5.16.1-如何使用SAS连接CDH5.16.1集群的Hive和Impala

Fayson的github: https://github.com/fayson/cdhproject

推荐关注微信公众号:“Hadoop实操”,ID:gh_c4c535955d0f

1 文档编写目的

SAS提供了从基本统计数的计算到各种试验设计的方差分析,相关回归分析以及多变数分析的多种统计分析过程,几乎囊括了所有最新分析方法,其分析技术先进,可靠。分析方法的实现通过过程调用完成。许多过程同时提供了多种算法和选项。Cloudera与SAS是相互认证的合作伙伴,在各自的官网都能找到集成安装的专业文档,也能得到专业的支持。本文主要介绍SAS的安装,并通过SAS访问Kerberos和非Kerberos环境下的Hive和Impala。

内容概述
1.前置准备
2.SAS安装与配置
3.非Kerberos环境集成
4.Kerberos环境集成
5.总结

测试环境
1.CM和CDH版本均为5.16.1
2.采用root用户
3.客户端系统Windows 10
4.SAS版本为9.4

2 SAS安装与配置

1.将下载好的安装包解压(只需解压一个即可),得到如下文件夹
在这里插入图片描述
2.进入解压后的文件夹,然后以管理员身份运行setup.exe
在这里插入图片描述

在这里插入图片描述

3.语言选择,选择简体中文

在这里插入图片描述

4.选择【安装SAS软件】

在这里插入图片描述

5.配置SAS的安装主目录
在这里插入图片描述

6.选择【安装SAS Foundation和相关软件】

在这里插入图片描述

7.除了SAS Bridge for Esri这一项之外,其他项全选
在这里插入图片描述

8.根据操作系统选择相应的版本
在这里插入图片描述
在这里插入图片描述
9.勾选全部产品,可以看到有访问Hadoop和Impala的接口
在这里插入图片描述

10.添加SID文件
在这里插入图片描述

11.先【全部清除】,然后选择【简体中文】

在这里插入图片描述

12.确认区域设置
在这里插入图片描述
13.选择【SAS Foundation(64位)】
在这里插入图片描述

14.指定浏览器
在这里插入图片描述

15.设置SAS JAVA Applet的部署目录
在这里插入图片描述
取消勾选SAS开机自启
在这里插入图片描述

16.SAS PC File Server的端口号
在这里插入图片描述
17.配置SAS环境url

http://localhost:8080/saslogon/sas-environment.xml

在这里插入图片描述

18.此时显示客户端的主机名和端口
在这里插入图片描述
19.检查系统加载安装包

在这里插入图片描述

20.可以看到下面的提示,如果出现不可写文件,就要按照提示的步骤来操作
在这里插入图片描述
21.检查完成后会按照要求安装一些软件
在这里插入图片描述
单击【开始】则会开始安装,在之前没有装过SAS的主机上,会先安装一些基本的服务,这些是系统要求的部分,如果安装失败则必须要先中止余下的安装,想办法将这些系统要求的软件安装上才可以。在安装完一些系统要求的服务后可能会提示需要重启主机,这时需要重启主机,再来安装。在安装其他服务(非系统要求的必须服务)的时候,安装成功则会在左侧有个绿色的对号,有些服务可能会安装失败,这时没关系,可以直接继续安装,不会影响使用。
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

22.打开SAS主页如下
在这里插入图片描述

23.使用命令来查看可以使用的模块

proc setinit;                                                                                                                           
run;

在这里插入图片描述

注意:所列出的模块必须要包含hadoop,如果没有则需要去找一个包含hadoop模块的SID文件更新一下,确定做法在安装步骤里有讲述

3 非Kerberos环境集成

3.1 SAS客户端环境配置

1.当前集群运行正常
在这里插入图片描述
2.集群未启用kerberos认证
在这里插入图片描述
3.将/opt/Cloudera/parcels/CDH/jars目录下的所有jar包拷贝到SAS客户端目录

在这里插入图片描述

4.通过Cloudera Manager Web界面下载HDFS的客户端配置文件至本地
在这里插入图片描述

在这里插入图片描述
5.配置Window客户的环境变量

SAS_HADOOP_CONFIG_PATH=F:\Software_Install_Dir\hdfs-clientconfig\hadoop-conf
SAS_HADOOP_JAR_PATH=F:\Software_Install_Dir\jars
SAS_HADOOP_RESTFUL=1

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

注意:配置环境变量后为确保生效,需要重启下window机器。

6.将集群主机信息添加到本地C:\Windows\System32\drivers\etc\hosts文件中
在这里插入图片描述

3.2 SAS连接Hive及操作

1.打开SAS,然后执行如下代码连接Hive,并执行SQL查询

libname hive Hadoop server="192.168.0.173" database="default" user="hive" password="123456";
proc sql;
select * from hive.test;
quit;

2.如下图所示,SAS成功连接Hive的default数据库,在SAS资源管理器左侧出现了Hive逻辑库
在这里插入图片描述
3.SQL查询结果如下

在这里插入图片描述

3.3 SAS连接Impala及操作

1.下载Impala ODBC驱动

https://www.cloudera.com/downloads/connectors/impala/odbc/2-6-5.html

在这里插入图片描述

2.双击msi文件安装Impala ODBC驱动
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
3.打开【控制面板主页】-> 【管理工具】-> 【ODBC 数据源(64位)】
在这里插入图片描述

在这里插入图片描述

4.单击【添加】
在这里插入图片描述

5.选择Impala的ODBC数据源,然后单击【完成】
在这里插入图片描述

在这里插入图片描述
6.打开SAS,执行以下代码:

libname Impala impala server="192.168.0.173" database="default" user="test1" password="123456";
proc sql;
select * from Impala.test;
quit;

7.成功连接Impala,在SAS资源管理器中出现了Impala的逻辑库并执行表查询
在这里插入图片描述

4 Kerberos环境集成

4.1 SAS客户端环境配置

1.集群已启用Kerberos认证
在这里插入图片描述

2.通过Cloudera Manager Web界面下载HDFS的客户端配置文件至本地

在这里插入图片描述

在这里插入图片描述
3.修改SAS_HADOOP_CONFIG_PATH环境变量配置如下:

SAS_HADOOP_CONFIG_PATH= F:\Software_Install_Dir\hdfs-clientconfig\hadoop-conf_kb

在这里插入图片描述

4.将集群中的krb5.conf文件拷贝到SAS自带的JDK目录

F:\Software_Install_Dir\SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre\lib\security下,如下所示
在这里插入图片描述
5.安装JCE

注意:SAS在集成Kerberos环境的Impala和Hive时,没有给SAS默认的JDK安装JCE文件。

下载JCE压缩包,解压后如下所示
在这里插入图片描述

将local_policy.jar和US_export_policy.jar文件拷贝到SAS自带的JDK目录,如下所示:

在这里插入图片描述

4.2 安装Kerberos客户端

1.在Kerberos官网下载安装包,下载地址:

http://web.mit.edu/kerberos/dist/

在这里插入图片描述

2.安装步骤如下所示,双击下载好的msi文件安装客户端

在这里插入图片描述

3.单击【Next】

在这里插入图片描述
4.选择接收协议,然后单击【Next】
在这里插入图片描述
5.单击【Typical】
在这里插入图片描述

6.单击【Install】

在这里插入图片描述

7.安装完成,单击【Finish】

在这里插入图片描述
8.配置C:\ProgramData\MIT\Kerberos5\krb5.ini文件
在这里插入图片描述

将安装KDC Server的服务器上的/etc/krb5.conf配置文件中的部分内容拷贝到该文件中
在这里插入图片描述

注意:不要直接替换krb5.ini文件,否则会出现文件格式问题,建议拷贝部分内容到krb5.ini文件中,然后保存文件

9.配置环境变量,如下所示:

KRB5_CONFIG= C:\ProgramData\MIT\Kerberos5\krb5.ini

在这里插入图片描述
10. 创建一个目录tmp,用来存放kerberos用户的缓存文件krb5cache
在这里插入图片描述
配置KRB5CCNAME位置指向该目录下的krb5cache文件
在这里插入图片描述

重启机器使环境变量生效

11.配置完成后,启动MIT Kerberos客户端,如下图所示:
在这里插入图片描述
12.在Winodw端,通过MIT Kerberos客户Get Ticket
在这里插入图片描述

13.在如下列表中可以看到获取的ticket
在这里插入图片描述
14.命令行下初始化
在这里插入图片描述

15.在客户端可以看到初始化成功的Ticket
在这里插入图片描述

4.3 SAS连接Hive及操作

1.打开SAS,然后执行如下代码:

libname HIVE hadoop server="192.168.0.173" port=10000 database='default' HIVE_PRINCIPAL="hive/hadoop1.macro.com@MACRO.COM" SUBPROTOCOL=hive2;
proc sql;
select * from hive.test;
quit;

2.成功连接Hive表test,结果如下所示:
在这里插入图片描述

4.4 SAS连接Impala及操作

1.打开SAS,执行以下代码:

libname Impala impala server="192.168.0.173" port=21050 database="default" IMPALA_PRINCIPAL="impala/hadoop1.macro.com@MACRO.COM";
proc sql;
select * from Impala.test;
quit;

2.成功连接Impala,在SAS资源管理器中出现了Impala的逻辑库
在这里插入图片描述

3.查询结果如下
在这里插入图片描述

5 总结

1.SAS9.4 M6之前版本是不支持JDK1.8。

2.SAS在集成Kerberos环境的CDH集群时,需要为SAS默认的JDK安装JCE文件。

3.SAS连接CDH时需要集群的jar包及配置文件,需要在SAS客户端机器上配置环境变量,也可以在在SAS代码中指定变量值。

4.在Window客户端下需要配置kerberos的环境变量KRB5_CONFIG指向krb5.ini路径,KRB5CCNAME指向kerberos用户的缓存文件krb5cache的路径,krb5cache的父目录必须存在, krb5cache文件可以不存在,在kinit时会自动生成。

5.SAS访问Kerberos环境下的CDH集群,需要将集群的krb5.conf文件拷贝到SAS自带的JDK目录SASHome\SASPrivateJavaRuntimeEnvironment\9.4\jre\lib\security下

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值