Flink安装部署{单机模式、会话模式(集群部署)、yarn模式(包含hadoop3.1.3部署)}

  • Post author:
  • Post category:其他




flink部署


前置准备

1.CentOS7.5

2.java8

3.配置三台机器时间同步和免密登陆,关闭防火墙

ip地址 主机名
192.168.10.128 master
192.168.10.129 slave1
192.168.10.130 Slave2

下载链接:https://flink.apache.org/zh/downloads.html#section-7

这里我选择的是1.13.0:https://archive.apache.org/dist/flink/flink-1.13.0/

在这里插入图片描述

组件:

在这里插入图片描述

Flink中有几个关键性组件:客户端、调度中心(JobManager)、任务管理器(TaskManager)

我们通过客户端解析任务、然后提交到调度中心,调度中心分配任务到不同的工作节点运行。



单机模式

上传flink-1.13.0-bin-scala_2.12.tgz到/opt/software

解压(没有目录的话自行创建)

tar -zxvf flink-1.13.0-bin-scala_2.12.tgz -C /opt/module/
cd /opt/module/
mv flink-1.13.0 flink

启动

cd /opt/module/flink/bin
./start-cluster.sh

通过jps查看进程,包含StandaloneSessionClusterEntrypoint和TaskManagerRunner代表成功

10369 StandaloneSessionClusterEntrypoint
10680 TaskManagerRunner

flink提供了一个web页面,访问master:8081即可看到(要hosts文件配置了master对应的ip地址)

关闭集群

cd /opt/module/flink/bin
./stop-cluster.sh



会话模式(集群部署)

上传flink-1.13.0-bin-scala_2.12.tgz到/opt/software

master上解压(没有目录的话自行创建)

tar -zxvf flink-1.13.0-bin-scala_2.12.tgz -C /opt/module/
cd /opt/module/
mv flink-1.13.0 flink

修改配置,设置jobmanager

cd /opt/module/flink/conf
vim flink-conf.yaml

在这里插入图片描述

设置TaskManager 节点

 vim workers

修改为

slave1
slave2

分发到slave1、slave2

scp -r /opt/module/flink/ root@slave1:/opt/module
scp -r /opt/module/flink/ root@slave2:/opt/module

只要在master启动

cd /opt/module/flink/bin
./start-cluster.sh

flink提供了一个web页面,访问master:8081即可看到(要hosts文件配置了master对应的ip地址)



yarn模式(推荐)

首先要确保有hadoop集群

master slave1 slave2
HDFS NameNode DataNode DataNode SecondaryNameNode DataNode
YARN NodeManager ResourceManager NodeManager NodeManager

下载地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/

选择hadoop-3.1.3.tar.gz下载

上传至master节点

首先进行解压,然后分发到slave1和slave2,分别登陆到slave1,和slave2完成解压

tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/
scp hadoop-3.1.3.tar.gz root@slave1:/opt/software
scp hadoop-3.1.3.tar.gz root@slave2:/opt/software

配置环境变量

vim /root/.bash_profile
HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`

重开shell窗口,查看hadoop版本

hadoop version

在这里插入图片描述

核心配置文件

cd /opt/module/hadoop-3.1.3/etc/hadoop/
vim core-site.xml
<!-- namenode地址端口-->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:8020</value>
</property>
<!-- 数据存储目录-->
<property>
    <name>hadoop.data.dir</name>
    <value>/opt/module/hadoop-3.1.3/data</value>
</property>
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

HDFS配置文件

vim hdfs-site.xml
<!-- nn web端访问地址-->
<property>
  <name>dfs.namenode.http-address</name>
  <value>master:9870</value>
</property>
<property>
  <name>dfs.namenode.name.dir</name>
  <value>file://${hadoop.data.dir}/name</value>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>file://${hadoop.data.dir}/data</value>
</property>
<!--主节点的元数据备份地址-->
<property>
  <name>dfs.namenode.checkpoint.dir</name>
  <value>file://${hadoop.data.dir}/namesecondary</value>
</property>
  <property>
  <name>dfs.client.datanode-restart.timeout</name>
  <value>30</value>
</property>
<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>slave2:9868</value>
</property>

YARN配置文件

vim yarn-site.xml
<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
  <!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>slave1</value>
    </property>
  <!-- 环境变量的继承 -->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
  <!-- yarn容器允许分配的最大最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
    </property>
    <!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
    <!-- 关闭yarn对虚拟内存的限制检查 -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>

修改mapred-site.xml

vim mapred-site.xml
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

配置hadoop. jdk环境,不知道jdk在哪的可以echo $JAVA_HOME查看

vim /opt/module/hadoop-3.1.3/etc/hadoop/hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_212

配置workers(不要有多余的空格)

vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
master
slave1
slave2

在启动之前需要修改一下启动文件,修改start-dfs.sh和stop-dfs.sh,在文件最开始加入下面四行

vim /opt/module/hadoop-3.1.3/sbin/start-dfs.sh
vim /opt/module/hadoop-3.1.3/sbin/stop-dfs.sh
HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root 

修改start-dfs.sh和stop-dfs.sh,在文件最开始加入下面四行

vim /opt/module/hadoop-3.1.3/sbin/start-yarn.sh
vim /opt/module/hadoop-3.1.3/sbin/stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root

同步sbin目录(启动命令),和etc/hadoop/目录下(配置文件),如果复制有问题自己手打

cd /opt/module/hadoop-3.1.3/etc/
scp -r hadoop/ root@slave1:/opt/module/hadoop-3.1.3/etc/ 
scp -r hadoop/ root@slave2:/opt/module/hadoop-3.1.3/etc/ 
cd /opt/module/hadoop-3.1.3 
scp -r sbin/ root@slave1:/opt/module/hadoop-3.1.3/ 
scp -r sbin/ root@slave2:/opt/module/hadoop-3.1.3/ 

如果集群是第一次启动,需要在master节点格式化NameNode

cd /opt/module/hadoop-3.1.3/
bin/hdfs namenode -format

在master上执行

cd /opt/module/hadoop-3.1.3/
sbin/start-dfs.sh

在slave1上执行

cd /opt/module/hadoop-3.1.3/
sbin/start-yarn.sh

部署flink

解压flink,修改文件夹为flink-1.13.0-yarn

tar -zxvf flink-1.13.0-bin-scala_2.12.tgz -C /opt/module/
cd /opt/module
mv flink-1.13.0 flink-1.13.0-yarn

修改配置

vim flink-conf.yaml
jobmanager.memory.process.size: 1600m
taskmanager.memory.process.size: 1728m
taskmanager.numberOfTaskSlots: 8
parallelism.default: 1

启动,首先要保证hadoop集群启动成功

cd /opt/module/flink-1.13.0-yarn
bin/yarn-session.sh -nm test

在这里插入图片描述

可以访问地址,看到客户端

最后说一句,尚硅谷yyds


https://www.bilibili.com/video/BV133411s7Sa?p=24&spm_id_from=pageDriver



版权声明:本文为weixin_47491957原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。