tar -zxvf flink-1.13.0-bin-scala_2.12.tgz -C /opt/module/
$ cd flink-1.13.0/
$ bin/start-cluster.sh
Starting cluster.
Starting standalonesession daemon on host hadoop102.
Starting taskexecutor daemon on host hadoop102.
$ jps
10369 StandaloneSessionClusterEntrypoint
10680 TaskManagerRunner
10717 Jps
Flink 本地启动非常简单,直接执行 start-cluster.sh 就可以了。如果我们想要扩 展成集群,其实启动命令是不变的,主要是需要指定节点之间的主从关系。 Flink 是典型的 Master-Slave 架构的分布式数据处理框架,其中 Master 角色对应着 JobManager,Slave 角色则对应 TaskManager。
我们对三台节点服务器的角色分配如 下:
节点服务器 | Hadoop102 | Hadoop103 | Hadoop104 |
---|---|---|---|
角色 | JobManager | TaskManager | TaskManager |
进入 conf 目录下,修改 flink-conf.yaml 文件,修改 jobmanager.rpc.address 参数为 hadoop102
这就指定了 hadoop102 节点服务器为 JobManager 节点。
$ cd conf/
$ vim flink-conf.yaml
# JobManager 节点地址.
jobmanager.rpc.address: hadoop102
修改 flink-conf.yaml 文件
$ cd /opt/module/flink-1.13.0-yarn/conf/
$ vim flink-conf.yaml
jobmanager.memory.process.size: 1600m
taskmanager.memory.process.size: 1728m
taskmanager.numberOfTaskSlots: 8
parallelism.default: 1
增加环境变量配置如下 :
$ sudo vim /etc/profile
HADOOP_HOME=/opt/module/hadoop-2.7.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop
export HADOOP_CLASSPATH=`hadoop classpath`
修改 workers 文件,将另外两台节点服务器添加为本 Flink 集群的 TaskManager 节点, 具体修改如下:
$ vim workers
hadoop103
hadoop104
这样就指定了 hadoop103 和 hadoop104 为 TaskManager 节点。
$ scp -r ./flink-1.13.0 atguigu@hadoop103:/opt/module
$ scp -r ./flink-1.13.0 atguigu@hadoop104:/opt/module
在 可以在任一节点服务器上执行 bin/yarn-session.sh -nm test 启动 Flink 集群
如果报以下错误,添加yarn-site.xml配置
yarn.nodemanager.pmem-check-enabled false yarn.nodemanager.vmem-check-enabled false
成功启动如下:
通过上图的链接可以进行Web UI访问, YARN 会按照需求动态分配 TaskManager 和 slot,所以开始时是0TaskManager。
运行一个WordCount任务
任务运行后Yarn会动态分配一个资源
进行wordcount测试
下一篇:栈——算法专项刷题(六)