博客
关于我
flink快速入门及采坑记录
阅读量:128 次
发布时间:2019-02-26

本文共 1789 字,大约阅读时间需要 5 分钟。

apache flink作为第四代mapreduce计算框架,已经得到越来越多的应用,这里介绍如何快速入门,以及记录一个内存错误的问题。

1、安装jdk

2、下载flink,并解压。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.3.2/flink-1.3.2-bin-hadoop27-scala_2.11.tgz

3、运行报错,修改参数运行正常。(如果虚拟机内存1G,会报内存不足的错误)

bin/start-local.sh

启动之后发现没有java进程,查看日志输出,发现Cannot allocate memoery,可以确定是由于内存不足导致的。

Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000aaaa0000, 1431699456, 0) failed; error='Cannot allocate memory' (errno=12)## There is insufficient memory for the Java Runtime Environment to continue.# Native memory allocation (mmap) failed to map 1431699456 bytes for committing reserved memory.# An error report file with more information is saved as:# /root/flink-1.3.2/hs_err_pid11115.log

查看内存不足的错误日志hs_err_pid11115.log,发现jvm参数设置超过虚拟机最大内存。

jvm_args: -Xms2048m -Xmx2048m -Dlog.file=/root/flink-1.3.2/log/flink-root-jobmanager-0-buejee.log -Dlog4j.configuration=file:/root/flink-1.3.2/conf/log4j.properties -Dlogback.configurationFile=file:/root/flink-1.3.2/conf/logback.xmljava_command: org.apache.flink.runtime.jobmanager.JobManager --configDir /root/flink-1.3.2/conf --executionMode localjava_class_path (initial): /root/flink-1.3.2/lib/flink-python_2.11-1.3.2.jar:/root/flink-1.3.2/lib/flink-shaded-hadoop2-uber-1.3.2.jar:/root/flink-1.3.2/lib/log4j-1.2.17.jar:/root/flink-1.3.2/lib/slf4j-log4j12-1.7.7.jar:/root/flink-1.3.2/lib/flink-dist_2.11-1.3.2.jar:::Launcher Type: SUN_STANDARD

看到jvm参数默认设置最小内存最大内存均是2g,需要修改conf/flink-conf.yml,默认job.manager.heap.mb: 1024,taskmanager.heap.mb: 1024,将他们均改为512。

# The heap size for the JobManager JVMjobmanager.heap.mb: 512# The heap size for the TaskManager JVMtaskmanager.heap.mb: 512

正常启动的截图

这时候可以通过访问http://ip:8081,来查看flink可视化界面。

通过netcat工具监听9000端口,如果系统没有nc命令,可以通过yum install nc -y来安装。

运行任务

查看结果

你可能感兴趣的文章
Mysql学习总结(53)——使用MySql开发的Java开发者规范
查看>>
Mysql学习总结(54)——MySQL 集群常用的几种高可用架构方案
查看>>
Mysql学习总结(55)——MySQL 语句大全再温习
查看>>
Mysql学习总结(56)——MySQL用户管理和权限设置
查看>>
Mysql学习总结(57)——MySQL查询当天、本周、本月、上周、本周、上月、距离当前现在6个月数据
查看>>
Mysql学习总结(58)——深入理解Mysql的四种隔离级别
查看>>
Mysql学习总结(59)——数据库分库分表策略总结
查看>>
Mysql学习总结(5)——MySql常用函数大全讲解
查看>>
Mysql学习总结(60)——并发量大、数据量大的互联网业务数据库设计规范总结
查看>>
Mysql学习总结(61)——MySQL优化之DBA级优化整理汇总
查看>>
Mysql学习总结(62)——MySQL连接com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link问题
查看>>
Mysql学习总结(63)——Mysql数据库架构方案选择与分析
查看>>
Mysql学习总结(64)——Mysql配置文件my.cnf各项参数解读
查看>>
Mysql学习总结(65)——项目实战中常用SQL实践总结
查看>>
Mysql学习总结(66)——设置MYSQL数据库编码为UTF-8
查看>>
Mysql学习总结(67)——MYSQL慢查询日志
查看>>
Mysql学习总结(68)——MYSQL统计每天、每周、每月、每年数据 SQL 总结
查看>>
Mysql学习总结(69)——Mysql EXPLAIN 命令使用总结
查看>>
Mysql学习总结(6)——MySql之ALTER命令用法详细解读
查看>>
Mysql学习总结(70)——MySQL 优化实施方案
查看>>