环境准备
Flink 运行在所有类 UNIX 环境上,例如 Linux、Mac OS X 和 Cygwin(对于Windows),而且要求集群由一个master节点和一个或多个worker节点组成。在安装系统之前,确保每台机器上都已经安装了下面的软件:
- Java 1.7.x或更高版本
- ssh(Flink的脚本会用到sshd来管理远程组件)
如果你的集群还没有完全装好这些软件,你需要安装/升级它们。安装软件可以直接用yum或apt-get的方式进行安装即可.
SSH免密码登录
为了能够启动/停止远程主机上的进程,master节点需要能免密登录所有worker节点。最方便的方式就是使用ssh的公钥验证了。要安装公钥验证,首先以最终会运行Flink的用户登录master节点。所有的worker节点上也必须要有同样的用户(例如:使用相同用户名的用户)**。本文会以 flink 用户为例。非常不建议使用 root 账户,这会有很多的安全问题。
当你用需要的用户登录了master节点,你就可以生成一对新的公钥/私钥。下面这段命令会在 ~/.ssh 目录下生成一对新的公钥/私钥。详见打SSH通道命令:
在master机器上生成公私钥对
# ssh-keygen -b 2048 -P '' -f ~/.ssh/id_rsa
将公钥添加到被动机authorized_keys文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将authorized_keys文件分发给集群所有worker节点
#scp ~/.ssh/authorized_keys <worker>:~/.ssh/
注意:最好不是scp覆盖,而是用append的方式,万一这台机器还有其