分享

彻底明白Flink系统学习6:Flink最全最详细集群安装【带有各种说明】

问题导读
1.ssh安装需要注意什么问题?

2.Flink集群配置文件是哪个?
3.Flink常用配置参数的含义是什么?
4.如何具体配置某个taskmanager的内存?
5.如何指定taskmanager?
6.如何指定nodemanager?
7.如何启动集群?

关注最新经典文章,欢迎关注公众号


上一篇
彻底明白Flink系统学习5:window、Linux本地安装Flink
http://www.aboutyun.com/forum.php?mod=viewthread&tid=26393


集群安装模式
设置Flink集群也非常简单。 那些有安装Hadoop集群背景的人来说会非常容易。 为了规划集群,我们假设我们有三台Linux机器,每台机器都配置适中。 可以为2core和4 GB 内存机器。

由于我们有三台机器,我们将使用一台机器作为作业管理器,将另外两台机器用作任务管理器,当然你更多台也是可以的。

对于集群的安装配置,如果你已经安装过集群,那么其实比较简单,无外乎,hostname,hosts,虚拟机克隆,ssh安装,Java安装等,这些几乎是集群必备。准备完这些接着就是配置文件,然后启动集群,多么简单的事情。这里对于集群安装的准备工作,就不在写那么详细了,如果不明白推荐参考
集群安装准备工作:Hadoop、Spark、Flink等
http://www.aboutyun.com/forum.php?mod=viewthread&tid=26395
集群规划:
192.168.1.10 job
192.168.1.20 task1
192.168.1.30 task2

SSH配置
首先生成key
  1. ssh-keygen -t dsa -P ''
复制代码
1.png


这里就不在详细操作,介绍下步骤,详细参考上文链接
1.首先每台生成key
2.将id_dsa.pub全部追加到authorized_keys文件里面,如下图
1.png

将全部机器(这里三台)全部保存上面文件在.ssh文件夹里。
最后ssh安装,实现无密码登陆。
这里贴出来常用命令:
追加内容
  1. cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
复制代码

远程分发到task2:
  1. scp authorized_keys aboutyun@task2:~/.ssh
复制代码

这里面特别注意权限问题:
chmod 700 .ssh
chmod 600 .ssh/authorized_keys

一定注意是上面权限,即使变成777,恐怕不能ssh成功,是700和600,一定没有问题的。

Java1.8安装


tar包下载:
链接: https://pan.baidu.com/s/19VpIRATjjOMjqdwTfTEMgQ 提取码: rbdj

其它同似参考
centos7 安装jdk 1.7
http://www.aboutyun.com/forum.php?mod=viewthread&tid=17730

linux中Java jdk环境变量的含义
http://www.aboutyun.com/forum.php?mod=viewthread&tid=6766

Flink 安装
完成SSH和Java安装后,我们需要下载Flink二进制文件并将其解压缩到特定文件夹中。 请注意所有节点上的安装目录应该相同
这里的安装跟上篇文章,是一样的
彻底明白Flink系统学习5:window、Linux本地安装Flink
http://www.aboutyun.com/forum.php?mod=viewthread&tid=26393
安装包下载:
链接: https://pan.baidu.com/s/1iWGqtfkY3XX0LVK-veFmHw 提取码: qu5y
首先是解压

  1. sudo tar zxvf flink-1.6.2-bin-hadoop28-scala_2.11.tgz -C /usr
复制代码

我这里加压到/usr目录下面,解压后为
1.png
这里三台都要解压。

配置
Flink的配置很简单。 我们需要调整一些参数,我们都已设置好。 作业管理器节点和任务管理器节点的大多数配置都相同。 所有配置都在conf/flink-conf.yaml文件中完成。下面我们开始配置
进入目录
  1. cd /usr/flink-1.6.2/conf
复制代码

打开编辑文件
  1. vi flink-conf.yaml
复制代码

我们看到下面内容

1.png
发现很flink真的很人性化,竟然大多数参数都给配置上了。但是一个参数需要改
第一步:指定jobmanager
  1. jobmanager.rpc.address: localhost
复制代码


localhost改为主机hostname,我这里的hostnamejob.

第二步:配置JAVA_HOME
还有我们需要添加JAVA_HOME
  1. export JAVA_HOME=/usr/...
复制代码

以便让Flink找到Java,替换为自己的路径

第三步:配置taskmanager
  1. vi slaves
复制代码

指定taskmanager,如下图
1.png
下面是对参数的说明
#############################
参数说明:
通过编辑conf / flink-conf.yaml为集群配置Flink。将jobmanager.rpc.address键设置为指向主节点。通过设置jobmanager.heap.mb和taskmanager.heap.mb键来定义允许JVM在每个节点上分配的最大主内存量。这些值以MB为单位。如果某些工作节点具有要分配给Flink系统的更多主内存,则可以通过在这些特定节点上设置环境变量FLINK_TM_HEAP来覆盖默认值。
最后,必须提供集群中所有节点的列表,这些节点将用作工作节点。因此,与HDFS配置类似,编辑文件conf/slaves并输入每个工作节点的IP /主机名。每个工作节点稍后将运行TaskManager。

################################
第四步:分发配置文件
  1. scp -r conf/ aboutyun@task1:~
  2. scp -r conf/ aboutyun@task1:~
复制代码


然后移动到/usr/,记得两个节点都需要移动
  1. cp -r conf/ /usr/flink-1.6.2/
复制代码

移动完毕,这里需要确认下权限,所有文件一定都属于都一个用户,比如下图都属于aboutyun
1.png

第五步:启动集群
进入bin目录
  1. ./start-cluster.sh
复制代码

后面再更新




本帖被以下淘专辑推荐:

已有(9)人评论

跳转到指定楼层
jiangzi 发表于 2018-11-29 14:11:56
Flink最全最详细集群安装,ok
回复

使用道具 举报

a530491093 发表于 2018-12-7 10:40:28
不错,感谢分享!
回复

使用道具 举报

为梦狂野 发表于 2018-12-27 18:35:01
感谢分享,写的很用心,谢谢。
回复

使用道具 举报

huangrong 发表于 2019-5-9 17:52:05
不知道为什么换一个账号再配置免密登录就不行了。。。

点评

检测配置是否正确,正确的情况下,看是否生效  发表于 2019-5-9 18:26
回复

使用道具 举报

huangrong 发表于 2019-5-9 18:27:55
原来是.ssh文件夹的权限问题,不能将权限设置过大,700就好
回复

使用道具 举报

王少波 发表于 2019-6-3 16:55:18
在已有的CDH环境下可以搭建fink集群吗
回复

使用道具 举报

devilmz 发表于 2019-6-19 17:53:56
很详细,谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条