apache-flink - flink on yarn 错误“纱线只有-1个可用的虚拟核心”
问题描述
我已经安装了 Cloudera CDH 6,然后我想使用来自 flink 网站的包安装 flink,并运行它“flink on yarn”。
我有以下步骤: 1. 编辑 /etc/profile
导出 HADOOP_CONF_DIR=/opt/cloudera/parcels/CDH-6.0.0-1.cdh6.0.0.p0.537114/lib/hadoop/etc/hadoop
- 执行 ./yarn-session.sh -n 4 -jm 2048 -tm 2048 -s 3 -nm FlinkOnYarnSession -d -st
但总是显示:</p>
每个节点的虚拟核心数配置为 4,但 Yarn 只有 -1 个可用虚拟核心。请注意,虚拟核心数默认设置为任务槽数,除非在 Flink 配置中使用 'yarn.containers.vcores' 进行配置。
这是一个新集群,没有任何作业正在运行,我在 yarn webUI 中看到有 20 个 vcore 可用。
请帮助解决这个问题。非常感谢!
解决方案
这是由于 flink 中的一个 bug,详细可以在这里查看: https ://issues.apache.org/jira/browse/FLINK-5542
在 flink 1.6.1 版本中,我通过修改 yarn-site.yml 并添加 cpu-vcores 参数解决了这个问题。
vim $HADOOP_CONF_DIR/yarn-site.yml
添加 yarn.nodemanager.resource.cpu-vcores 属性,例如设置为 8。
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>8</value>
</property>
推荐阅读
- sql-server - 如何在 SQL 中及时转换 int 列“HH:MM”?
- string - Javascript Integer,最后带有逗号和零
- reactjs - 与 if 函数一起使用渲染时,无法获取发送到子类组件的道具值
- sql - 我怎样才能获得同名员工的所有ID
- c++ - 如何将 boost::combine 限制为两个范围的最小值
- spring-boot-actuator - 使用 Eureka 和执行器时无法启动服务器
- python - 正则表达式:提取一个由 "" 包围的 27 长字符子字符串
- xml - XML 和 XSLT - 单独的节点包括逗号
- apache-kafka - 卡夫卡经纪人重启后卡夫卡主题不平衡
- javascript - 如何在对象 vanilla JavaScript 中将一个变量分配给另一个变量