CDH环境下 Flink On Yarn 任务中文乱码问题解决

本文介绍了在CDH环境下,Flink On Yarn任务出现中文乱码问题的解决过程。问题源于Flink在PerJobOnYarn模式下写入CDH Kudu表时的数据乱码。解决方法包括:调整Linux环境变量的字符集设置,修改MapReduce的环境变量,尤其是`hadoop-env.sh`中的配置,并在CM界面中更新Yarn的`mapred-site.xml`配置。按照这些步骤操作并重启Yarn服务后,问题得到解决。
摘要由CSDN通过智能技术生成

问题描述

在Flink通过kudu-client方式插入CDH上的Kudu表数据中,包含中文数据,本地idea执行是正常的,但是服务器上执行就乱码。进一步排查发现,使用Flink的StandaloneCluster模式运行该程序写入数据正常,使用PerJobOnYarn模式则乱码,初步怀疑是CDH集群的Yarn配置的问题。
在这里插入图片描述

问题解决

Google 搜索相关问题后,找到一篇Spark On Yarn乱码的解决文章,依据文章的提示得以解决。
链接: spark on yarn 中文乱码问题.

1. Linux的环境变量设置字符集

vi /etc/profile
export LANG=zh_CN.UTF-8

2. 修改MapReduce的环境变量

修改hadoop-env.sh文件

export</
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
CDH是一种大数据处理平台,而Flink是一种流处理框架,这里讲述了如何使用CDH平台来部署FlinkYARN上。 首先,将Flink的二进制文件下载到CDH集群的一个节点上。然后,在Flink的conf目录中,编辑flink-conf.yaml配置文件。在该文件中,需要确保以下配置项正确设置: 1. flink.yarn.execution-mode: 设置为yarn-session,表示将Flink作为YARN上的一个会话运行。 2. yarn.application.name: 设置一个适当的名称,用于在YARN资源管理器中显示。 3. yarn.queue: 设置为YARN调度队列的名称,以确定Flink的调度优先级。 4. yarn.container.memory-mb: 设置每个Flink任务容器(TaskManager)的内存大小,以MB为单位。 5. yarn.container.vcores: 设置每个Flink任务容器(TaskManager)的虚拟内核数。 接下来,在CDH集群上启动一个YARN会话来运行Flink。输入以下命令: ``` ./bin/yarn-session.sh -n <number_of_taskmanagers> ``` 其中,`<number_of_taskmanagers>`表示要启动的Flink任务管理器(TaskManager)的数量。这将创建一个YARN应用程序,运行Flink并分配所需的资源。 一旦Flink会话在YARN上成功启动,就可以通过Web界面或Flink命令行工具来监控和管理任务。 需要注意的是,在CDH上部署Flink时,确保所使用的Flink版本与CDH版本兼容。此外,在配置Flume、Kafka等外部数据源时,也要根据具体需求进行相应的配置。 总结来说,通过正确配置Flink的运行模式、资源分配和调度优先级,然后在CDH集群上启动FlinkYARN会话,即可实现FlinkYARN上的部署。这样可以充分利用CDH平台的资源管理和任务调度功能,来处理大规模的流数据。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值