flink快速上手

此处使用docker构建运行环境,当前flink最新版本为1.18.1。若有问题尝试使用指定版本sudo docker pull flink:1.18

//创建网络
sudo docker network create flink-network
//启动主节点
sudo docker run -idt --name=jobmanager -e TZ=Asia/Shanghai --network flink-network -p 8081:8081 --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" flink jobmanager

查看主节点ip

ubuntu@ubuntu:~$ sudo docker inspect -f '{
   
   {
   
   .Name}} - {
   
   {
   
   range .NetworkSettings.Networks}}{
   
   {
   
   .IPAddress}}{
   
   {
   
   end}}' $(sudo docker ps -aq)
/jobmanager - 172.18.0.2

启动子节点,可启动多个,改name就行,hosts的ip填入上述获取的ip

sudo docker run -idt --name=taskmanager1 -e TZ=Asia/Shanghai --network flink-network --env FLINK_PROPERTIES="jobmanager.rpc.address: jobmanager" --add-host jobmanager:172.18.0.2 flink taskmanager

访问8081,此处启动了两个task
在这里插入图片描述
其他常用的配置属性

jobmanager.memory.process.size:JobManager进程可使用到的全部内存
taskmanager.memory.process.size:TaskManager进程可使用到的全部内存
taskmanager.numberOfTaskSlots:TaskManager能够分配的Slot数量,默认为1
parallelism.default:Flink任务执行的并行度,默认为1

maven构建项目

mvn archetype:generate                \
  -DarchetypeGroupId=org.apache.flink   \
  -DarchetypeArtifactId=flink-quickstart-java \
  -DarchetypeVersion=1.18.1

项目生成后pom文件中mainCalss用于指定默认的启动作业类。上传作业时也可手动指定覆盖
在这里插入图片描述
执行环境、数据读入与数据转换

    public static void main(String[] args) throws Exception {
   
   
        /**
         * 执行环境与执行模式
         * 环境
         * getExecutionEnvironment 获取当前环境,自动根据当前运行环境获取,常用
         * createLocalEnvironment   获取本地环境
         * createRemoteEnvironment  获取集群环境
         * 处理模式
         * Streaming    流,默认常用
         * Batch        批
         * AutoMatic    自动
         *
         */
        final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        //设置处理模式,不设置默认也是STREAMING
        env.setRuntimeMode(RuntimeExecutionMode.STREAMING);
        /**
         * 源算子(数据源),返回DataStreamSource<T>
         * *从集合获取
         *          List<String> data = Arrays.asList("1", "@", "3");
         *          env.fromCollection(data);
         *
         * *直接生成
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值