CentOS7搭建flink1.6与消费Kafka消息实践

写在最前,本次环境搭建是在Hadoop2.6.1,三节点的基础上完成的。

(关于搭建Hadoop环境,可参考:https://www.cnblogs.com/SysoCjs/p/10835793.html

说明:

#master,表示在master节点上操作;

#master,#slave1,#slave2,表示在三个节点上都要操作;

一、准备工作 再官网下载合适的flink的tgz压缩包:

http://mirror.bit.edu.cn/apache/flink/

这里下载的是flink-1.6.4-bin-hadoop26-scala_2.11.tgz

然后用scp命令(Git Base或者其他工具也可以)远程分发到CentOS7的master机器指定目录上。

二、解压 #master

cd /usr/local/src/
tar -zxvf flink-1.6.4-bin-hadoop26-scala_2.11.tgz

三、修改配置

#master

cd ./flink-1.6.4/conf/

1、配置JobManager远程地址

vim flink-conf.yaml

修改内容:

jobmanager.rpc.address: master

2、注册master

vim masters

修改内容,这个跟flink-conf-yarm的rest.port配置要一样:

master:8081

3、注册slave

vim slaves

修改内容:

 
slave1
 
slave2

四、分发文件

#master

scp -r /usr/local/src/flink-1.6.4 root@slave1:/usr/local/src/
scp -r /usr/local/src/flink-1.6.4 root@slave2:/usr/local/src/

五、验证

#master

1、启动集群

cd /usr/local/src/flink-1.6.4/bin
./start-cluster.sh

master节点:

slave节点:

2、监控页面

http://192.168.112.10:8081

五、实例操作

1、在本地IDEA编写代码,然后打包发到虚拟机上:

package com.cjs
 
import java.util.Properties
 
import org.apache.flink.api.common.serialization.SimpleStringSchema
import org.apache.flink.streaming.api.scala.StreamExecutionEnvironment
import org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer08
import org.apache.flink.streaming.api.scala._
 
object Kafka2FlinkTest {
    def main(args: Array[String]): Unit = {
        val senv = StreamExecutionEnvironment.getExecutionEnvironment
        val properties = new Properties()
 
        properties.setProperty("bootstrap.servers", "192.168.112.10:9092")
        properties.setProperty("zookeeper.connect", "192.168.112.10:2181")
        properties.setProperty("group.id", "test_flink")
 
//        val stream = senv.addSource(new FlinkKafkaConsumer08[String]("test_receiver",new SimpleStringSchema(),properties))
        val stream = senv.addSource(new FlinkKafkaConsumer08[String]("kafka2flink",new SimpleStringSchema(),properties))
 
//        stream.print()
        stream.flatMap(_.split(" ")).map((_,1L)).keyBy(0).sum(1).print()
        senv.execute("Flink Kafka")
    }
 
}

2、执行脚本命令,提交任务

        这里介绍的是yarn模式启动flink,所以必须开启hadoop,再之需要使用kafka,所以zk也要事先启动,kafka集群也是,一切环境都准备好之后,输入:

cd /usr/local/src/flink-1.6.4/bin/
./start-cluster.sh
./flink run -m yarn-cluster -yn 2 -c com.cjs.Kafka2FlinkTest /newDiskB/code/flink/FlinkDemo-1.0-SNAPSHOT-jar-with-dependencies.jar 

为了简便,生产者,直接使用kafka的producer:

cd /usr/local/src/kafka_2.11-0.10.2.1/bin/
./kafka-console-producer.sh --broker-list master:9092 --topic kafka2flink

3、查看yarn信息

输入网址:

192.168.112.10:8088

点击application_xxx,

消息生产:

关闭任务:

关闭相关环境。

posted @ 2019-07-18 14:12  KamShing  阅读(503)  评论(0编辑  收藏  举报