linux环境下部署flink实现流数据实时更新
1、linux系统准备
- jdk1.8
- 解压flink
tar -zxvf 你的flink的压缩包路径 - 修改配置
设置conf下的ymal文件的并行度设置为4 - 启动
进入到bin的目录下启动:
./start-cluster.sh - 访问 :http://192.168.201.129:8081/
- 访问不了,关闭下防火墙先
2、Java代码
打包你的项目:maven-package,会生成一个war文件(ip地址用你的linux地址)
public static void main(String[] args) throws Exception {
StreamExecutionEnvironment executionEnvironment=StreamExecutionEnvironment.getExecutionEnvironment();
//数据集
DataStreamSource<String> dataStreamSource =
executionEnvironment.socketTextStream("192.168.201.129",7777);
//基于数据流进行转换计算
DataStream<Tuple2<String,Integer>> dataStream=dataStreamSource.flatMap(new WordCount.MyFlatMapper())
.keyBy(0)
.sum(1)
.setParallelism(2);//并行个数
dataStream.print().setParallelism(1);
executionEnvironment.execute();
}
3、启动一个不停发送数据的端口
linux下运行:nc -lk 7777
4、flink上传测试
-
上传war
点击目录下的submit new job,选中你的项目下的war包(在target下)
-
参数设置
项目中有多个class,怎么指定是那个主程序呢,看图就明白了(ip地址是你的linux下的地址),设置完成后,提交submit
5、发送数据
就是在7777的目录下随便输入东西,这样在你的flink界面就可以看到数据刷新,一直输入,数据会实时刷新!