# Flink环境准备
通过前面几篇文章,相信你已经对 Flink 的基础概念等知识已经有一定了解,现在是不是迫切的想把 Flink 给用起来?先别急,我们先把电脑的准备环境给安装好,这样后面才能更愉快地玩耍。
废话不多说了,直奔主题。因为后面可能用到的有:Kafka、MySQL、ElasticSearch 等,另外像 Flink 编写程序还需要依赖 Java,还有就是我们项目是用 Maven 来管理依赖的,所以这篇文章我们先来安装下这个几个,准备好本地的环境,后面如果还要安装其他的组件我们到时在新文章中补充,如果你的操作系统已经中已经安装过 JDK、Maven、MySQL、IDEA 等,那么你可以跳过对应的内容,直接看你未安装过的。
这里我再说下我自己电脑的系统环境:macOS High Sierra 10.13.5,后面文章的演示环境不作特别说明的话就是都在这个系统环境中。
# JDK 安装与配置
虽然现在 JDK 已经更新到 12 了,但是为了稳定我们还是安装 JDK 8,如果没有安装过的话,可以去官网 (opens new window) 的下载页面 (opens new window)下载对应自己操作系统的最新 JDK8 就行。
Mac 系统的是 jdk-8u211-macosx-x64.dmg 格式、Linux 系统的是 jdk-8u211-linux-x64.tar.gz 格式。
Mac 系统安装的话直接双击然后一直按照提示就行了,最后 JDK 的安装目录在 /Library/Java/JavaVirtualMachines/
,然后在 /etc/hosts
中配置好环境变量(注意:替换你自己电脑本地的路径)。
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:
export PATH=$PATH:$JAVA_HOME/bin
Linux 系统的话就是在某个目录下直接解压就行了,然后在 /etc/profile
添加一下上面的环境变量(注意:替换你自己电脑的路径)。
然后执行 java -version
命令可以查看是否安装成功!
zhisheng@zhisheng ~ java -version
java version "1.8.0_152"
Java(TM) SE Runtime Environment (build 1.8.0_152-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
# Maven 安装与配置
安装好 JDK 后我们就可以安装 Maven 了,我们在官网 (opens new window)下载二进制包就行,然后在自己本地软件安装目录解压压缩包就行。
接下来你需要配置一下环境变量:
export M2_HOME=/Users/zhisheng/Documents/maven-3.5.2
export PATH=$PATH:$M2_HOME/bin
然后执行命令 mvn -v
可以验证是否安装成功,结果如下:
zhisheng@zhisheng ~ /Users mvn -v
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T15:58:13+08:00)
Maven home: /Users/zhisheng/Documents/maven-3.5.2
Java version: 1.8.0_152, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home/jre
Default locale: zh_CN, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.5", arch: "x86_64", family: "mac"
# IDE 安装与配置
安装完 JDK 和 Maven 后,就可以安装 IDE 了,大家可以选择你熟练的 IDE 就行,我后面演示的代码都是在 IDEA 中运行的,如果想为了后面不出其他的 问题的话,建议尽量和我的环境保持一致。
IDEA 官网下载地址:下载页面的地址 (opens new window)
下载后可以双击后然后按照提示一步步安装,安装完成后需要在 IDEA 中配置 JDK 路径和 Maven 的路径,后面我们开发也都是靠 Maven 来管理项目的依赖。
# MySQL 安装与配置
因为后面文章有用到 MySQL,所以这里也讲一下如何安装与配置,首先去官网下载 MySQL 5.7,下载页面的地址 (opens new window),根据你们到系统安装对应的版本,Mac 的话双击 dmg 安装包就可以按照提示一步步执行到安装成功。
启动 MySQL,如下图:
出现绿色就证明 MySQL 服务启动成功了。后面我们操作数据库不会通过本地命令行来,而是会通过图形化软件,比如:Navicat、Sequel pro,这些图形化软件可比命令行的效率高太多,读者可以自行下载安装一下。
# Kafka 安装与配置
后面我们文章中会大量用到 Kafka,所以 Kakfa 一定要安装好。官网下载地址:下载页面的地址 (opens new window)
同样,我自己下载的版本是 1.1.0 (保持和我公司的生产环境一致),如果你对 Kafka 还不太熟悉,可以参考我以前写的一篇入门文章:Kafka 安装及快速入门 (opens new window)。
在这篇文章里面教大家怎么安装 Kafka、启动 Zookeeper、启动 Kafka 服务、创建 Topic、使用 producer 创建消息、使用 consumer 消费消息、查看 Topic 的信息,另外还有提供集群配置的方案。
# ElasticSearch 安装与配置
因为后面有文章介绍连接器 (connector) —— Elasticsearch 介绍和整和使用,并且最后面的案例文章也会把数据存储在 Elasticsearch 中的,所以这里就简单的讲解一下 Elasticsearch 的安装,在我以前的博客中写过一篇搭建 Elasticsearch 集群的:Elasticsearch 系列文章(二):全文搜索引擎 Elasticsearch 集群搭建入门教程 (opens new window)。
这里我在本地安装个单机的 Elasticsearch 就行了,首先在官网 下载页面 (opens new window) 找到 Elasticsearch 产品,我下载的版本是 elasticsearch-6.3.2 版本,同样和我们公司的线上环境版本保持一致,因为 Flink Elasticsearch connector 有分好几个版本:2.x、5.x、6.x 版本,不同版本到时候写数据存入到 Elasticsearch 的 Job 代码也是有点区别的,如果你们公司的 Elasticsearch 版本比较低的话,到时候后面版本的学习代码还得找官网的资料对比学习一下。
另外就是写这篇文章的时候 Elasticsearch 7.x 就早已经发布了,Flink 我暂时还没看到支持 Elasticsearch 7 的连接器,自己也没测试过,所以暂不清楚如果用 6.x 版本的 connector 去连接 7.x 的 Elasticsearch 会不会出现问题?建议还是跟着我的安装版本来操作!
除了这样下载 Elasticsearch 的话,你如果电脑安装了 Homebrew,也可以通过 Homebrew 来安装 Elasticsearch,都还挺方便的,包括你还可以通过 Docker 的方式快速启动一个 Elasticsearch 来。
下载好了 Elasticsearch 的压缩包,在你的安装目录下解压就行了,然后进入 Elasticsearch 的安装目录执行下面命令就可以启动 Elasticsearch 了:
./bin/elasticsearch
执行命令后的结果:
从浏览器端打开地址:http://localhost:9200/
即可验证是否安装成功:
如果出现了如上图这样就代表 Elasticsearch 环境已经安装好了。
# 小结与反思
本节讲解了下 JDK、Maven、IDE、MySQL、Kafka、ElasticSearch 的安装与配置,因为这些都是后面要用的,所以这里单独抽一篇文章来讲解环境准备的安装步骤,当然这里还并不涉及全,因为后面我们还可能会涉及到 HBase、HDFS 等知识,后面我们用到再看,我们本系列的文章更多的还是讲解 Flink,所以更多的环境准备还是得靠大家自己独立完成。
这里我说下笔者自己一般安装环境的选择:
组件尽量和公司的生产环境保持版本一致,不追求太新,够用就行,这样如果生产出现问题,本机还可以看是否可以复现出来
安装环境的时候先搜下类似的安装教程,提前知道要踩的坑,避免自己再次踩到
下面文章我们就正式进入 Flink 专题了!