云服务器内容精选
-
Hive操作权限 在进行应用程序开发之前,使用的用户的基本权限要求是属于Hive组,额外操作权限需从系统管理员处获取,具体权限要求请参见表2。用户运行样例程序,需要在default数据库中有CREATE权限。 表2 操作权限要求 操作类型/作用对象 操作 权限要求 DATABASE CREATE DATABASE dbname [LOCATION "hdfs_path"] 如果指定了HDFS路径hdfs_path,需要是路径hdfs_path的所有者和具有RWX权限。 DROP DATABASE dbname 拥有数据库dbname的所有权。 ALTER DATABASE dbname SET OWNER user_or_role 具有admin权限。 TABLE CREATE TABLE table_a 拥有数据库的CREATE权限。 CREATE TABLE table_a AS SELECT table_b 拥有数据库的CREATE权限,对表table_b拥有SELECT权限。 CREATE TABLE table_a LIKE table_b 拥有数据库的CREATE权限。 CREATE [EXTERNAL] TABLE table_a LOCATION "hdfs_path" 拥有数据库的CREATE权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。 DROP TABLE table_a 是表table_a的所有者。 ALTER TABLE table_a SET LOCATION "hdfs_path" 是表table_a的所有者,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。 ALTER TABLE table_a SET FILEFORMAT 是表table_a的所有者。 TRUNCATE TABLE table_a 是表table_a的所有者。 ANALYZE TABLE table_a COMPUTE STATISTICS 对表table_a拥有SELECT和INSERT权限。 SHOW TBLPROPERTIES table_a 对表table_a拥有SELECT权限。 SHOW CREATE TABLE table_a 对表table_a拥有SELECT且带有WITH GRANT OPTION的权限。 Alter ALTER TABLE table_a ADD COLUMN 是表table_a的所有者。 ALTER TABLE table_a REPLACE COLUMN 是表table_a的所有者。 ALTER TABLE table_a RENAME 是表table_a的所有者。 ALTER TABLE table_a SET SERDE 是表table_a的所有者。 ALTER TABLE table_a CLUSTER BY 是表table_a的所有者。 PARTITION ALTER TABLE table_a ADD PARTITION partition_spec LOCATION "hdfs_path" 对表table_a拥有INSERT权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。 ALTER TABLE table_a DROP PARTITION partition_spec 对表table_a拥有DELETE权限。 ALTER TABLE table_a PARTITION partition_spec SET LOCATION "hdfs_path" 是表table_a的所有者,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。 ALTER TABLE table_a PARTITION partition_spec SET FILEFORMAT 是表table_a的所有者。 LOAD LOAD INPATH 'hdfs_path' INTO TABLE table_a 对表table_a拥有INSERT权限,是HDFS上的数据路径hdfs_path的所有者和具有RWX权限。 INSERT INSERT TABLE table_a SELECT FROM table_b 对表table_a拥有INSERT权限,对表table_b拥有SELECT权限。拥有Yarn的default队列的Submit权限。 SELECT SELECT * FROM table_a 对表table_a拥有SELECT权限。 SELECT FROM table_a JOIN table_b 对表table_a、表table_b拥有SELECT权限,拥有Yarn的default队列的Submit权限。 SELECT FROM (SELECT FROM table_a UNION ALL SELECT FROM table_b) 对表table_a、表table_b拥有SELECT权限。拥有Yarn的default队列的Submit权限。 EXPLAIN EXPLAIN [EXTENDED|DEPENDENCY] query 对相关表目录具有RX权限。 VIEW CREATE VIEW view_name AS SELECT ... 对相关表拥有SELECT且带有WITH GRANT OPTION的权限。 ALTER VIEW view_name RENAME TO new_view_name 是视图view_name的所有者。 DROP VIEW view_name 是视图view_name的所有者。 FUNCTION CREATE [TEMPORARY] FUNCTION function_name AS 'class_name' 具有admin权限。 DROP [TEMPORARY] function_name 具有admin权限。 MACRO CREATE TEMPORARY MACRO macro_name ... 具有admin权限。 DROP TEMPORARY MACRO macro_name 具有admin权限。 以上所有的操作只要拥有Hive的admin权限以及对应的HDFS目录权限就能做相应的操作。 如果当前组件使用了Ranger进行权限控制,需基于Ranger配置相关策略进行权限管理。
-
前提条件 已按照准备开发和运行环境章节准备好开发用户,例如developuser,并下载用户的认证凭据文件到本地。 用户需要具备Oozie的普通用户权限,HDFS访问权限,Hive表读写权限,HBase读写权限以及Yarn的队列提交权限。 已在Linux环境中安装了完整的集群客户端。 获取Oozie服务器URL(任意节点),这个URL将是客户端提交流程任务的目标地址。 URL格式为:https://Oozie节点业务IP:21003/oozie。端口为“OOZIE_HTTPS_PORT”参数对应值,默认为21003。 例如,“https://10.10.10.176:21003/oozie”。
-
验证obsutil上传文件到OBS是否正常 创建测试文件。例如:test.txt。 touch test.txt 使用obsutil上传创建的文件到obs。 ~/tools/obsutil/obsutil_linux_amd64_5.4.6/obsutil cp test.txt obs://{OBS桶名称} 请将{OBS桶名称}替换为已创建的待使用的OBS桶名称,本示例选择的桶名为cae-obs,将在当前目录新建的test.txt文件上传到cae-obs桶中。提示“Upload successfully”表示上传成功。 图1 上传文件到obs 登录OBS控制台,选择“桶列表”。 单击本示例桶名名称cae-obs,进入“概览”页面。 选择“对象”,可查看已经上传的文件test.txt。 图2 查看已上传文件
-
注册华为账号并开通华为云 在使用obsfs之前,您需要拥有一个华为账号并且成功开通OBS。OBS提供按需和资源包两种计费方式,充值或购买资源包即开通OBS服务。成功开通OBS后即可进行访问和使用。如果您已有账号且账号已开通OBS服务,可以略过此部分内容。 打开华为云网站www.huaweicloud.com。 注册账号。 使用OBS前需注册一个华为账号。如果您已有账号,请从3开始。 在顶部导航栏右侧,单击“注册”。 在注册页面,根据提示信息完成注册。 注册成功后,系统会自动跳转至您的个人信息界面。 在顶部导航栏右侧,单击“登录”,输账号名和密码。 在顶部导航栏右侧,单击“控制台”,进入华为云控制台。
-
安全认证代码(Java版) 目前样例代码统一调用LoginUtil类进行安全认证。 在Spark样例工程代码中,不同的样例工程,使用的认证代码不同,基本安全认证或带ZooKeeper认证。样例工程中使用的示例认证参数如表2所示,请根据实际情况修改对应参数值。 表2 参数描述 参数 示例参数值 描述 userPrincipal sparkuser 用户用于认证的账号Principal,您可以联系管理员获取此账号。 userKeytabPath /opt/FIclient/user.keytab 用户用于认证的Keytab文件,您可以联系管理员获取文件。 krb5ConfPath /opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf krb5.conf文件路径和文件名称。 ZKServerPrincipal zookeeper/hadoop.hadoop.com ZooKeeper服务端principal。请联系管理员获取对应账号。 基本安全认证: Spark Core和Spark SQL程序不需要访问HBase或ZooKeeper,所以使用基本的安全认证代码即可。请在程序中添加如下代码,并根据实际情况设置安全认证相关参数: String userPrincipal = "sparkuser"; String userKeytabPath = "/opt/FIclient/user.keytab"; String krb5ConfPath = "/opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf"; Configuration hadoopConf = new Configuration(); LoginUtil.login(userPrincipal, userKeytabPath, krb5ConfPath, hadoopConf); 带ZooKeeper认证: 由于“Spark Streaming”、“通过JDBC访问Spark SQL”和“Spark on HBase”样例程序,不仅需要基础安全认证,还需要添加ZooKeeper服务端Principal才能完成安全认证。请在程序中添加如下代码,并根据实际情况设置安全认证相关参数: String userPrincipal = "sparkuser"; String userKeytabPath = "/opt/FIclient/user.keytab"; String krb5ConfPath = "/opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf"; String ZKServerPrincipal = "zookeeper/hadoop.hadoop.com"; String ZOOKEEPER_DEFAULT_LOGIN_CONTEXT_NAME = "Client"; String ZOOKEEPER_SERVER_PRINCIPAL_KEY = "zookeeper.server.principal"; Configuration hadoopConf = new Configuration(); LoginUtil.setJaasConf(ZOOKEEPER_DEFAULT_LOGIN_CONTEXT_NAME, userPrincipal, userKeytabPath); LoginUtil.setZookeeperServerPrincipal(ZOOKEEPER_SERVER_PRINCIPAL_KEY, ZKServerPrincipal); LoginUtil.login(userPrincipal, userKeytabPath, krb5ConfPath, hadoopConf);
-
安全认证代码(Scala版) 目前样例代码统一调用LoginUtil类进行安全认证。 在Spark样例工程代码中,不同的样例工程,使用的认证代码不同,基本安全认证或带ZooKeeper认证。样例工程中使用的示例认证参数如表3所示,请根据实际情况修改对应参数值。 表3 参数描述 参数 示例参数值 描述 userPrincipal sparkuser 用户用于认证的账号Principal,您可以联系管理员获取此账号。 userKeytabPath /opt/FIclient/user.keytab 用户用于认证的Keytab文件,您可以联系管理员获取文件。 krb5ConfPath /opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf krb5.conf文件路径和文件名称。 ZKServerPrincipal zookeeper/hadoop.hadoop.com ZooKeeper服务端principal。请联系管理员获取对应账号。 基本安全认证: Spark Core和Spark SQL程序不需要访问HBase或ZooKeeper,所以使用基本的安全认证代码即可。请在程序中添加如下代码,并根据实际情况设置安全认证相关参数: val userPrincipal = "sparkuser" val userKeytabPath = "/opt/FIclient/user.keytab" val krb5ConfPath = "/opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf" val hadoopConf: Configuration = new Configuration() LoginUtil.login(userPrincipal, userKeytabPath, krb5ConfPath, hadoopConf); 带ZooKeeper认证: 由于“Spark Streaming”、“通过JDBC访问Spark SQL”和“Spark on HBase”样例程序,不仅需要基础安全认证,还需要添加ZooKeeper服务端Principal才能完成安全认证。请在程序中添加如下代码,并根据实际情况设置安全认证相关参数: val userPrincipal = "sparkuser" val userKeytabPath = "/opt/FIclient/user.keytab" val krb5ConfPath = "/opt/FIclient/KrbClient/kerberos/var/krb5kdc/krb5.conf" val ZKServerPrincipal = "zookeeper/hadoop.hadoop.com" val ZOOKEEPER_DEFAULT_LOGIN_CONTEXT_NAME: String = "Client" val ZOOKEEPER_SERVER_PRINCIPAL_KEY: String = "zookeeper.server.principal" val hadoopConf: Configuration = new Configuration(); LoginUtil.setJaasConf(ZOOKEEPER_DEFAULT_LOGIN_CONTEXT_NAME, userPrincipal, userKeytabPath) LoginUtil.setZookeeperServerPrincipal(ZOOKEEPER_SERVER_PRINCIPAL_KEY, ZKServerPrincipal) LoginUtil.login(userPrincipal, userKeytabPath, krb5ConfPath, hadoopConf);
-
创建连接器 用户登录TICS控制台。 进入TICS控制台后,单击页面左侧“计算节点管理”。 在“计算节点管理”页面,查找需要发布数据的计算节点名称,单击“计算节点名称”进入计算节点详情页。 图1 选择计算节点 在“计算节点详情”页,单击“前往计算节点”,在登录页正确输入部署计算节点时设置的“登录用户名”和“密码”。 图2 前往计算节点 登录成功后,进入到计算节点界面,选择左侧导航栏中“连接器管理”,单击“创建”,在弹出的界面配置创建连接器的参数,配置完成后单击“确定”。 测试功能为数据源连通性及密码正确性的检查测试。 图3 创建连接器(以RDS服务为例) 表1 参数说明 参数名 描述 连接器类型 “连接器类型”选择Hive连接时,需要选择Hive版本,当前仅支持MRS2.x和MRS3.x版本,选择的MRS集群需与当前计算节点部署CCE或IEF(非云上IEF节点不支持接入Hive)在同一VPC。“用户名”为MRS集群中拥有Hive权限的集群用户,“用户认证凭据”需要上传对应用户的认证凭据,MRS2.x版本请在MapReduce服务的下载用户认证文件中获取,MRS3.x版本请在导出认证凭据文件中获取。 “连接器类型”选择RDS服务时,所选择的RDS服务实例需与计算节点在同一VPC下,且端口开放。填写的用户名,需具有数据库的读写权限(参考修改权限)。“密码”为该用户登录RDS实例的密码。 “连接器类型”选择MySql时,需保证计算节点与数据库所在虚机的连通性,“驱动文件”需与目标MySQL数据库版本一致。驱动类名com.mysql.cj.jdbc.Driver,仅支持mysql-connector-java-5.x以后的版本,驱动文件请在Mysql驱动下载地址中获取。 “连接器类型” 选择DWS连接时,填写的用户名,需具有数据库的读写权限(参考权限管理)。“密码”为该用户登录DWS实例的密码。 “连接器类型” 选择ORACLE连接时,需保证计算节点与数据库的连通性,当前仅支持ORACLE 12c和19c版本。驱动文件需与目标ORACLE数据库版本一致,请在ORACLE驱动下载地址中获取。 “连接器类型” 选择API连接时,需保证计算节点与api接口的连通性,当前仅支持基础认证方式。 连接器名称 根据实际情况设置即可。 数据库版本 “连接器类型”选择MySql和ORACLE时,呈现此参数。根据实际情况设置即可。 数据库名称 “连接器类型”选择ORACLE时,呈现此参数。根据实际情况设置即可。 数据库服务器 “连接器类型”选择ORACLE时,呈现此参数。用户根据实际情况设置。 端口 “连接器类型”选择ORACLE时,呈现此参数。用户根据实际情况设置。 实例名称 “连接器类型”选择RDS或DWS服务时,呈现此参数。下拉选择实例即可。 数据库 “连接器类型”选择DWS服务时,呈现此参数。可手动输入DWS服务里面购买的数据库名称。 用户名 用户根据实际情况设置。 密码 用户根据实际情况设置。 驱动类名 “连接器类型”选择MySql和ORACLE时,呈现此参数。根据实际情况设置,注意驱动类名com.mysql.cj.jdbc.Driver仅支持mysql-connector-java-5.x以后的版本。 JDBC URL “连接器类型”选择MySql时,呈现此参数。JDBC访问端口。取值样例:198.0.0.1:3306。 驱动文件 “连接器类型”选择MySql和ORACLE时,呈现此参数。JDBC驱动。 其他属性 “连接器类型”选择MySql时,呈现此参数。用户根据实际情况设置任务所需的Key和Value。
-
前提条件 计算节点处于运行中,且所在空间信息的“认证状态”为“已认证”。 建议使用者提前了解MapReduce服务(MRS Hive)集群。 “连接器类型”选择MapReduce服务(MRS Hive)时,选择的MRS集群需与当前计算节点部署CCE在同一VPC。填写的用户名,需具有Hive的读写权限。“集群名称”为用户所需要使用的MRS Hive数据源所在的MRS集群。“用户名”为MRS集群中拥有Hive权限的集群用户。
-
CCE服务委托授权 由于CCE在运行中对计算、存储、网络以及监控等各类云服务资源都存在依赖关系,因此当您首次登录CCE控制台时,CCE将自动请求获取当前区域下的云资源权限,从而更好地为您提供服务。 CCE的服务授权为全局配置,只要您所使用的账号在当前Region曾经进行过服务授权,则无需重新配置,可以跳过本节操作。 图1 服务授权 当您同意授权后,CCE将在IAM中创建名为“cce_admin_trust”委托,统一使用系统账户“op_svc_cce”对您的其他云服务资源进行操作,cce_admin_trust委托具有Tenant Administrator权限。Tenant Administrator拥有除IAM管理外的全部云服务管理员权限,用于对CCE所依赖的其他云服务资源进行调用,且该授权仅在当前区域生效。关于资源委托详情,您可参考委托进行了解。
-
服务授权操作 进入TICS服务控制台,为保证正常创建TICS服务,需要先设置服务委托。 进入计算节点购买页面,根据弹出窗口提示勾选对应的委托权限。 同意授权后,TICS将在统一身份认证服务IAM下为您创建名为tics_admin_trust的委托,授权成功后,可以进入委托列表查看。注意:委托tics_admin_trust创建成功后,请勿删除。 图1 授权访问权限名1 图2 授权访问权限名2 表1 TICS委托权限列表 权限名 详细信息 备注 CCE Administrator TICS服务计算节点依赖CCE作为底层资源,因此需要CCE Administrator角色来创建集群和部署应用。 由于云服务缓存需要时间,该权限3分钟左右才能生效。 OBS Administrator TICS计算节点使用OBS作为存储方式时,需要获取OBS权限以同步数据到计算节点。 IEF Administrator TICS服务计算节点依赖IEF作为底层资源,因此需要IEF Administrator角色来部署应用。
-
登录华为云账号 使用Chrome浏览器访问系统环境地址:https://console.huaweicloud.com/optverse/?agencyId=053a59ad180026111f2ac011f5934368®ion=cn-north-4&locale=zh-cn#/optverse/overview,出现如下界面, 输入华为云账号用户名和密码,点击“登录”按钮, 登录成功后,进入OptVerse首页界面,如下图所示: 父主题: 华为云账号环境准备
-
安全认证 Flink整个系统有两种认证方式: 使用kerberos认证:Flink yarn client与Yarn Resource Manager、JobManager与Zookeeper、JobManager与HDFS、TaskManager与HDFS、Kafka与TaskManager、TaskManager和Zookeeper。 使用YARN内部的认证机制:Yarn Resource Manager与Application Master(简称AM)。 Flink的JobManager与YARN的AM是在同一个进程下。 表1 安全认证方式 安全认证方式 说明 配置方法 Kerberos认证 当前只支持keytab认证方式。 从KDC服务器上下载用户keytab,并将keytab放到Flink客户端所在主机的某个文件夹下(例如/home/flinkuser/keytab)。 在“${FLINK_HOME}/conf/flink-conf.yaml”上配置: keytab路径。 security.kerberos.login.keytab: /home/flinkuser/keytab/user.keytab 说明: “/home/flinkuser/keytab/”表示的是用户保存keytab的目录。 principal名(即开发用户名)。 security.kerberos.login.principal:flinkuser 对于HA模式,如果配置了ZooKeeper,还需要设置ZK kerberos认证相关的配置。配置如下: zookeeper.sasl.disable: false security.kerberos.login.contexts: Client 如果用户对于Kafka client和Kafka broker之间也需要做kerberos认证,配置如下: security.kerberos.login.contexts: Client,KafkaClient YARN内部认证方式 该方式是YARN内部的认证方式,不需要用户配置。 - 当前一个Flink集群只支持一个用户,一个用户可以创建多个Flink集群。
-
准备开发环境 Kafka开发应用时,需要准备的开发和运行环境如表1所示: 表1 开发环境 准备项 说明 操作系统 开发环境:Windows系统,支持Windows 7以上版本。 运行环境:Windows系统或Linux系统。 如需在本地调测程序,运行环境需要和集群业务平面网络互通。 安装和配置IntelliJ IDEA 开发环境的基本配置。版本要求:JDK使用1.8版本,IntelliJ IDEA使用2019.1或其他兼容版本。 说明: 若使用IBM JDK,请确保IntelliJ IDEA中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保IntelliJ IDEA中的JDK配置为Oracle JDK。 若使用Open JDK,请确保IntelliJ IDEA中的JDK配置为Open JDK。 安装JDK 开发和运行环境的基本配置。版本要求如下: 服务端和客户端仅支持自带的OpenJDK,版本为1.8.0_272,不允许替换。 对于客户应用需引用SDK类的Jar包运行在客户应用进程中的。 X86客户端: Oracle JDK:支持1.8版本 IBM JDK:支持1.8.5.11版本 TaiShan客户端: OpenJDK:支持1.8.0_272版本 说明: 基于安全考虑,服务端只支持TLS V1.2及以上的加密协议。 IBM JDK默认只支持TLS V1.0,若使用IBM JDK,请配置启动参数“com.ibm.jsse2.overrideDefaultTLS”为“true”,设置后可以同时支持TLS V1.0/V1.1/V1.2,详情参见https://www.ibm.com/support/knowledgecenter/zh/SSYKE2_8.0.0/com.ibm.java.security.component.80.doc/security-component/jsse2Docs/matchsslcontext_tls.html#matchsslcontext_tls。 安装Maven 开发环境的基本配置。用于项目管理,贯穿软件开发生命周期。 7-zip 用于解压“*.zip”和“*.rar”文件,支持7-Zip 16.04版本。
-
操作步骤 安装Eclipse程序。安装要求Eclipse使用3.0及以上版本。 安装JDK程序。安装要求JDK使用1.7及或者1.8版本,支持IBM JDK和Oracle JDK。 若使用IBM JDK,请确保Eclipse中的JDK配置为IBM JDK。 若使用Oracle JDK,请确保Eclipse中的JDK配置为Oracle JDK。 不同的Eclipse不要使用相同的workspace和相同路径下的示例工程。
-
安装依赖 请切换到普通用户执行如下操作。 执行以下命令安装DDK相关依赖。 sudo -E apt-get install gcc g++ cmake make python-pip python3-pip python3 python 安装 Python开发环境。 Python2环境安装 环境部署依赖pip;安装TE软件包依赖:numpy,decorator,执行如下命令分别安装: $ pip2 install numpy==1.16.0 --user$ pip2 install decorator --user Python2环境检查 使用如下命令分别检查python、pip: $ python2 --version$ pip2 --version 若分别返回如下所示信息,则说明安装成功: Python 2.7.5pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7) Python3(3.5+)环境安装 环境部署依赖pip3;安装TE软件包依赖:numpy,decorator,执行如下命令分别安装: $ pip3 install numpy==1.16.0 --user$ pip3 install decorator --user Python3(3.5+)环境检查 使用如下命令分别检查python3、pip3: $ python3 --version$ pip3 --version 若分别返回如下所示信息,则说明安装成功: Python 3.5.2pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.5) 切换至root用户,执行如下命令,安装python2及python3的setuptools依赖。 $ pip2 install setuptools==41.0.1$ pip3 install setuptools==41.0.1 如果依赖安装过程中pip安装异常,请参见Mind Studio或DDK安装过程中提示pip2或pip不可用解决。 上述安装成功后返回信息中的版本号只是样例,请以实际环境中的返回信息为准。 父主题: 环境准备
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格