hadoop-flink完全分布式集群搭建

  • 一、Local模式
  • 二、Standalone 模式
  • 1、软件要求
  • 2、解压
  • 3、修改配置文件
  • 4、拷贝到各节点
  • 5、配置环境变量
  • 6、启动flink
  • 7、启动HA


本次采用的系统为centos7
hadoop版本为2.7.7
flink版本为1.10.2 链接:https://pan.baidu.com/s/1E4Gm5Rla-f4mZ5XB7wvlyg
提取码:qwer
关于hadoop搭建请访问:Hadoop完全分布式集群搭建教程(一)

Flink 有三种部署模式,分别是 Local、Standalone Cluster 和 Yarn Cluster。

一、Local模式

对于 Local 模式来说,JobManager 和 TaskManager 会公用一个 JVM 来完成 Workload。如果要验证一个简单的应用,Local 模式是最方便的。实际应用中大多使用 Standalone 或者 Yarn Cluster,而local模式只是将安装包解压启动(./bin/start-local.sh)即可,在这里不在演示。

二、Standalone 模式

1、软件要求

  • java版本必须为1.8.X或更高版本

2、解压

我们同样将文件解压在根目录下的opt中

#在opt目录下解压
 tar zxvf flink-1.10.2-bin-scala_2.11.tgz

hadoop集成hbase hadoop集成flink_hadoop集成hbase

3、修改配置文件

进入conf文件夹下,修改masters、slaves、flink-conf.yaml文件

1. 修改slaves文件

```
#修改slaves文件,保存退出
slave1
slave2
```

hadoop集成hbase hadoop集成flink_flink_02


2. 修改masters文件

#修改masters文件
master:8081 #注意我这里的8082的原因是因为与spark端口冲突,默认为8081

hadoop集成hbase hadoop集成flink_hadoop_03


3. 修改flink-conf.yaml文件

这里需要注意不要删除前面的空格

#修改flink-conf.yaml文件
taskmanager.numberOfTaskSlots:2
jobmanager.rpc.address: master

hadoop集成hbase hadoop集成flink_大数据_04

hadoop集成hbase hadoop集成flink_hadoop_05

4、拷贝到各节点

我这里有俩个节点分别为
slave1
slave2

scp -r /opt/flink-1.10.2 slave1:/opt/
scp -r /opt/flink-1.10.2 slave1:/opt/

5、配置环境变量

  1. 修改profile文件
#进入profile文件
vi  /etc/profile
#添加以下路径,根据自己的路径添加
export FLINK_HOME=/opt/flink-1.10.2
export PATH=$PATH:$FLINK_HOME/bin
  1. 发送给其他节点
scp /etc/profile slave1:/etc/
scp /etc/profile slave2:/etc/
  1. 刷新文件

每个节点都需要刷新文件
source /etc/profile

6、启动flink

#进入flink-1.10.2目录下控制台输入
[root@localhost flink-1.10.2]# bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host localhost.localdomain.
Starting taskexecutor daemon on host slave1.
Starting taskexecutor daemon on host slave2.

jps查看进程

master节点:

hadoop集成hbase hadoop集成flink_flink_06


slave1节点:

hadoop集成hbase hadoop集成flink_hadoop集成hbase_07


slave2节点:

hadoop集成hbase hadoop集成flink_hadoop_08

## 7、webUI查看

我这里默认的8082端口,因为8081端口被spark占用

http://master:8081

hadoop集成hbase hadoop集成flink_大数据_09

7、启动HA

  1. 修改配置文件
    修改flink-conf.yaml,HA模式下,jobmanager不需要指定,在master file中配置,由zookeeper选出leader与standby。
vi flink-conf.yaml

在flink-conf.yaml修改并添加以下代码

#jobmanager.rpc.address: node21

hadoop集成hbase hadoop集成flink_hadoop集成hbase_10

high-availability:zookeeper #指定高可用模式(必须)

hadoop集成hbase hadoop集成flink_zookeeper_11

high-availability.zookeeper.quorum:node21:2181,node22:2181,node23:2181 #ZooKeeper仲裁是ZooKeeper服务器的复制组,它提供分布式协调服务(必须)

hadoop集成hbase hadoop集成flink_flink_12

high-availability.storageDir:hdfs:///flink/ha/ #JobManager元数据保存在文件系统storageDir中,只有指向此状态的指针存储在ZooKeeper中(必须)

hadoop集成hbase hadoop集成flink_hadoop集成hbase_13

high-availability.zookeeper.path.root:/flink #根ZooKeeper节点,在该节点下放置所有集群节点(推荐)
high-availability.cluster-id:/flinkCluster #自定义集群(推荐)

hadoop集成hbase hadoop集成flink_大数据_14

state.backend: filesystem

hadoop集成hbase hadoop集成flink_zookeeper_15

state.checkpoints.dir: hdfs:///flink/checkpoints

hadoop集成hbase hadoop集成flink_hadoop_16

state.savepoints.dir: hdfs:///flink/checkpoints

hadoop集成hbase hadoop集成flink_hadoop集成hbase_17

  1. 修改conf/zoo.cfg
#修改zoo.cfg文件
[root@localhost conf]# vi zoo.cfg 
#添加以下内容
server.1=master:2888:3888
server.1=slave1:2888:3888
server.1=slave2:2888:3888

hadoop集成hbase hadoop集成flink_zookeeper_18

  1. 修改conf/masters
#进入masters
[root@localhost conf]# vi masters
#添加以下内容
master:8081
slave1:8081
  1. 分发给其他节点

利用scp 将文件夹传送给其他节点

  1. 启动
#在根目录下启动
[root@localhost flink-1.10.2]# bin/start-cluster.sh