博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
flink1.3.3 on hdp 2.6(hadoop 2.7.3)部署指南
阅读量:6934 次
发布时间:2019-06-27

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

hot3.png

flink1.3.3 on hdp 2.6(hadoop 2.7.3)部署指南

1,从官方下载flink-1.3.3-bin-hadoop27-scala_2.11.tar,解压到/usr/local/

tar -zxvf flink-1.3.3-bin-hadoop27-scala_2.11.tar

2,配置hadoop环境变量,

vi ~/.bash_profile
添加:
export HADOOP_CONF_DIR="/etc/hadoop/conf"
export HADOOP_CLASSPATH="/usr/hdp/current/hadoop-client/*:/usr/hdp/current/hadoop-client/lib/*:/usr/hdp/current/hadoop-hdfs-client/*:/usr/hdp/current/hadoop-hdfs-client/lib/*:/usr/hdp/current/hadoop-yarn-client/*:/usr/hdp/current/hadoop-yarn-client/lib/*"

source ~/.bash_profile 

echo $HADOOP_CONFIG_DIR
echo $HADOOP_CLASSPATH

3,配置yarn启动前环境变量

vi /usr/local/flink-1.3.3/bin/yarn-session.sh
添加行:
#以hdfs用户访问hdfs,不然没有权限
export HADOOP_USER_NAME=hdfs

4,hdp2.6平台需要去掉uber shaded hadoop的包,同时添加mapreduce的包到yarn应用classpath

rm -f /usr/local/flink-1.3.3/lib/flink-shaded-hadoop2-uber-1.3.3.jar
不然会出现下面错误:
Exception in thread "main" java.lang.IllegalAccessError: tried to access method org.apache.hadoop.yarn.client.ConfiguredRMFailoverProxyProvider.getProxyInternal()Ljava/lang/Object; from class org.apache.hadoop.yarn.client.RequestHedgingRMFailoverProxyProvider

进入ambari界面,service->yarn->config->advanced->Advanced yarn-site->yarn.application.classpath

添加,/usr/hdp/current/hadoop-mapreduce-client/*,/usr/hdp/current/hadoop-mapreduce-client/lib/*
修改后,需要重启yarn相关组件,ambari界面会有指示如何重启,一键搞定,很爽

5,修改flink默认日志

vi /usr/local/flink-1.3.3/conf/log4j.properties
log4j.appender.file.append=true
log4j.appender.file.MaxFileSize=100M
log4j.appender.file.MaxBackupIndex=10
flink的日志会应用到每个flink应用程序上

6,启动yarn session

nohup ./yarn-session.sh -n 3 -s 3 -jm 2048 -tm 4096 -nm pinpoint-flink-job &

7,在flink 应用界面上上传job包

进去ambari dashboard界面,通过yarn 仪表盘进入active resource manager ui,显示job列表,running,进入application master,就可以到flink 界面了
注意:如果不能访问主机名地址,需要在url里面把主机名替换为ip

附件:
A: 常用yarn命令:

yarn application -list

列出所有应用

yarn application -kill application_1529463924167_0035

杀死Application-Id为application_1529463924167_0035的应用

B:yarn应用的日志聚合

Hdp平台默认会把停止的yarn应用日志放到Hdfs上面,对于没有停止的日志,可以在yarn 界面上面进入应用的日志,进入方法:
ambari UI -> dashboard -> yarn links -> more -> 选择非slave机器 -> resource manager ui 
在yarn集群资源管理界面上,选择cluster -> applications -> running
在应用列表里面,点击运行的任务ID链接,进入这个任务的详细信息界面,可以杀死应用,可以进入application master界面,可以查看每个机器上的containner log

C: 关于yarn和flink关系

flink是yarn上面的一个Job任务,由yarn启动application master也就是flink job manager, 
启动的时候,flink向yarn申请资源,包括内存资源(jobmanager和taskmanager可以分别设置)和vcpu资源(slot),以及运行几个containner(容器的概念,yarn一个容器就是一个jvm虚拟机进程)
nohup ./yarn-session.sh -n 3 -s 3 -jm 2048 -tm 4096 -nm pinpoint-flink-job &
-n 就是控制容器的个数
-s 就是每个容器里面使用的虚拟cpu的个数,就是多核cpu下的核数
-jm 就是配置Job manager容器的内存大小
-tm是task manager容器的内存大小
yarn的容器并不是真正的资源隔离,只能是内存隔离(用jvm的机制),cpu,磁盘,网络都不是隔离开的。

当你在flink ui上面提交一个job的时候,只能使用上面申请的资源。

转载于:https://my.oschina.net/u/3522232/blog/2051960

你可能感兴趣的文章
android SwipeRefreshLayout 增加上拉加载更多
查看>>
zk Acl权限:只有一个账号有crdwa权限,匿名用户只有r权限
查看>>
服务监控-URL接口监控
查看>>
悲催的IE6,悲催的壳浏览器,悲催的搜狗,悲催的360
查看>>
编写事件驱动模型
查看>>
RTMP协议
查看>>
Python descriptor
查看>>
主动,是因为在乎,不再联系,是因为感到自己多余
查看>>
原始UDP封包发送
查看>>
批处理作业调度-回溯法
查看>>
[Objective-C] 如何定义Block(块)
查看>>
隐藏讨厌的桌面挂载卷图标
查看>>
PHP语言中global和$GLOBALS[]的分析
查看>>
easyui datagrid 的小纠缠
查看>>
vc++怎么利用ado连接数据库(mysql)
查看>>
eclipse从数据库逆向生成Hibernate实体类
查看>>
JAVA数据结构 线性表的链式存储及其实现
查看>>
Android好用的第三方UI库
查看>>
centos6.8下安装python&django
查看>>
Android程序完全退出的三种方法
查看>>