云服务器内容精选
-
配置场景 SparkSQL在进行shuffle操作时默认的分块数为200。在数据量特别大的场景下,使用默认的分块数就会造成单个数据块过大。如果一个任务产生的单个shuffle数据块大于2G,该数据块在被fetch的时候还会报类似错误: Adjusted frame length exceeds 2147483647: 2717729270 - discarded 例如,SparkSQL运行TPCDS 500G的测试时,使用默认配置出现错误。所以当数据量较大时需要适当的调整该参数。
-
回答 Linux的netcat命令没有与Zookeeper服务器安全通信的选项,所以当启用安全的netty配置时,它不能支持Zookeeper四个字母的命令。 为了避免这个问题,用户可以使用下面的Java API来执行四个字母的命令。 org.apache.zookeeper.client.FourLetterWordMain 例如: String[] args = new String[]{host, port, "stat"}; org.apache.zookeeper.client.FourLetterWordMain.main(args); netcat命令只能用于非安全的netty配置。
-
回答 由于在删除了大量文件之后,DataNode需要时间去删除对应的Block。当立刻重启NameNode时,NameNode会去检查所有DataNode上报的Block信息,发现已删除的Block时,会输出对应的INFO日志信息,如下所示: 2015-06-10 19:25:50,215 | INFO | IPC Server handler 36 on 25000 | BLOCK* processReport: blk_1075861877_2121067 on node 10.91.8.218:9866 size 10249 does not belong to any file | org.apache.hadoop.hdfs.server.blockmanagement.BlockManager.processReport(BlockManager.java:1854) 每一个被删除的Block会产生一条日志信息,一个文件可能会存在一个或多个Block。当删除的文件数过多时,NameNode会花大量的时间打印日志,然后导致NameNode启动慢。 当出现这种现象时,您可以通过如下方式提升NameNode的启动速度。 删除大量文件时,不要立刻重启NameNode,待DataNode删除了对应的Block后重启NameNode,即不会存在这种情况。 您可以通过hdfs dfsadmin -report命令来查看磁盘空间,检查文件是否删除完毕。 如已大量出现以上日志,您可以将NameNode的日志级别修改为ERROR,NameNode不会再打印此日志信息。 等待NameNode启动完毕后,再将此日志级别修改为INFO。修改日志级别后无需重启服务。
-
在WebUI显示更多历史作业 默认情况下,Yarn WebUI界面支持任务列表分页功能,每个分页最多显示5000条历史作业,总共最多保留10000条历史作业。如果您需要在WebUI上查看更多的作业,可以配置参数如表4。具体配置操作请参考修改集群服务配置参数。 表4 参数说明 配置参数 说明 默认值 yarn.resourcemanager.max-completed-applications 设置在WebUI总共显示的历史作业数量。 10000 yarn.resourcemanager.webapp.pagination.enable 是否开启Yarn WebUI的任务列表后台分页功能。 true yarn.resourcemanager.webapp.pagination.threshold 开启Yarn WebUI的任务列表后台分页功能后,每个分页显示的最大作业数量。 5000 显示更多的历史作业,会影响性能,增加打开Yarn WebUI的时间,建议开启后台分页功能,并根据实际硬件性能修改“yarn.resourcemanager.max-completed-applications”参数。 修改参数值后,需重启Yarn服务使其生效。
-
在UI显示container日志 默认情况下,系统会将container日志收集到HDFS中。如果您不需要将container日志收集到HDFS中,可以配置参数见表3。具体配置操作请参考修改集群服务配置参数。 表3 参数说明 配置参数 说明 默认值 yarn.log-aggregation-enable 设置是否将container日志收集到HDFS中。 设置为true,表示日志会被收集到HDFS目录中。默认目录为“{yarn.nodemanager.remote-app-log-dir}/${user}/{thisParam}”,该路径可通过界面上的“yarn.nodemanager.remote-app-log-dir-suffix”参数进行配置。 设置为false,表示日志不会收集到HDFS中。 修改参数值后,需重启Yarn服务使其生效。 说明: 在修改值为false并生效后,生效前的日志无法在UI中获取。您可以在“yarn.nodemanager.remote-app-log-dir-suffix”参数指定的路径中获取到生效前的日志。 如果需要在UI上查看之前产生的日志,建议将此参数设置为true。 true
-
前提条件 Oozie组件及客户端已经安装,并且正常运行。 已创建或获取访问Oozie服务的人机用户账号及密码。 Shell任务: 该用户需要从属于hadoop、supergroup组,添加Oozie的角色操作权限,并确保Shell脚本在每个nodemanager节点都有执行权限。 SSH任务: 该用户需要从属于hadoop、supergroup组,添加Oozie的角色操作权限,并完成互信配置。 其他任务: 该用户需要从属于hadoop、supergroup组,添加Oozie的角色操作权限,并具备对应任务类型所需的权限。 用户同时还需要至少manager_viewer权限的角色。 获取运行状态的Oozie服务器(任意实例)URL,如“https://10.1.130.10:21003/oozie”。 获取运行状态的Oozie服务器主机名,如“10-1-130-10”。 获取Yarn ResourceManager主节点IP,如10.1.130.11。
-
操作步骤 以客户端安装用户,登录安装Oozie客户端的节点。 执行以下命令,获取安装环境信息。其中“/opt/client”为客户端安装路径,该操作的客户端目录只是举例,请根据实际安装目录修改。 source /opt/client/bigdata_env 判断集群认证模式。 安全模式,执行kinit命令进行用户认证。 例如,使用oozieuser用户进行认证。 kinit oozieuser 普通模式,执行4。 根据提交任务类型,进入对应样例目录。 表1 样例目录列表 任务类型 样例目录 Mapreduce任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/map-reduce Java任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/java-main Shell任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/shell Streaming任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/streaming SubWorkflow任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/subwf SSH任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/ssh 定时任务 客户端安装目录/Oozie/oozie-client-*/examples/apps/cron 其他任务样例中已包含HDFS任务样例。 样例目录下需关注文件如表2所示。 表2 文件说明 文件名称 描述 job.properties 工作流的参数变量定义文件。 workflow.xml 工作流的规则定制文件。 lib 工作流运行依赖的jar包目录。 coordinator.xml “cron”目录下存在,定时任务配置文件,用于设置定时策略。 oozie_shell.sh “shell”目录下存在,提交Shell任务需要的Shell脚本文件。 执行以下命令,编辑“job.properties”文件。 vi job.properties 修改如下内容: 更改“userName”的参数值为提交任务的人机用户名,例如“userName=oozieuser”。 执行oozie job命令,运行工作流文件。 oozie job -oozie https://oozie角色的主机名:21003/oozie -config job.properties文件所在路径 -run 例如: oozie job -oozie https://10-1-130-10:21003/oozie -config /opt/client/Oozie/oozie-client-*/examples/apps/map-reduce/job.properties -run 命令参数解释如下: -oozie:实际执行任务的Oozie服务器URL。 -config:工作流属性文件。 -run:运行工作流。 执行完工作流文件,显示job id表示提交成功,例如:job: 0000021-140222101051722-oozie-omm-W。登录Oozie管理页面,查看运行情况。 使用oozieuser用户,登录Oozie WebUI页面:https://oozie角色的ip地址:21003/oozie 。 Oozie的WebUI界面中,可在页面表格根据jobid查看已提交的工作流信息。
-
缓冲区超时设置 由于task在执行过程中存在数据通过网络进行交换,数据在不同服务器之间传递的缓冲区超时时间可以通过setBufferTimeout进行设置。 当设置“setBufferTimeout(-1)”,会等待缓冲区满之后才会刷新,使其达到最大吞吐量;当设置“setBufferTimeout(0)”时,可以最小化延迟,数据一旦接收到就会刷新;当设置“setBufferTimeout”大于0时,缓冲区会在该时间之后超时,然后进行缓冲区的刷新。 示例可以参考如下: env.setBufferTimeout(timeoutMillis); env.generateSequence(1,10).map(new MyMapper()).setBufferTimeout(timeoutMillis);
-
回答 ZooKeeper IO瓶颈观测手段: 通过Manager的监控页面查看单个节点上ZooKeeper请求监控,判断是否严重超出规格限制。 通过观测ZooKeeper的日志以及HBase的日志,查看是否有大量的IO Exception Timeout或者SocketTimeout Exception异常。 调优建议: 将ZooKeeper实例个数调整为5个及以上,可以通过设置peerType=observer来增加observer的数目。 通过控制单个任务并发的map数或减少每个节点下运行task的内存,降低节点负载。 升级ZooKeeper数据磁盘,如SSD等。
-
针对不同的Topic访问场景,Kafka中API使用说明 场景一:访问设置了ACL的Topic 使用的API 用户属组 客户端参数 服务端参数 访问的端口 API 用户需满足以下条件之一即可: 加入System_administrator角色 属于kafkaadmin组 属于kafkasuperuser组 被授权的kafka组的用户 security.inter.broker.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka - sasl.port(默认21007) security.protocol=SASL_SSL sasl.kerberos.service.name = kafka “ssl.mode.enable”配置为true sasl-ssl.port(默认21009) 场景二:访问未设置ACL的Topic 使用的API 用户属组 客户端参数 服务端参数 访问的端口 API 用户需满足以下条件之一: 加入System_administrator角色 属于kafkaadmin组 属于kafkasuperuser组 security.protocol=SASL_PLAINTEXT sasl.kerberos.service.name = kafka - sasl.port(默认21007) 用户属于kafka组 “allow.everyone.if.no.acl.found”配置为true 说明: 普通集群下不涉及服务端参数“allow.everyone.if.no.acl.found”的修改 sasl.port(默认21007) 用户需满足以下条件之一: 加入System_administrator角色 属于kafkaadmin组 kafkasuperuser组用户 security.protocol=SASL_SSL sasl.kerberos.service.name = kafka “ssl.mode.enable”配置为“true” sasl-ssl.port(默认21009) 用户属于kafka组 “allow.everyone.if.no.acl.found”配置为“true” “ssl.mode.enable”配置为“true” sasl-ssl.port(默认21009) - security.protocol=PLAINTEXT “allow.everyone.if.no.acl.found”配置为“true” port(默认9092) - security.protocol=SSL “allow.everyone.if.no.acl.found”配置为“true” “ssl.mode.enable”配置为“true” ssl.port(默认9063)
-
Kafka访问协议说明 请参考修改集群服务配置参数查看或配置参数。 Kafka当前支持四种协议类型的访问:PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL。 Kafka服务启动时,默认会启动PLAINTEXT和SASL_PLAINTEXT两种协议类型的安全认证。可通过设置Kafka服务配置“ssl.mode.enable”为“true”,来启动SSL和SASL_SSL两种协议类型的安全认证。下表是四种协议类型的简单说明: 协议类型 说明 默认端口 PLAINTEXT 支持无认证的明文访问 获取参数“port”的值,默认为9092 SASL_PLAINTEXT 支持Kerberos认证的明文访问 获取参数“sasl.port”的值,默认为21007 SSL 支持无认证的SSL加密访问 获取参数“ssl.port”的值,默认为9093 SASL_SSL 支持Kerberos认证的SSL加密访问 获取参数“sasl-ssl.port”的值,默认为21009
-
Kafka API简单说明 Producer API 指org.apache.kafka.clients.producer.KafkaProducer中定义的接口,在使用“kafka-console-producer.sh”时,默认使用此API。 Consumer API 指org.apache.kafka.clients.consumer.KafkaConsumer中定义的接口,在使用“kafka-console-consumer.sh”时,默认会调用此API。 MRS 3.x后,Kafka不支持旧Producer API和旧Consumer API。
-
操作场景 Spark是内存计算框架,计算过程中内存不够对Spark的执行效率影响很大。可以通过监控GC(Garbage Collection),评估内存中RDD的大小来判断内存是否变成性能瓶颈,并根据情况优化。 监控节点进程的GC情况(在客户端的conf/spark-default.conf配置文件中,在spark.driver.extraJavaOptions和spark.executor.extraJavaOptions配置项中添加参数:"-verbose:gc -XX:+PrintGCDetails -XX:+PrintGCTimeStamps" ),如果频繁出现Full GC,需要优化GC。把RDD做Cache操作,通过日志查看RDD在内存中的大小,如果数据太大,需要改变RDD的存储级别来优化。
-
操作步骤 优化GC,调整老年代和新生代的大小和比例。在客户端的conf/spark-default.conf配置文件中,在spark.driver.extraJavaOptions和spark.executor.extraJavaOptions配置项中添加参数:-XX:NewRatio。如," -XX:NewRatio=2",则新生代占整个堆空间的1/3,老年代占2/3。 开发Spark应用程序时,优化RDD的数据结构。 使用原始类型数组替代集合类,如可使用fastutil库。 避免嵌套结构。 Key尽量不要使用String。 开发Spark应用程序时,建议序列化RDD。 RDD做cache时默认是不序列化数据的,可以通过设置存储级别来序列化RDD减小内存。例如: testRDD.persist(StorageLevel.MEMORY_ONLY_SER)
-
操作步骤 将自主研发的代码打成jar包。 建立插件目录布局。 进入“Flume客户端安装目录/fusionInsight-flume-*/plugins.d”路径下,使用以下命令建立目录,可根据实际业务进行命名,无固定名称: cd /opt/flumeclient/fusioninsight-flume-1.9.0/plugins.d mkdir thirdPlugin cd thirdPlugin mkdir lib libext native 显示结果如下: 将第三方jar包放入“Flume客户端安装目录/fusionInsight-flume-*/plugins.d/thirdPlugin/lib”路径下,若该jar包依赖其他jar包,则将所依赖的jar包放入“Flume客户端安装目录/fusionInsight-flume-*/plugins.d/thirdPlugin/libext”文件夹中,“Flume客户端安装目录/fusionInsight-flume-*/plugins.d/thirdPlugin/native”放置本地库文件。 配置“Flume客户端安装目录/fusionInsight-flume-*/conf/properties.properties”文件。 具体properties.properties参数配置方法,参考配置Flume非加密传输数据采集任务和配置Flume加密传输数据采集任务对应典型场景中properties.properties文件参数列表的说明。
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格