华为云用户手册

  • Ranger统一鉴权特性 特性说明:在Kafka 2.4.0之前版本,Kafka组件仅支持社区自带的SimpleAclAuthorizer鉴权插件,Kafka 2.4.0及之后版本, MRS Kafka同时支持Ranger鉴权插件和社区自带鉴权插件。默认使用Ranger鉴权,基于Ranger鉴权插件,可进行细粒度的Kafka Acl管理。 服务端使用Ranger鉴权插件时,若“allow.everyone.if.no.acl.found”配置为“true”,使用非安全端口访问时,所有行为将直接放行。建议使用Ranger鉴权插件的安全集群,不要开启“allow.everyone.if.no.acl.found”。
  • Kafka Idempotent 特性 特性说明:Kafka从0.11.0.0版本引入了创建幂等性Producer的功能,开启此特性后,Producer自动升级成幂等性Producer,当Producer发送了相同字段值的消息后,Broker会自动感知消息是否重复,继而避免数据重复。需要注意的是,这个特性只能保证单分区上的幂等性,即一个幂等性Producer能够保证某个主题的一个分区内不出现重复消息;只能实现单会话上的幂等性,这里的会话指的是Producer进程的一次运行,即重启Producer进程后,幂等性不保证。 开启方法: 二次开发代码中添加 “props.put(“enable.idempotence”,true)”。 客户端配置文件中添加 “enable.idempotence = true”。
  • 执行SparkSql语句 在“Database”右侧下拉列表选择一个SparkSql中的数据库,默认数据库为“default”。 系统将自动显示数据库中的所有表。可以输入表名关键字,系统会自动搜索包含此关键字的全部表。 图1 选择数据库 单击指定的表名,可以显示表中所有的列。 光标移动到表所在的行,单击 可以查看列的详细信息。 在SparkSql语句编辑区输入查询语句。 单击后的三角并选择“解释”,编辑器将分析输入的查询语句是否有语法错误以及执行计划,如果存在语法错误则显示“Error while compiling statement”。 单击开始执行SparkSql语句。 图2 执行语句 如果希望下次继续使用已输入的SparkSql语句,请单击保存。 高级查询配置: 单击右上角的,对文件、功能、设置等信息进行配置。 查看快捷键: 单击右上角的,可查看语法和键盘快捷方式信息。 格式化SparkSql语句,请单击后的三角选择“格式” 删除已输入的SparkSql语句,请单击后的三角选择“清除” 查看历史: 单击“查询历史记录”,可查看SparkSql运行情况,支持显示所有语句或只显示保存的语句的运行情况。历史记录存在多个结果时,可以在输入框使用关键字进行搜索。
  • 问题 在History Server页面中访问某个Spark应用的页面时,发现访问时出错。 查看相应的HistoryServer日志后,发现有“FileNotFound”异常,相关日志如下所示: 2016-11-22 23:58:03,694 | WARN | [qtp55429210-232] | /history/application_1479662594976_0001/stages/stage/ | org.sparkproject.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:628)java.io.FileNotFoundException: ${BIGDATA_HOME}/tmp/spark/jobHistoryTemp/blockmgr-5f1f6aca-2303-4290-9845-88fa94d78480/09/temp_shuffle_11f82aaf-e226-46dc-b1f0-002751557694 (No such file or directory)
  • 问题 ZooKeeper客户端刷新TGT失败,无法连接ZooKeeper。报错内容如下: Login: Could not renew TGT due to problem running shell command: '***/kinit -R'; exception was:org.apache.zookeeper.Shell$ExitCodeException: kinit: Ticket expired while renewing credentials
  • 回答 在开启钨丝计划(即tungsten功能)后,Spark对于部分执行计划会使用codegen的方式来生成Java代码,但JDK编译时要求Java代码中的每个函数的长度不能超过64KB。当执行一个很复杂的SQL语句时,例如有多层语句嵌套,且单层语句中对字段有大量的逻辑处理(如多层嵌套的case when语句),这种情况下,通过codegen生成的Java代码中函数的大小就可能会超过64KB,从而导致编译失败。 规避措施: 当出现上述问题时,用户可以通过关闭钨丝计划,关闭使用codegen的方式来生成Java代码的功能,从而确保语句的正常执行。即在客户端的“spark-defaults.conf”配置文件中将“spark.sql.codegen.wholeStage”配置为“false”。
  • 回答 原因分析: 这是由于Spark2x与Spark1.5存储DataSoure表信息的格式不一致导致的。Spark1.5会将schema信息分成多个part,使用path.park.0作为key进行存储,读取时再将各个part都读取出来,重新拼成完整的信息。而Spark2x直接使用相应的key获取对应的信息。这样在Spark2x中去读取Spark1.5创建的DataSource表时,就无法成功读取到key对应的信息,导致解析DataSource表信息失败。 而在处理Hive格式的表时,Spark2x与Spark1.5的存储方式一致,所以Spark2x可以直接读取Spark1.5创建的表,不存在上述问题。 规避措施: Spark2x可以通过创建外表的方式来创建一张指向Spark1.5表实际数据的表,这样可以实现在Spark2x中读取Spark1.5创建的DataSource表。同时,Spark1.5更新过数据后,Spark2x中访问也能感知到变化 ,反过来一样。这样即可实现Spark2x对Spark1.5创建的DataSource表的访问。
  • 问题 Spark应用执行过程中,当driver连接RM失败时,会报下面的错误,且较长时间不退出。 16/04/23 15:31:44 INFO RetryInvocationHandler: Exception while invoking getApplicationReport of class ApplicationClientProtocolPBClientImpl over 37 after 1 fail over attempts. Trying to fail over after sleeping for 44160ms.java.net.ConnectException: Call From vm1/192.168.39.30 to vm1:8032 failed on connection exception: java.net.ConnectException: Connection refused; For more details see: http://wiki.apache.org/hadoop/ConnectionRefused
  • 回答 在Spark中有个定期线程,通过连接RM监测AM的状态。由于连接RM超时,就会报上面的错误,且一直重试。RM中对重试次数有限制,默认是30次,每次间隔默认为30秒左右,每次重试时都会报上面的错误。超过次数后,driver才会退出。 RM中关于重试相关的配置项如表1所示。 表1 参数说明 参数 描述 默认值 yarn.resourcemanager.connect.max-wait.ms 连接RM的等待时间最大值。 900000 yarn.resourcemanager.connect.retry-interval.ms 重试连接RM的时间频率。 30000 重试次数=yarn.resourcemanager.connect.max-wait.ms/yarn.resourcemanager.connect.retry-interval.ms,即重试次数=连接RM的等待时间最大值/重试连接RM的时间频率。 在Spark客户端机器中,通过修改“conf/yarn-site.xml”文件,添加并配置“yarn.resourcemanager.connect.max-wait.ms”和“yarn.resourcemanager.connect.retry-interval.ms”,这样可以更改重试次数,Spark应用可以提早退出。
  • 回答 造成该现象的原因是NodeManager重启。使用ExternalShuffle的时候,Spark将借用NodeManager传输Shuffle数据,因此NodeManager的内存将成为瓶颈。 在当前版本的 FusionInsight 中,NodeManager的默认内存只有1G,在数据量比较大(1T以上)的Spark任务下,内存严重不足,消息响应缓慢,导致FusionInsight健康检查认为NodeManager进程退出,强制重启NodeManager,导致上述问题产生。 解决方式: 调整NodeManager的内存,数据量比较大(1T以上)的情况下,NodeManager的内存至少在4G以上。
  • 回答 对于Hash shuffle,在shuffle的过程中写数据时不做排序操作,只是将数据根据Hash的结果,将各个reduce分区的数据写到各自的磁盘文件中。 这样带来的问题是如果reduce分区的数量比较大的话,将会产生大量的磁盘文件(比如:该问题中将产生1000000 * 100000 = 10^11个shuffle文件)。如果磁盘文件数量特别巨大,对文件读写的性能会带来比较大的影响,此外由于同时打开的文件句柄数量多,序列化以及压缩等操作需要占用非常大的临时内存空间,对内存的使用和GC带来很大的压力,从而容易造成Executor无法响应Driver。 因此,建议使用Sort shuffle,而不使用Hash shuffle。
  • 问题 当执行一个很复杂的SQL语句时,例如有多层语句嵌套,且单层语句中对字段有大量的逻辑处理(如多层嵌套的case when语句),此时执行该语句会报如下所示的错误日志,该错误表明某个方法的代码超出了64KB。 java.util.concurrent.ExecutionException: java.lang.Exception: failed to compile: org.codehaus.janino.JaninoRuntimeException: Code of method "(Lorg/apache/spark/sql/catalyst/expressions/GeneratedClass$SpecificUnsafeProjection;Lorg/apache/spark/sql/catalyst/InternalRow;)V" of class "org.apache.spark.sql.catalyst.expressions.GeneratedClass$SpecificUnsafeProjection" grows beyond 64 KB
  • 操作场景 Spark on Yarn模式下,有Driver、ApplicationMaster、Executor三种进程。在任务调度和运行的过程中,Driver和Executor承担了很大的责任,而ApplicationMaster主要负责container的启停。 因而Driver和Executor的参数配置对Spark应用的执行有着很大的影响意义。用户可通过如下操作对Spark集群性能做优化。
  • 示例 在执行spark wordcount计算中。1.6T数据,250个executor。 在默认参数下执行失败,出现Futures timed out和OOM错误。 因为数据量大,task数多,而wordcount每个task都比较小,完成速度快。当task数多时driver端相应的一些对象就变大了,而且每个task完成时executor和driver都要通信,这就会导致由于内存不足,进程之间通信断连等问题。 当把Driver的内存设置到4g时,应用成功跑完。 使用JD BCS erver执行TPC-DS测试套,默认参数配置下也报了很多错误:Executor Lost等。而当配置Driver内存为30g,executor核数为2,executor个数为125,executor内存为6g时,所有任务才执行成功。
  • 前提条件 创建或获取该任务中创建Loader作业的业务用户和密码。 确保用户已授权访问作业执行时操作的HDFS目录和数据。 ClickHouse相关表已创建,并确保用户已授权访问作业执行时操作该表的权限。 检查磁盘空间,确保没有出现告警且余量满足导入、导出数据的大小。 使用Loader从HDFS导入数据时,确保HDFS输入路径目录名、输入路径的子目录名及子文件名不能包含特殊字符/\"':;,中的任意字符。 如果设置的作业需要使用指定YARN队列功能,该用户需要已授权有相关YARN队列的权限。 设置任务的用户需要获取该任务的执行权限,并获取该任务对应的连接的使用权限。
  • 操作步骤 配置Driver内存。 Driver负责任务的调度,和Executor、AM之间的消息通信。当任务数变多,任务平行度增大时,Driver内存都需要相应增大。 您可以根据实际任务数量的多少,为Driver设置一个合适的内存。 将“spark-defaults.conf”中的“spark.driver.memory”配置项设置为合适大小。 在使用spark-submit命令时,添加“--driver-memory MEM”参数设置内存。 配置Executor个数。 每个Executor每个核同时能跑一个task,所以增加了Executor的个数相当于增大了任务的并发度。在资源充足的情况下,可以相应增加Executor的个数,以提高运行效率。 将“spark-defaults.conf”中的“spark.executor.instance”配置项或者“spark-env.sh”中的“SPARK_EXECUTOR_INSTAN CES ”配置项设置为合适大小。 在使用spark-submit命令时,添加“--num-executors NUM”参数设置Executor个数。 配置Executor核数。 每个Executor多个核同时能跑多个task,相当于增大了任务的并发度。但是由于所有核共用Executor的内存,所以要在内存和核数之间做好平衡。 将“spark-defaults.conf”中的“spark.executor.cores”配置项或者“spark-env.sh”中的“SPARK_EXECUTOR_CORES”配置项设置为合适大小。 在使用spark-submit命令时,添加“--executor-cores NUM”参数设置核数。 配置Executor内存。 Executor的内存主要用于任务执行、通信等。当一个任务很大的时候,可能需要较多资源,因而内存也可以做相应的增加;当一个任务较小运行较快时,就可以增大并发度减少内存。 将“spark-defaults.conf”中的“spark.executor.memory”配置项或者“spark-env.sh”中的“SPARK_EXECUTOR_MEMORY”配置项设置为合适大小。 在使用spark-submit命令时,添加“--executor-memory MEM”参数设置内存。
  • Hudi Cleaning操作说明 Cleaning用于清理不再需要的版本数据。 Hudi使用Cleaner后台作业,不断清除不需要的旧版本数据。通过配置hoodie.cleaner.policy和hoodie.cleaner.commits.retained可以使用不同的清理策略和保存的commit数量。 执行cleaning有两种方式: 同步clean由参数hoodie.clean.automatic控制,默认自动开启。 关闭同步clean: datasource写入时可以通过.option("hoodie.clean.automatic", "false")来关闭自动clean。 spark-sql写入时可以通过set hoodie.clean.automatic=false;来关闭自动clean。 异步clean可以使用spark-sql来执行。 更多clean相关参数请参考compaction&cleaning配置章节。 父主题: 数据管理维护
  • 操作场景 用户需要使用图形化界面在集群中创建或查询HBase表时,可以通过Hue完成任务。 如需在Hue WebUI中操作HBase,当前MRS集群中必须部署HBase的Thrift1Server实例。 Thrift1Server实例默认不会安装,用户可在创建自定义类型的MRS集群时,选择HBase组件并通过调整集群自定义拓扑,添加Thrift1Server实例,详情请参考购买自定义拓扑集群。 如果当前集群支持手动添加服务,也可以在首次添加HBase服务时,选择部署Thrift1Server实例,服务添加成功后,需重启Hue服务,详情请参考添加服务。
  • 问题 添加HBase的Ranger访问权限策略时,在策略中使用通配符搜索已存在的HBase表时,搜索不到已存在的表,并且在/var/log/Bigdata/ranger/rangeradmin/ranger-admin-*log中报以下错误 Caused by: javax.security.sasl.SaslException: No common protection layer between client and serverat com.sun.security.sasl.gsskerb.GssKrb5Client.doFinalHandshake(GssKrb5Client.java:253)at com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:186)at org.apache.hadoop.hbase.security.AbstractHBaseSaslRpcClient.evaluateChallenge(AbstractHBaseSaslRpcClient.java:142)at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2.run(NettyHBaseSaslRpcClientHandler.java:142)at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler$2.run(NettyHBaseSaslRpcClientHandler.java:138)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:422)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1761)at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:138)at org.apache.hadoop.hbase.security.NettyHBaseSaslRpcClientHandler.channelRead0(NettyHBaseSaslRpcClientHandler.java:42)at org.apache.hbase.thirdparty.io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105)at org.apache.hbase.thirdparty.io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:362)
  • 回答 Ranger界面上HBase服务插件的“hbase.rpc.protection”参数值和HBase服务端的“hbase.rpc.protection”参数值必须保持一致。 参考登录Ranger WebUI界面章节,登录Ranger管理界面。 在首页中“HBASE”区域,单击组件插件名称,如HBase的按钮 搜索配置项“hbase.rpc.protection”,修改配置项的value值,与HBase服务端的“hbase.rpc.protection”的值保持一致。 单击“保存”。
  • 新建作业 访问Flink WebUI,请参考访问FlinkServer WebUI界面。 单击“作业管理”进入作业管理页面。 单击“新建作业”,在新建作业页面可选择新建Flink SQL作业或Flink Jar作业,然后填写作业信息,单击“确定”,创建作业成功并进入作业开发界面。 (可选)如果需要立即进行作业开发,可以在作业开发界面进行作业配置。 新建Flink SQL作业 在作业开发界面进行作业开发。 可以单击上方“语义校验”对输入内容校验,单击“SQL格式化”对SQL语句进行格式化。 作业SQL开发完成后,请参考表1设置基础参数,还可根据需要设置自定义参数,然后单击“保存”。 表1 基础参数 参数名称 参数描述 并行度 并行数量。 算子最大并行度 算子最大的并行度。 JobManager内存(MB) JobManager的内存。输入值最小为512。 提交队列 作业提交队列。不填默认提交到default。 taskManager taskManager运行参数。该参数需配置以下内容: slot数量:不填默认是1; 内存(MB):输入值最小为512。 开启CheckPoint 是否开启CheckPoint。开启后,需配置以下内容: 时间间隔(ms):必填; 模式:必填; EXACTLY_ONCE:数据或事件仅会被算子处理一次; AT_LEAST_ONCE:数据或事件会被算子至少处理一次; 最小间隔(ms):输入值最小为10; 超时时间:输入值最小为10; 最大并发量:正整数,且不能超过64个字符; 是否清理:是/否; 是否开启增量Checkpoint:是/否。 故障恢复策略 作业的故障恢复策略,包含以下三种,详情请参考配置FlinkServer重启策略。 fixed-delay:需配置“重试次数”和“失败重试间隔(s)”; failure-rate:需配置“最大重试次数”、“时间间隔(min)”和“失败重试间隔(s)”; none:无。 单击左上角“提交”提交作业。 新建Flink Jar作业 单击“选择”,上传本地Jar文件,并参考表2配置参数或添加自定义参数。 表2 参数配置 参数名称 参数描述 本地jar文件 上传jar文件。直接上传本地文件,大小不能超过10M。 Main Class Main-Class类型。 默认:默认根据Jar包文件的Mainfest文件指定类名。 指定:手动指定类名。 类名 类名。 “Main Class”选择“指定”时存在该参数。 类参数 类参数,为Main-Class的参数(参数间用空格分隔)。 并行度 并行数量。 JobManager内存(MB) JobManager的内存。输入值最小为512。 提交队列 作业提交队列。不填默认提交到default。 taskManager taskManager运行参数。该参数需配置以下内容: slot数量:不填默认是1; 内存(MB):输入值最小为512。 单击“保存”保存配置,单击“提交”提交作业。 返回作业管理页面,可以查看到已创建的作业名称、类型、状态、作业种类和描述等信息。 作业创建完成后,可在对应作业的“操作”列对作业进行启动、开发、停止、编辑、删除、查看作业详情和Checkpoint故障恢复等操作。 若要使用其他用户在节点上读取已提交的作业相关文件,需确保该用户与提交作业的用户具有相同的用户组和具有对应的FlinkServer应用管理权限角色,如参考创建FlinkServer权限角色勾选“应用查看”。 作业状态为“运行中”的作业可以查看作业详情。 作业状态为“运行失败”、“运行成功”和“停止”的作业可以进行Checkpoint故障恢复。
  • 回答 由于Hive使用Tez引擎在执行union语句时,生成的输出文件会存在HIVE_UNION_SUBDIR目录,切回Mapreduce引擎后默认不读取目录下的文件,所以没有读取到HIVE_UNION_SUBDIR目录下的数据。 此时可以设置参数set mapreduce.input.fileinputformat.input.dir.recursive=true,开启union优化,决定是否读取目录下的数据。
  • 配置方法 导出集群中的证书: 安装集群客户端,例如安装路径为“/opt/client”。 执行以下命令,切换到客户端安装目录。 cd /opt/client 执行以下命令配置环境变量。 source bigdata_env 生成证书文件 keytool -export -alias fusioninsightsubroot -storepass changeit -keystore /opt/client/JRE/jre/lib/security/cacerts -file fusioninsightsubroot.crt 将集群中的证书导入第三方JDK或者JRE中 将1中生成的fusioninsightsubroot.crt文件拷贝到第三方JRE节点上,设置好该节点的JAVA_HOME环境变量后,执行以下命令导入证书: keytool -import -trustcacerts -alias fusioninsightsubroot -storepass changeit -file fusioninsightsubroot.crt -keystore MY_JRE/lib/security/cacerts 'MY_JRE'表示第三方JRE安装路径,请自行修改。
  • 问题 在MRS集群中,CTBase访问启用Ranger插件的HBase服务时,如果创建聚簇表,提示权限不足。 报错信息如下: ERROR: Create ClusterTable failed. Error: org.apache.hadoop.hbase.security.AccessDeniedException: Insufficient permissions for user 'ctbase2@HADOOP.COM' (action=create)at org.apache.ranger.authorization.hbase.AuthorizationSession.publishResults(AuthorizationSession.java:278)at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.authorizeAccess(RangerAuthorizationCoprocessor.java:654)at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.requirePermission(RangerAuthorizationCoprocessor.java:772)at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.preCreateTable(RangerAuthorizationCoprocessor.java:943)at org.apache.ranger.authorization.hbase.RangerAuthorizationCoprocessor.preCreateTable(RangerAuthorizationCoprocessor.java:428)at org.apache.hadoop.hbase.master.MasterCoprocessorHost$12.call(MasterCoprocessorHost.java:351)at org.apache.hadoop.hbase.master.MasterCoprocessorHost$12.call(MasterCoprocessorHost.java:348)at org.apache.hadoop.hbase.coprocessor.CoprocessorHost$ObserverOperationWithoutResult.callObserver(CoprocessorHost.java:581)at org.apache.hadoop.hbase.coprocessor.CoprocessorHost.execOperation(CoprocessorHost.java:655)at org.apache.hadoop.hbase.master.MasterCoprocessorHost.preCreateTable(MasterCoprocessorHost.java:348)at org.apache.hadoop.hbase.master.HMaster$5.run(HMaster.java:2192)at org.apache.hadoop.hbase.master.procedure.MasterProcedureUtil.submitProcedure(MasterProcedureUtil.java:134)at org.apache.hadoop.hbase.master.HMaster.createTable(HMaster.java:2189)at org.apache.hadoop.hbase.master.MasterRpcServices.createTable(MasterRpcServices.java:711)at org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos$MasterService$2.callBlockingMethod(MasterProtos.java)at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:458)at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:133)at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:338)at org.apache.hadoop.hbase.ipc.RpcExecutor$Handler.run(RpcExecutor.java:318)
  • 全量更新备Master节点的原始客户端 参见1~3登录备Master节点,执行如下命令切换到omm用户。 sudo su - omm 在备master节点上执行如下命令,从主master节点拷贝下载的客户端包。 scp omm@master1节点IP地址:/tmp/MRS-client/MRS_Services_Client.tar /tmp/MRS-client/ 该命令以master1节点为主master节点为例。 目的路径以备master节点的/tmp/MRS-client/目录为例,请根据实际路径修改。 参见4~13,更新备Master节点的客户端。
  • 全量更新主Master节点的原始客户端 场景描述 用户创建集群时,默认在集群所有节点的“/opt/client”目录安装保存了原始客户端。以下操作以“/opt/Bigdata/client”为例进行说明。 MRS普通集群,在console页面提交作业时,会使用master节点上预置安装的客户端进行作业提交。 用户也可使用master节点上预置安装的客户端来连接服务端、查看任务结果或管理数据等 对集群安装补丁后,用户需要重新更新master节点上的客户端,才能保证继续使用内置客户端功能。 操作步骤 登录MRS Manager页面,具体请参见访问MRS Manager(MRS 3.x之前版本),然后选择“服务管理”。 单击“下载客户端”。 “客户端类型”选择“完整客户端”,“下载路径”选择“服务器端”,单击“确定”开始生成客户端配置文件,文件生成后默认保存在主管理节点“/tmp/MRS-client”。文件保存路径支持自定义。 查询并登录主Master节点。 在弹性云服务器,切换到root用户,并将安装包复制到目录“/opt”。 sudo su - root cp /tmp/MRS-client/MRS_Services_Client.tar /opt 在“/opt”目录执行以下命令,解压压缩包获取校验文件与客户端配置包。 tar -xvf MRS_Services_Client.tar 执行以下命令,校验文件包。 sha256sum -c MRS_Services_ClientConfig.tar.sha256 界面显示如下: MRS_Services_ClientConfig.tar: OK 执行以下命令,解压“MRS_Services_ClientConfig.tar”。 tar -xvf MRS_Services_ClientConfig.tar 执行以下命令,移动旧客户端到“/opt/Bigdata/client_bak”目录下。 mv /opt/Bigdata/client /opt/Bigdata/client_bak 执行以下命令,安装客户端到新的目录,客户端路径必须为“/opt/Bigdata/client”。 sh /opt/MRS_Services_ClientConfig/install.sh /opt/Bigdata/client 查看安装输出信息,如有以下结果表示客户端安装成功: Components client installation is complete. 执行以下命令,修改“/opt/Bigdata/client”目录的所属用户和用户组。 chown omm:wheel /opt/Bigdata/client -R 执行以下命令配置环境变量: source /opt/Bigdata/client/bigdata_env 如果当前集群已启用Kerberos认证,执行以下命令认证当前用户。如果当前集群未启用Kerberos认证,则无需执行此命令。 kinitMRS集群用户 例如, kinit admin 执行组件的客户端命令。 例如,执行以下命令查看HDFS目录: hdfs dfs -ls /
  • 操作场景 MRS 3.x及之后版本的集群使用FusionInsight Manager对集群进行监控、配置和管理。用户在集群安装后可使用账号登录FusionInsight Manager。 当前支持以下几种方式访问FusionInsight Manager,请根据实际情况选择。 通过弹性IP访问FusionInsight Manager。 通过云专线访问FusionInsight Manager。 通过E CS 访问FusionInsight Manager。 其中弹性IP访问和专线访问可以在MRS集群管理控制台上进行切换,具体切换操作步骤如下: 登录MRS管理控制台,单击待操作的MRS集群,在集群“概览”页面单击“集群管理页面”后的,在打开的页面中进行切换。 如果不能正常登录组件的WebUI页面,请参考通过ECS访问FusionInsight Manager方式访问FusionInsight Manager。 集群处于以下状态时无法访问FusionInsight Manager: 启动中、停止中、停止、删除中、已删除、冻结。
  • 通过云专线访问FusionInsight Manager 操作前请确保云专线服务可用,并已打通本地数据中心到线上VPC的连接通道。云专线详情请参考什么是云专线。 登录MRS管理控制台。 单击集群名称进入集群详情页。 在集群详情页面的“概览”页签,单击“集群管理页面”右侧的“前往 Manager”。 “访问方式”选择“专线访问”,并勾选“我确认已打通本地与浮动IP的网络,可使用专线直接访问MRS Manager。”。 浮动IP为MRS为您访问MRS Manager页面自动分配的IP地址,使用专线访问MRS Manager之前您确保云专线服务已打通本地数据中心到线上VPC的连接通道。 单击“确定”,进入MRS Manager登录页面,用户名使用“admin”,密码为创建集群时设置的admin密码。
  • 通过ECS访问FusionInsight Manager 进入MRS管理控制台。 在“现有集群”列表中,单击指定的集群名称。 记录集群的“可用区”、“虚拟私有云”、“集群管理页面”、“安全组”。 在管理控制台首页服务列表中选择“弹性云服务器”,进入ECS管理控制台,创建一个新的弹性云服务器。 弹性云服务器的“可用区”、“虚拟私有云”、“安全组”,需要和待访问集群的配置相同。 选择一个Windows系统的公共镜像。例如,选择一个标准镜像“Windows Server 2012 R2 Standard 64bit(40GB)”。 其他配置参数详细信息,请参见购买弹性云服务器。 如果ECS的安全组和Master节点的“默认安全组”不同,用户可以选择以下任一种方法修改配置: 将ECS的安全组修改为Master节点的默认安全组,请参见更改安全组。 在集群Master节点和Core节点的安全组添加两条安全组规则使ECS可以访问集群,“协议”需选择为“TCP”,“端口”需分别选择“28443”和“20009”。请参见创建安全组。 如果界面提示“添加安全组规则失败”,请检查安全组配额是否不足,请增加配额或删除不再使用的安全组规则。 在EIP管理控制台,申请一个弹性IP地址,并与ECS绑定。 登录弹性云服务器。 登录ECS需要Windows系统的账号、密码,弹性IP地址以及配置安全组规则。具体请参见Windows云服务器登录方式。 在Windows的远程桌面中,打开浏览器访问Manager。 Manager访问地址为“集群管理页面”地址。访问时需要输入集群的用户名和密码,例如“admin”用户。 如果使用其他集群用户访问Manager,第一次访问时需要修改密码。新密码需要满足集群当前的用户密码复杂度策略。请咨询管理员。 默认情况下,在登录时输入5次错误密码将锁定用户,需等待5分钟自动解锁。 注销用户退出Manager时移动鼠标到右上角 ,然后单击“注销”。
  • 回答 在单个父目录中创建大量的znode后,当客户端尝试在单个请求中获取所有子节点时,服务端将无法返回,因为结果将超出可存储在znode上的数据的最大长度。 为了避免这个问题,应该根据客户端应用的实际情况将“jute.maxbuffer”参数配置为一个更高的值。 “jute.maxbuffer”只能设置为Java系统属性,且没有zookeeper前缀。如果要将“jute.maxbuffer”的值设为X,在ZooKeeper客户端或服务端启动时传入以下系统属性:-Djute.maxbuffer=X。 例如,将参数值设置为4MB:-Djute.maxbuffer=0x400000。 表1 配置参数 参数 描述 默认值 jute.maxbuffer 指定可以存储在znode中的数据的最大长度。单位是Byte。默认值为0xfffff,即低于1MB。 说明: 如果更改此选项,则必须在所有服务器和客户端上设置该系统属性,否则将出现问题。 0xfffff
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全