配置存算分离集群(委托方式) 为已有集群配置存算分离功能 : 1. 登录MRS控制台,在导航栏选择“集群列表 > 现有集群”。 2. 单击集群名称,进入集群详情页面。 3. 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。 4. 在集群详情页的“概览”页签,单击委托右侧的“管理委托”选择需要绑定的委托并单击“确定”进行绑定,或单击“新建委托”进入IAM控制台进行创建后再在此处进行绑定。 3.创建OBS文件系统用于存放数据 说明 大数据存算分离场景,请务必使用OBS并行文件系统,使用普通对象桶会对集群性能产生较大影响。 1. 登录OBS控制台。 2. 单击“并行文件系统 > 创建并行文件系统”。 3. 填写文件系统名称,例如“mrsword001”。 其他参数请根据需要填写。 4. 单击“立即创建”。 5. 在OBS控制台并行文件系统列表中,单击文件系统名称进入详情页面。 6. 在左侧导航栏选择“文件”,新建program、input文件夹。 program:请上传程序包到该文件夹。 input:请上传输入数据到该文件夹。 4.访问OBS文件系统 1. 用root用户登录集群Master节点,具体请参见登录集群节点。 2. 配置环境变量。 MRS 3.x之前版本请执行:source /opt/client/bigdataenv MRS 3.x及之后版本请执行:source /opt/Bigdata/client/bigdataenv 3. 验证Hadoop访问OBS。 a. 查看文件系统mrsword001下面的文件列表。 hadoop fs ls obs://mrsword001/ b. 返回文件列表即表示访问OBS成功。 详见下图: Hadoop验证返回文件列表 4. 验证Hive访问OBS。 a. 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户,当前用户需要具有创建Hive表的权限,具体请参见创建角色配置拥有对应权限的角色,参考创建用户创建用户并为用户绑定对应角色。如果当前集群未启用Kerberos认证,则无需执行此命令。 kinit MR集群用户 例如,kinit hiveuser b. 执行Hive组件的客户端命令。 beeline c. 在beeline中直接使用obs的目录进行访问。例如,执行如下命令创建Hive表并指定数据存储在mrsword001文件系统的testobs目录中。 create table testobs(a int, b string) row format delimited fieldsterminated by "," stored as textfile location "obs://mrsword001/testobs"; d. 执行如下命令查询所有表,返回结果中存在表testobs,即表示访问OBS成功。 show tables; 详见下图: Hive验证返回已创建的表名 e. 使用“Ctrl + C”退出hive beeline。 5. 验证Spark访问OBS。 a. 执行Spark组件的客户端命令。 sparkbeeline b. 在sparkbeeline中访问OBS,例如在obs://mrsword001/table/目录中创建表test。 create table test(id int) location 'obs://mrsword001/table/'; c. 执行如下命令查询所有表,返回结果中存在表test,即表示访问OBS成功。 show tables; 详见下图: Spark验证返回已创建的表名 d. 使用“Ctrl + C”退出退出spark beeline。 6. 验证Presto访问OBS。 −未开启Kerberos认证的普通集群 i.执行如下命令连接客户端。 prestocli.sh ii. 在Presto客户端中执行语句创建schema,指定location为OBS路径,例如: CREATE SCHEMA hive.demo01 WITH (location 'obs://mrsword001/prestodemo002/'); iii. 在该schema中建表,该表的数据即存储在OBS文件系统内,例如: CREATE TABLE hive.demo.demotable WITH (format 'ORC') AS SELECT FROM tpch.sf1.customer; 详见下图:普通集群Presto验证返回结果 iv. 执行exit退出客户端。 −开启Kerberos认证的安全集群 i.登录MRS Manager创建一个拥有“Hive Admin Privilege”权限的角色,例如prestorole,创建角色请参考创建角色。 ii.创建一个属于“Presto”和“Hive”组的用户,同时为该用户绑定中创建的角色,例如presto001,创建用户请参考创建用户。 iii. 认证当前用户。 kinit presto001 iv. 下载用户凭证。 1)针对MRS 3.x之前版本集群,在MRS Manager页面,选择“系统设置 > 用户管理 ”,单击新增用户所在行的“更多 > 下载认证凭据”。 详见下图: 下载Presto用户认证凭据 2)针对MRS 3.x及之后版本,在FusionInsight Manager页面,选择“系统 > 权限 > 用户”,单击新增用户所在行的“更多 > 下载认证凭据”。 详见下图:下载Presto用户认证凭据 v. 解压下载的用户凭证文件,得到“krb5.conf”和“user.keytab”两个文件并放入客户端目录,例如“/opt/Bigdata/client/Presto/”。 vi.执行如下命令获取用户principal。 klist kt /opt/Bigdata/client/Presto/user.keytab vii. 启用Kerberos认证的集群,执行以下命令连接本集群的Presto Server。 prestocli.sh krb5configpath {krb5.conf 文件路径} krb5principal { 用户principal} krb5keytabpath {user.keytab文件路径} user {presto用户名} krb5.conf文件路径:请替换为6.v中设置的文件存放路径,例如“/opt/Bigdata/client/Presto/krb5.conf” user.keytab文件路径:请替换为6.v中设置的文件存放路径,例如“/opt/Bigdata/client/Presto/user.keytab” 用户principal:请替换为6.vi中返回的结果 presto用户名:请替换为6.ii中创建的用户名,例如“presto001” 例如:prestocli.sh krb5configpath /opt/Bigdata/client/Presto/krb5.conf krb5principal prest001@xxxxxxxxxxxx.1COM krb5keytabpath /opt/Bigdata/client/Presto/user.keytab user presto001 viii. 在Presto客户端中执行语句创建schema,指定location为OBS路径,例如: CREATE SCHEMA hive.demo01 WITH (location 'obs://mrsword001/prestodemo002/'); ix. 在该schema中建表,该表的数据即存储在OBS文件系统内,例如: CREATE TABLE hive.demo01.demotable WITH (format 'ORC') AS SELECT FROM tpch.sf1.customer; 详见下图:安全集群Presto验证返回结果 x. 执行exit退出客户端。 7. 验证Flink访问OBS。 a. 在集群详情页的“概览”页签,单击“IAM用户同步”右侧的“同步”进行IAM用户同步。 b. 用户同步完成后,在集群详情页选择“作业管理 > 添加”提交Flink作业,在“执行程序参数”中按照“input output ”格式填写,其中作业输入路径选择OBS,输出路径请手动输入一个不存在的目录,例如obs://mrsword001/output/,如下图所示。 详见下图: 添加Flink作业 c. 在OBS控制台,进入提交作业时选择的输出路径,即可查看到输出目录已经自动创建并存放着作业执行结果,表示访问OBS成功。 详见下图:Flink作业执行结果