Flink学习笔记(二):flink环境搭建以及kafka读取

在上一篇笔记中介绍了一个简单的场景,在这记录下如何取实现相关的操作呢,首先我们需要一个可以运行flink的环境吧。

一、相关配置

1、flink版本 flink-1.5.4

2、kafka版本 kafka-0.8

我们看一下版本的支持情况,可以到官网上面查询具体的信息
官方网站
在这里插入图片描述

二、flink环境搭建

首先将flink包上传到服务器上(本例/usr/local),执行相关解压命令,完成后就可以进行配置啦。

flink常见有三种搭建方式,Local模式Standalone(HA)模式Flink on yarn模式

1、Local模式

Local模式比较简单,直接运行脚本(./start-cluster.sh)即可。
在这里插入图片描述
运行结束后我们通过jps可以看到

2、Standalone模式

Standalone是在本地集群上调度执行,不依赖于外部调度机制例如YARN。此时需要对配置文件进行一些简单的修改。

到conf目录下,修改master和slave文件,对应设备同步修改。
master文件中输入当前节点的地址加端口号

如 127.0.0.1:8081

slave中输入,不需要输入端口号了
127.0.0.2
127.0.0.3

启动同样是(./start-cluster.sh)即可。

3、Flink on yarn

Flink on yarn更多用于实际生产环境,暂不做记录

启动完成后我们可以通过jps查看是否启动了,出现taskmamagerRunner和standalone就成功啦
在这里插入图片描述

三、flink离线模式消费kafka数据

1、创建Maven工程添加相关依赖

<dependency>
   <groupId>org.apache.flink</groupId>
   <artifactId>flink-connector-kafka_2.11</artifactId>
   <version>1.5.4</version>
</dependency>

<dependency>
   <groupId>org.apache.flink</groupId>
   <artifactId>flink-avro</artifactId>
   <version>1.5.4</version>
</dependency>

2、连接kafka消费

下面是flink消费kafka的代码

 public static void main(String[] args) throws Exception {
        //Settings.loadProperties();
        StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();
        env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);
        env.setParallelism(1);

        //kafka基本配置
        Properties properties = new Properties();
        properties.setProperty("zookeeper.connect", "zookeeper地址");
        properties.put("bootstrap.servers", "kafka地址");
        properties.put("group.id", "groupid");
        properties.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
        properties.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
        properties.put("auto.offset.reset", "earliest");

        //获取日志
        FlinkKafkaConsumer08<String> kafkaSource = new FlinkKafkaConsumer08<>(
                "topic",
                new SimpleStringSchema(), properties);
        DataStream<String> logSource = env.addSource(kafkaSource);
        logSource.print();
        env.execute("myflink");
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值