华为云用户手册

  • 问题 Spark客户端设置fs.obs.hdfs.trash.version=1不生效,drop table后文件在回收站的存放路径不改变。 通常,默认情况: 当fs.obs.hdfs.trash.version=2时,回收站路径为:/user/.Trash/${userName}/Current 当fs.obs.hdfs.trash.version=1时,回收站路径为:/user/${userName}/.Trash/Current
  • 操作步骤 在Manager界面Hive组件的配置中搜索“hive.cbo.enable”参数,选中“true”永久开启功能。 手动收集Hive表已有数据的统计信息。 执行以下命令,可以手动收集统计信息。仅支持统计一张表,如果需要统计不同的表需重复执行。 ANALYZE TABLE [db_name.]tablename [PARTITION(partcol1[=val1], partcol2[=val2], ...)] COMPUTE STATIS TICS [FOR COLUMNS] [NOSCAN]; 指定FOR COLUMNS时,收集列级别的统计信息。 指定NOSCAN时,将只统计文件大小和个数,不扫描具体文件。 例如: analyze table table_name compute statistics; analyze table table_name compute statistics for columns; 配置Hive自动收集统计信息。开启配置后,执行insert overwrite/into命令插入数据时才自动统计新数据的信息。 在Hive客户端执行以下命令临时开启收集: set hive.stats.autogather = true;开启表/分区级别的统计信息自动收集。 set hive.stats.column.autogather = true; 开启列级别的统计信息自动收集。 列级别统计信息的收集不支持复杂的数据类型,例如Map,Struct等。 表级别统计信息的自动收集不支持Hive on HBase表。 在Manager界面Hive的服务配置中,搜索参数“hive.stats.autogather”和“hive.stats.column.autogather”,选中“true”永久开启收集功能。 执行以下命令可以查看统计信息。 DESCRIBE FORMATTED table_name[.column_name] PARTITION partition_spec; 例如: desc formatted table_name; desc formatted table_name id; desc formatted table_name partition(time='2016-05-27'); 分区表仅支持分区级别的统计信息收集,因此分区表需要指定分区来查询统计信息。
  • 操作场景 在Hive中执行多表Join时,Hive支持开启CBO(Cost Based Optimization),系统会自动根据表的统计信息,例如数据量、文件数等,选出合适计划提高多表Join的效率。Hive需要先收集表的统计信息后才能使CBO正确的优化。 CBO优化器会基于统计信息和查询条件,尽可能地使join顺序达到更优。但是也可能存在特殊情况导致join顺序调整不准确。例如数据存在倾斜,以及查询条件值在表中不存在等场景,可能调整出非优化的join顺序。 开启列统计信息自动收集时,需要在reduce侧做聚合统计。对于没有reduce阶段的insert任务,将会多出reduce阶段,用于收集统计信息。
  • 参数说明 表1 算子参数说明 参数 含义 类型 是否必填 默认值 HBase表类型 配置HBase表类型,可选项为normal(普通表)和phoenix表。 enum 是 normal HBase表名 配置HBase表名。仅支持一个HBase表。 string 是 无 HBase输入字段 配置HBase输入信息: 列族:配置HBase列族名。 列名:配置HBase列名。 字段名:配置输入字段名。 类型:配置字段类型。 长度:配置字段长度,字段值实际长度太长则按配置的长度截取,“类型”为“CHAR”时实际长度不足则空格补齐,“类型”为“VARCHAR”时实际长度不足则不补齐。 主键:配置是否为主键列。普通HBase表主键只能指定一个;phoenix表主键可以指定多个,配置多个列为主键时,会按照配置列的先后顺序对其进行拼接。必需配置一个主键列。 map 是 无
  • 样例 以HBase导出到sqlserver2014数据库为例。 在sqlserver2014上创建一张空表test_1用于存储HBase数据。执行以下语句: create table test_1 (id int, name text, value text); 配置“HBase输入”算子,生成三个字段A、B和C: 设置了数据连接器后,可以单击“自动识别”,系统将自动读取数据库中的字段,可根据需要选择添加,然后根据业务场景手动进行完善或者修正即可,无需逐一手动添加。 此操作会覆盖表格内已有数据。 通过“表输出”算子,将A、B和C输出到test_1表中: select * from test_1;
  • CarbonData关键技术和优势 快速查询响应:高性能查询是CarbonData关键技术的优势之一。CarbonData查询速度大约是Spark SQL查询的10倍。CarbonData使用的专用数据格式围绕高性能查询进行设计,其中包括多种索引技术和多次的Push down优化,从而对TB级数据查询进行最快响应。 高效率数据压缩:CarbonData使用轻量级压缩和重量级压缩的组合压缩算法压缩数据,可以减少60%~80%数据存储空间,很大程度上节省硬件存储成本。
  • CarbonData结构 CarbonData作为Spark内部数据源运行,不需要额外启动集群节点中的其他进程,CarbonData Engine在Spark Executor进程之中运行。 图2 CarbonData结构 存储在CarbonData Table中的数据被分成一些CarbonData数据文件,每一次数据查询时,CarbonData Engine模块负责执行数据集的读取、过滤等实际任务。CarbonData Engine作为Spark Executor进程的一部分运行,负责处理数据文件块的一个子集。 Table数据集数据存储在HDFS中。同一Spark集群内的节点可以作为HDFS的数据节点。
  • CarbonData特性 SQL功能:CarbonData与Spark SQL完全兼容,支持所有可以直接在Spark SQL上运行的SQL查询操作。 简单的Table数据集定义:CarbonData支持易于使用的DDL(数据定义语言)语句来定义和创建数据集。CarbonData DDL十分灵活、易于使用,并且足够强大,可以定义复杂类型的Table。 便捷的数据管理:CarbonData为数据加载和维护提供多种数据管理功能。CarbonData支持加载历史数据以及增量加载新数据。加载的数据可以基于加载时间进行删除,也可以撤销特定的数据加载操作。 CarbonData文件格式是HDFS中的列式存储格式。该格式具有许多新型列存储文件的特性,例如,分割表和数据压缩。CarbonData具有以下独有的特点: 伴随索引的数据存储:由于在查询中设置了过滤器,可以显著加快查询性能,减少I/O扫描次数和CPU资源占用。CarbonData索引由多个级别的索引组成,处理框架可以利用这个索引来减少需要安排和处理的任务,也可以通过在任务扫描中以更精细的单元(称为blocklet)进行skip扫描来代替对整个文件的扫描。 可选择的数据编码:通过支持高效的数据压缩,可基于压缩/编码数据进行查询,在将结果返回给用户之前,才将编码转化为实际数据,这被称为“延迟物化”。 支持一种数据格式应用于多种用例场景:例如,交互式OLAP-style查询,顺序访问(big scan),随机访问(narrow scan)。
  • 问题 为什么日期类型的字段作为过滤条件时匹配'2016-6-30'时没有查询结果,匹配'2016-06-30'时有查询结果。 如下图所示:“select count(*)from trxfintrx2012 a where trx_dte_par='2016-6-30'”,其中trx_dte_par为日期类型的字段,当过滤条件为“where trx_dte_par='2016-6-30'”时没有查询结果,当过滤条件为“where trx_dte_par='2016-06-30'”时有查询结果。
  • 约束 不支持如下语法:GRANT、REVOKE、SHOW GRANTS、SHOW ROLES、SHOW ROLE GRANTS。 UPDATE和DELETE语法不支持筛选条件子句中包含跨catalog的条件,例如:UPDATE mppdb.table SET column1=value WHERE column2 IN (SELECT column2 from hive.table)。 UPDATE语法不支持更新DATE/TIMESTAMP/VARBINARY字段。 不支持查询WHERE语句条件为REAL,例如SELECT * FROM mppdb.table WHERE column1 = REAL '1.1'。 DELETE语法不支持筛选条件子句中包含子查询,例如:DELETE FROM mppdb.table WHERE column IN (SELECT column FROM mppdb.table1)。 HetuEngine支持 GaussDB 数据源Decimal/Number/Numeric类型数据的最大精度不超过38位。 当谓词的前后两端任意一端包含子查询时,该谓词不会下推,如示例语句count(*) 后面存在子查询,则不下推,但子查询中的min函数可以下推。 select count(*) from item where i_current_price = (select min(i_current_price) from item);
  • 数据类型映射 GAUSSDB数据类型(data type) HetuEngine数据类型(data type) BOOLEAN BOOLEAN TINYINT TINYINT SMALLINT SMALLINT INTEGER INTEGER BINARY_INTEGER INTEGER BIGINT BIGINT SMALLSERIAL SMALLINT SERIAL INTEGER BIGSERIAL BIGINT FLOAT4 (REAL) REAL FLOAT8(DOUBLE PRECISION) DOUBLE PRECISION DECIMAL[p (,s)] DECIMAL[p (,s)] NUMERIC[p (,s)] DECIMAL[p (,s)] CHAR(n) CHAR(n) CHARACTER(n) CHAR(n) NCHAR(n) CHAR(n) VARCHAR(n) VARCHAR(n) CHARACTER VARYING(55) VARCHAR(n) VARCHAR2(n) VARCHAR(n) NVARCHAR2(n) VARCHAR TEXT(CLOB) VARCHAR DATE TIMESTAMP TIMESTAMP TIMESTAMP UUID UUID JSON JSON
  • 前提条件 数据源所在集群与HetuEngine集群节点网络互通。 在HetuEngine所在集群的所有节点的“/etc/hosts”文件中,添加待对接数据源所在集群的主机名称和对应的IP映射,及其“/etc/hosts”文件中的“10.10.10.10 hadoop.系统域名”(如“10.10.10.10 hadoop.hadoop.com”),否则HetuEngine无法根据主机名称连接到非本集群节点。 已创建HetuEngine计算实例。
  • 操作步骤 创建工作流,请参考创建工作流。 在工作流编辑页面,选择“MapReduce 作业”按钮,将其拖到操作区中。 在弹出的“MapReduce job”窗口中配置“Jar name”的值,例如“/user/admin/examples/apps/map-reduce/lib/oozie-examples-5.1.0.jar”。然后单击“添加”。 单击“属性+”,添加输入输出相关属性。 例如配置“mapred.input.dir”的值为“/user/admin/examples/input-data/text”,配置“mapred.output.dir”的值为“/user/admin/examples/output-data/map-reduce_workflow”。 单击右上角的配置按钮。在打开的配置界面中,单击“删除+”,添加删除目录,例如“/user/admin/examples/output-data/map-reduce_workflow”。 单击Oozie编辑器右上角的。 保存前如果需要修改作业名称(默认为“My Workflow”),可以直接单击该名称进行修改,例如“MapReduce-Workflow”。 保存完成后,单击,提交该作业。 作业提交后,可通过Hue界面查看作业的详细信息、日志、进度等相关内容。
  • 查看Topic详情 进入KafkaUI,请参考访问KafkaUI。 单击“Topics”,进入Topic管理页面。 在“Topic List”栏可查看当前集群已创建的Topic的名称、状态、分区数量、创建时间和副本个数等信息。 单击Topic名称可进入Topic详情页面。在该页面可查看Topic与分区的详细信息。 在“Producer Message”栏可根据业务需求选择“Day”、“Week”、“Month”不同时段查看此Topic生产数据条数。
  • 操作场景 通过KafkaUI查看Topic详情、修改Topic Configs、增加Topic分区个数、删除Topic,并可实时查看不同时段的生产数据条数。 安全模式下,KafkaUI对查看Topic详情操作不作鉴权处理,即任何用户都可以查询Topic信息;对于修改Topic Configs、增加Topic分区个数、删除Topic场景,需保证KafkaUI登录用户属于“kafkaadmin”用户组或者单独给用户授予对应操作权限,否则将会鉴权失败。 非安全模式下,KafkaUI对所有操作不作鉴权处理。
  • 前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业中指定的Hive表的权限。 获取SFTP服务器使用的用户和密码,且该用户具备SFTP服务器上源文件的读取权限。如果源文件在导入后文件名要增加后缀,则该用户还需具备源文件的写入权限。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从SFTP服务器导入数据时,确保SFTP服务器输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的作业需要使用指定YARN队列功能,该用户需要已授权有相关YARN队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
  • 基础操作 使用root用户登录集群客户端节点,执行如下命令: cd {客户端安装目录} source bigdata_env source Hudi/component_env kinit 创建的用户 执行hudi-cli.sh进入Hudi客户端, cd {客户端安装目录}/Hudi/hudi/bin/ ./hudi-cli.sh 即可执行各种Hudi命令,执行示例(仅部分命令,全部命令请参考Hudi官网:https://hudi.apache.org/docs/quick-start-guide/): 查看帮助: help //查看hudi-cli的所有命令 help 'command' //查看某一个命令的帮助及参数列表。 连接表: connect --path '/tmp/huditest/test_table' 查看表信息: desc 查看compaction计划: compactions show all 查看clean计划: cleans show 执行clean: cleans run 查看commit信息: commits show 查看commit写入的分区: commit showpartitions --commit 20210127153356 20210127153356表示commit的时间戳,下同。 查看指定commit写入的文件: commit showfiles --commit 20210127153356 比较两个表的commit信息差异: commits compare --path /tmp/hudimor/mytest100 rollback指定提交(rollback每次只允许rollback最后一次commit): commit rollback --commit 20210127164905 compaction调度: compaction schedule --hoodieConfigs 'hoodie.compaction.strategy=org.apache.hudi.table.action.compact.strategy.BoundedIOCompactionStrategy,hoodie.compaction.target.io=1,hoodie.compact.inline.max.delta.commits=1' 执行compaction compaction run --parallelism 100 --sparkMemory 1g --retry 1 --compactionInstant 20210602101315 --hoodieConfigs 'hoodie.compaction.strategy=org.apache.hudi.table.action.compact.strategy.BoundedIOCompactionStrategy,hoodie.compaction.target.io=1,hoodie.compact.inline.max.delta.commits=1' --propsFilePath hdfs://hacluster/tmp/default/tb_test_mor/.hoodie/hoodie.properties --schemaFilePath /tmp/default/tb_test_mor/.hoodie/compact_tb_base.json 创建savepoint savepoint create --commit 20210318155750 回滚指定的savepoint savepoint rollback --savepoint 20210318155750 如果commit写入导致元数据冲突异常,执行commit rollback、savepoint rollback能回退数据,但不能回退Hive元数据,只能删除Hive表然后手动进行同步刷新。 commit rollback只能回退当前最新的一个commit,savepoint rollback只能回退到最新的一个savepoint。二者均不能随意指定进行回退。
  • 补充说明 Flume可靠性保障措施。 Source与Channel、Channel与Sink之间支持事务机制。 Sink Processor支持配置failover、load_balance机制。 例如load_balance示例如下: server.sinkgroups=g1 server.sinkgroups.g1.sinks=k1 k2 server.sinkgroups.g1.processor.type=load_balance server.sinkgroups.g1.processor.backoff=true server.sinkgroups.g1.processor.selector=random Flume多客户端聚合级联时的注意事项。 级联时需要走Avro或者Thrift协议进行级联。 聚合端存在多个节点时,连接配置尽量配置均衡,不要聚合到单节点上。 Flume客户端可以包含多个独立的数据流,即在一个配置文件properties.properties中配置多个Source、Channel、Sink。这些组件可以链接以形成多个流。 例如在一个配置中配置两个数据流,示例如下: server.sources = source1 source2 server.sinks = sink1 sink2 server.channels = channel1 channel2 #dataflow1 server.sources.source1.channels = channel1 server.sinks.sink1.channel = channel1 #dataflow2 server.sources.source2.channels = channel2 server.sinks.sink2.channel = channel2
  • 配置描述 请参考修改集群服务配置参数,进入HDFS的“全部配置”页面,在搜索框中输入参数名称。 表1 NameNode blacklisting的相关参数 参数 描述 默认值 dfs.client.failover.proxy.provider.[nameservice ID] 利用已通过的协议创建namenode代理的Client Failover proxy provider类。 将参数值设置为“org.apache.hadoop.hdfs.server.namenode.ha.BlackListingFailoverProxyProvider”, 可使用从NameNode支持读的特性。 org.apache.hadoop.hdfs.server.namenode.ha.AdaptiveFailoverProxyProvider
  • 配置场景 在现有的缺省DFSclient failover proxy provider中,一旦某进程中的一个NameNode发生故障,在同一进程中的所有HDFS client实例都会尝试再次连接NameNode,导致应用长时间等待超时。 当位于同一JVM进程中的客户端对无法访问的NameNode进行连接时,会对系统造成负担。为了避免这种负担, MRS 集群搭载了NameNode blacklist功能。 在新的Blacklisting DFSClient failover provider中,故障的NameNode将被记录至一个列表中。DFSClient会利用这些信息,防止客户端再次连接这些NameNode。该功能被称为NameNode blacklisting。 例如,如下集群配置: NameNode:NameNode1、NameNode2 dfs.client.failover.connection.retries:20 单JVM中的进程:10个客户端 在上述集群中,如果当前处于active状态的NameNode1无法访问,client1将会对NameNode1进行20次重新连接,之后发生故障转移,client1将会连接至NameNode2。与此相同,client2至client10也会在对NameNode1进行20次重新连接后连接至NameNode2。这样会延长NameNode的整体故障恢复时间。 针对该情况,当client1试图连接当前处于active状态的NameNode1,但其已经发生故障时,NameNode1将会被添加至blacklist。这样其余client就不会连接已被添加至blacklist的NameNode1,而是会选择连接NameNode2。 如果在任一时刻,所有NameNode都被添加至blacklist,则其内容会被清空,client会按照初始的NameNode list重新尝试连接。如果再次出现任何故障,NameNode仍会被添加至blacklist。 图1 NameNode blacklisting状态图
  • 回答 在JobHistory界面中跳转到某个应用的原生页面时,JobHistory需要回放该应用的Event log,如果应用包含的事件日志较大,则回放时间较长,浏览器需要较长时间的等待。 当前浏览器访问JobHistory原生页面需经过httpd代理,代理的超时时间是10分钟,因此,如果JobHistory在10分钟内无法完成Event log的解析并返回,httpd会主动向浏览器返回Proxy Error信息。
  • WITH主要参数说明 配置项 是否必选 类型 描述 connector 必选 String 指定要使用的连接器,Kafka使用“kafka” topic kafka作为sink,必选 kafka作为source,可选 String 主题名称 当表用作source时,要从中读取数据的主题名称。支持主题列表,通过按分号分隔主题,如“主题-1;主题-2” 当表用作sink时,主题名称为写入数据的主题。sink不支持主题列表 topic-pattern kafka作为source时可选 String 主题模式 当表用作source时可设置该参数,主题名称需使用正则表达式 说明: 不能同时设置“topic-pattern” 和“topic” 。 properties.bootstrap.servers 必选 String Kafka broker列表,以逗号分隔 properties.group.id kafka作为source时必选 String Kafka的使用者组ID format 必选 String 用于反序列化和序列化Kafka消息的值部分的格式 properties.* 可选 String 安全模式下需增加认证相关的参数
  • 在安全区中配置权限策略 使用Ranger安全区管理员用户登录Ranger管理页面。 在Ranger首页右上角的“Security Zone”选项的下拉列表中选择对应的安全区,即可切换至该安全区内的权限视图。 单击组件名称下的权限插件名称,即可进入组件安全访问策略列表页面。 各组件的策略列表中,系统默认生成的条目会自动继承至安全区内,用于保证集群内的部分系统默认用户或用户组的权限。 单击“Add New Policy”,根据业务场景规划配置相关用户或者用户组的资源访问策略。 例如在本章节样例中,在安全区内配置一条允许“test”用户访问“/testzone/test”目录的策略: 其他不同组件的完整访问策略配置样例参考: 添加CDL的Ranger访问权限策略 添加HDFS的Ranger访问权限策略 添加HBase的Ranger访问权限策略 添加Hive的Ranger访问权限策略 添加Yarn的Ranger访问权限策略 添加Spark2x的Ranger访问权限策略 添加Kafka的Ranger访问权限策略 添加HetuEngine的Ranger访问权限策略 策略添加后,需等待30秒左右,待系统生效。 安全区中定义的策略仅适用于区域中的资源,服务的资源被划分到安全区后,非安全区针对该资源的访问权限策略将不再生效。 如需配置针对当前安全区之外其他资源的访问策略,需在Ranger首页右上角的“Security Zone”选项中退出当前安全区后进行配置。
  • 添加安全区 使用Ranger管理员用户rangeradmin登录Ranger管理页面,具体操作可参考登录Ranger管理界面。 单击“Security Zone”,在区域列表页面中单击,添加安全区。 表1 安全区配置参数 参数名称 描述 示例 Zone Name 配置安全区的名称。 test Zone Description 配置安全区的描述信息。 - Admin Users/Admin Usergroups 配置安全区的管理用户/用户组,可在安全区中添加及修改相关资源的权限策略。 必须至少配置一个用户或用户组。 zone_admin Auditor Users/ Auditor Usergroups 添加审计用户/用户组,可在安全区中查看相关资源权限策略内容。 必须至少配置一个用户或用户组。 zone_user Select Tag Services 选择服务的标签信息。 - Select Resource Services 选择安全区内包含的服务及具体资源。 在“Select Resource Services”中选择服务后,需要在“Resource”列中添加具体的资源对象,例如HDFS服务器的文件目录、Yarn的队列、Hive的数据库及表、HBase的表及列。 /testzone 例如针对HDFS中的“/testzone”目录创建一个安全区,配置如下: 单击“Save”,等待安全区添加成功。 Ranger管理员可在“Security Zone”页面查看当前的所有安全区并单击“Edit”修改安全区的属性信息,当相关资源不需要在安全区中进行管理时,可单击“Delete”删除对应安全区。
  • 回答 当Standby NameNode存储元数据(命名空间)时,出现断电的情况,Standby NameNode启动失败,MD5文件会损坏。通过移除损坏的fsimage,然后启动Standby NameNode,可以修复此问题。Standby NameNode会加载先前的fsimage并重现所有的edits。 修复步骤: 移除损坏的fsimage。 rm -rf ${BIGDATA_DATA_HOME}/namenode/current/fsimage_0000000000000096 启动Standby NameNode。
  • 操作场景 HDFS集群可能出现DataNode节点间磁盘利用率不平衡的情况,比如集群中添加新数据节点的场景。如果HDFS出现数据不平衡的状况,可能导致多种问题,比如MapReduce应用程序无法很好地利用本地计算的优势、数据节点之间无法达到更好的网络带宽使用率或节点磁盘无法利用等等。所以MRS集群管理员需要定期检查并保持DataNode数据平衡。 HDFS提供了一个容量均衡程序Balancer。通过运行这个程序,可以使得HDFS集群达到一个平衡的状态,使各DataNode磁盘使用率与HDFS集群磁盘使用率的偏差不超过阈值。图1和图2分别是Balance前后DataNode的磁盘使用率变化。 图1 执行均衡操作前DataNode的磁盘使用率 图2 执行均衡操作后DataNode的磁盘使用率 均衡操作时间估算受两个因素影响: 需要迁移的总数据量: 每个DataNode节点的数据量应大于(平均使用率-阈值)*平均数据量,小于(平均使用率+阈值)*平均数据量。如果实际数据量小于最小值或大于最大值即存在不平衡,系统选择所有DataNode节点中偏差最多的数据量作为迁移的总数据量。 Balancer的迁移是按迭代(iteration)方式串行顺序处理的,每个iteration迁移数据量不超过10GB,每个iteration重新计算使用率的情况。 因此针对集群情况,可以大概估算每个iteration耗费的时间(可以通过执行Balancer的日志观察到每次iteration的时间),并用总数据量除以10GB估算任务执行时间。 由于按iteration处理,Balancer可以随时启动或者停止。
  • 使用约束 尽管容灾提供了实时的数据复制功能,但实际的数据同步进展,由多方面的因素决定的,例如,当前主集群业务的繁忙程度,备集群进程的健康状态等。因此,在正常情形下,备集群不应该接管业务。极端情形下是否可以接管业务,可由系统维护人员以及决策人员根据当前的数据同步指标来决定。 容灾功能当前仅支持一主一备。 通常情况下,不允许对备集群的灾备表进行表级别的操作,例如修改表属性、删除表等,一旦误操作备集群后会造成主集群数据同步失败、备集群对应表的数据丢失。 主集群的HBase表已启用容灾功能同步数据,用户每次修改表的结构时,需要手动修改备集群的灾备表结构,保持与主集群表结构一致。
  • 前提条件 主备集群都已经安装并启动成功,且获取集群的管理员权限。 必须保证主备集群间的网络畅通和端口的使用。 如果主集群部署为安全模式且不由一个 FusionInsight Manager管理,主备集群必须已配置跨集群互信。如果主集群部署为普通模式,不需要配置跨集群互信。 主备集群必须已配置跨集群拷贝。 主备集群上的时间必须一致,而且主备集群上的NTP服务必须使用同一个时间源。 必须在主备集群的所有节点的hosts文件中,配置主备集群所有机器的机器名与业务IP地址的对应关系。 如果主集群的客户端安装在集群外的节点上,也需在该节点的hosts文件中配置主备集群所有机器的机器名与业务IP地址的对应关系。 主备集群间的网络带宽需要根据业务流量而定,不应少于最大的可能业务流量。 主备集群安装的MRS版本需要保持一致。 备集群规模不小于主集群规模。
  • 操作步骤 访问Hue WebUI,请参考访问Hue的WebUI。 在界面左侧导航栏单击,选择“Bundle”,打开Bundle编辑器。 在作业编辑界面中单击“My Bundle”修改作业的名称。 单击“+添加Coordinator”选择需要编排的Coordinator作业。 根据界面提示设置Coordinator任务调度的开始、结束时间,然后单击右上角的保存作业。 单击编辑器右上角的,在弹出菜单选择,设置Bundle任务的启动时间,根据实际需求单击“+添加参数”设置提交参数,然后关闭对话框保存设置。 因时区转化的原因,此处时间有可能会与当地系统实际时间差异数个小时。比如在中国,此处的时间则会比当地时间晚8个小时。 单击编辑器右上角的,在弹出的确认界面中单击“提交”提交作业。
  • 解决方法 spark.sql.hive.convertInsertingPartitionedTable开关控制了Hive和Datasource表的插入写操作逻辑, 使用Hive表时逻辑不会自动格式化时间戳,使用Datasource表时会自动格式化时间戳。 如果写入的分区字段是a='2016-8-1 11:45:5'会自动格式化成a='2016-08-01 11:45:05',此时查询使用a='2016-8-1 11:45:5'会报错。 正确查询方式如下: spark.sql.hive.convertInsertingPartitionedTable=true时使用datasource表逻辑,使用如下方式即可以正常查询: desc formatted test_hive_orc_snappy_internal_table partition(a='2016-08-01 11:45:05');
共100000条