实时计算框架Flink

Flink3:Flink部署

2020-04-25  本文已影响0人  勇于自信
1.standalone模式

1.1 安装
解压缩 flink-1.7.0-bin-hadoop27-scala_2.11.tgz
修改 flink/conf/flink-conf.yaml 文件


修改 /conf/slave文件

分发给 另外两台机子
scp -r flink-1.7.0-bin-hadoop27-scala_2.11 slave1:/usr/local/src
scp -r flink-1.7.0-bin-hadoop27-scala_2.11 slave2:/usr/local/src
启动

访问 http://hadoop1:8081

1.2 测试

  1. 准备数据文件
    在linux上开启socket端口
    nc -l 9999
    输入如下数据:


  2. 执行程序
    ./flink run -c com.gzjy.StreamWordCount flink-study.jar
    输出结果如下


补充
如果需要用到HDFS,则需要在每台节点配置HADOOP_CONF_DIR和HADOOP_CLASSPATH

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
export HADOOP_CLASSPATH=`hadoop classpath`

并且下载一个jar包放在Flink的lib目录下
下载地址:https://repo.maven.apache.org/maven2/org/apache/flink/flink-shaded-hadoop-2-uber/
要按照HADOOP版本下载(记得分发到从节点)

2.yarn模式

1)启动hadoop集群
2)导入环境变量:
export HADOOP_HOME=/app/hadoop-2.6.4
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3)启动yarn-session
./yarn-session.sh -n 2 -s 2 -jm 1024 -tm 1024 -nm test -d
其中:
-n(--container):TaskManager的数量。
-s(--slots): 每个TaskManager的slot数量,默认一个slot一个core,默认每个taskmanager的slot的个数为1,有时可以多一些taskmanager,做冗余。
-jm:JobManager的内存(单位MB)。
-tm:每个taskmanager的内存(单位MB)。
-nm:yarn 的appName(现在yarn的ui上的名字)。
-d:后台执行。


启动后报错,说找不到jar包

实在百度不出来,就做了一下操作解决了问题
1.更换Flink版本为Flink1.9.1,这个问题还是存在
2.去官网下载一个额外的jar包,放入flink安装包的lib目录下
下载地址:https://flink.apache.org/downloads.html

重启Hadoop集群,再次执行启动Flink集群命令,发现启动成功。
4)去yarn控制台查看任务状态
3.单机版部署

step1 解压:
]# tar -zxvf flink-1.9.1-bin-scala_2.11.tgz
step2 配置

1)配置flink-conf.yaml
首先查看主机名:[root@logserver flink-1.9.1]# hostname
logserver
再配置主机名:
]# vim conf/flink-conf.yaml
jobmanager.rpc.address: logserver



2)配置conf/masters
[root@logserver flink-1.9.1]# cat conf/masters
logserver:8081

step3 启动单机版flink:
]# ./bin/start-cluster.sh


step4 查看dashboard界面:http://logserver:8081

step5 官方案例演示

  1. 启动一个终端输入如下指令:
    nc -lk 8000
  2. 启动第二个终端,执行flink自带的wordcount案例
    bin/flink run examples/streaming/SocketWindowWordCount.jar --port 8000



    3.在第一个终端发送数据:

hello
world
zhangsan
lisi
hello
aaa
aaa
  1. 测试结果保存在log/flink-root-taskexecutor-0-woniu.out文件中


上一篇下一篇

猜你喜欢

热点阅读