
1.1 环境准备
在下载、导入和阅读Flink源代码之前,需要准备好所需的环境。
1. JDK环境
根据计算机的操作系统类型,下载相应版本的JDK并安装。注意,需要保证JDK的版本在1.8及以上,原因是Flink使用了JDK 1.8中新增的lambda特性。JDK的下载地址为https://www.oracle.com/technetwork/java/javase/downloads/index.html。
执行以下命令配置环境:
$ vi ~/.bash_profile
添加Java环境配置:
export JAVA_HOME=/usr/local/java export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/ export PATH=$PATH:$JAVA_HOME/bin
环境配置设置完成后,执行source命令,让配置立即生效。
$ source ~/.bash_profile
最后,使用java -version命令确认安装正常,如图1-1所示。

图1-1 检查JDK是否安装正常
2. Git
Flink源代码使用Git作为版本控制工具。访问Git的下载地址https://git-scm.com/downloads下载最新版本的Git并安装。
下面介绍如何配置SSH公钥。
1)生成GitHub使用的SSH公钥。输入下面的ssh-keygen命令,再按3次回车键即可。(注:-C后面跟的是GitHub账号的关联邮箱。)
$ ssh-keygen -t rsa -C 'xx@xx.com' -f ~/.ssh/id-rsa-github
2)将SSH公钥添加到GitHub。复制生成的公钥~/.ssh/id-rsa-github.pub的内容,再登录GitHub账号,在Account settings中单击New SSH key按钮,在新页面中将刚才复制的内容填入Key字段,并单击Add SSH key按钮进行保存,如图1-2所示。

图1-2 添加SSH公钥
3)通过下面的命令测试SSH公钥是否生效。
ssh -T git@github.com
4)出现GitHub欢迎界面,则配置成功,如图1-3所示。

图1-3 配置SSH key成功
对于一些开发者来说,除了个人的Git仓库外,公司也有Git仓库,因此需要配置多个SSH公钥。公司的Git仓库生成SSH公钥的方式与GitHub类似,只需创建一个ssh config配置即可。
$ vi ~/.ssh/config
ssh config配置内容如下:
#GitLab Host gitlab.company.com HostName gitlab.company.com PreferredAuthentications publickey IdentityFile ~/.ssh/id-rsa-company # GitHub Host github.com HostName github.com PreferredAuthentications publickey IdentityFile ~/.ssh/id-rsa-github host * ControlMaster auto ControlPath ~/.ssh/master-%r@%h:%p
3. Maven
Flink源代码使用Maven作为构建工具。Flink官方推荐使用Maven 3.2.5版本,Maven的下载地址为https://maven.apache.org/download.cgi#。注意,如果你下载的是Maven 3.3.x版本,则需注意Shade存在问题。
4. IntelliJ IDEA
Eclipse和IDEA都是流行的Java IDE,但由于Eclipse存在对Scala的兼容性问题,因此Flink官方推荐使用IntelliJ IDEA作为IDE。
(1)下载IntelliJ IDEA
读者可以通过IntelliJ IDEA的官方网站,根据自己的计算机操作系统进行下载和安装。下载地址为https://www.jetbrains.com/idea/download/。
(2)Scala
Scala是面向函数式编程的语言,在大数据的流式开发方面,相比Java,Scala开发更简洁方便。Flink主要用到的有Scala API、Flink SQL和Akka通信。IntelliJ IDEA默认不支持Scala开发环境,阅读源代码时需要安装Scala插件。
(3)Scala插件安装
在IntelliJ IDEA的菜单栏选择Preferences选项,然后选择Plugins选项,在搜索框中输入scala,如图1-4所示。在搜索出来的结果列表中选择Scala插件并安装,安装后重启IDEA,Scala插件即安装完毕。

图1-4 Scala插件安装