安装 : 下载并启动 Flink 可以在 Linux Mac OS X 以及 Windows 上运行 为了能够运行 Flink, 唯一的要求是必须安装 Java 7.x 或者更高版本 对于 Windows 用户来说, 请参考 Flink on Windows 文档, 里面介绍了如何在 Window 本地运行 Flink 下载 从下载页面 (http://flink.apache.org/downloads.html) 下载所需的二进制包 你可以选择任何与 Hadoop/Scala 结合的版本 比如 Flink for Hadoop 2 启动一个 local 模式的 Flink 集群 启动一个 local 模式的 Flink 集群非常地简单, 我们可以按照以下的步骤来操作 : 1 进入到下载的目录 ; 2 解压下载的文件 ; 3 启动 Flink 操作命令如下 : $ cd ~/Downloads # Go to download directory $ tar xzf flink-*.tgz # Unpack the downloaded archive $ cd flink-1.0.0 $ bin/start-local.sh # Start Flink 打开 https://www.iteblog.com:8081 检查 Jobmanager 和其他组件是否正常运行 Web 前端应该显示了只有一个可用的 TaskManager 1 / 6
运行例子 现在, 我们来运行 SocketTextStreamWordCount 例子, 它从 socket 中获取文本, 然后计算每个单词出现的次数 操作步骤如下 : 1 首先, 我们使用 netcat 来启动本地服务器 : $ nc -l -p 9000 2 然后我们就可以提交 Flink 程序了 : $ bin/flink run examples/streaming/sockettextstreamwordcount.jar \ --hostname localhost \ --port 9000 Printing result to stdout. Use --output to specify output path. 04/05/2016 16:03:36 Job execution switched to status RUNNING. 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to SCHEDULED 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to DEPLOYING 04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to SCHEDULED 2 / 6
04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to DEPLOYING 04/05/2016 16:03:36 Keyed Aggregation -> Sink: Unnamed(1/1) switched to RUNNING 04/05/2016 16:03:36 Source: Socket Stream -> Flat Map(1/1) switched to RUNNING 04/05/2016 17:00:43 Source: Socket Stream -> Flat Map(1/1) switched to FINISHED 04/05/2016 17:00:43 Keyed Aggregation -> Sink: Unnamed(1/1) switched to FINISHED 04/05/2016 17:00:43 Job execution switched to status FINISHED. 这个程序和 socket 进行了连接, 并等待输入 我们可以在 WEB UI 中检查 Job 是否正常运行 : 3 / 6
3 计数会打印到标准输出 stdout 监控 JobManager 的输出文件 (.out 文件 ), 并在 nc 中敲入一些单词 : $ nc -l -p 9000 lorem ipsum ipsum ipsum ipsum bye.out 文件会立即打印出单词的计数 : $ tail -f log/flink-*-jobmanager-*.out (lorem,1) (ipsum,1) (ipsum,2) (ipsum,3) (ipsum,4) (bye,1) 4 / 6
要停止 Flink, 只需要运行 : $ bin/stop-local.sh 集群模式安装 在集群上运行 Flink 是和在本地运行一样简单的 需要先配置好 SSH 免密码登录和保证所有节点的目录结构是一致的, 这是保证我们的脚本能正确控制任务启停的关键 然后我们就可以按照下面步骤来操作 : 1 在每台节点上, 复制解压出来的 flink 目录到同样的路径下 2 选择一个 master 节点 (JobManager) 然后在 conf/flink-conf.yaml 中设置 jobmanager.rpc.address 配置项为该节点的 IP 或者主机名 确保所有节点有有一样的 jobmanager.rpc.address 配置 3 将所有的 worker 节点 (TaskManager) 的 IP 或者主机名 ( 一行一个 ) 填入 conf/slaves 文件中 5 / 6
Powered by TCPDF (www.tcpdf.org) 现在, 你可以在 master 节点上启动集群 :bin/start-cluster.sh 下面的例子阐述了三个节点的集群部署 (IP 地址从 10.0.0.1 到 10.0.0.3, 主机名分别为 master, worker1, worker2) 并且展示了配置文件, 以及所有机器上一致的可访问的安装路径 访问 https://ci.apache.org/projects/flink/flink-docsrelease-1.0/setup/config.html 查看更多可用的配置项 为了使 Flink 更高效的运行, 还需要设置一些配置项 以下都是非常重要的配置项 : 1 TaskManager 总共能使用的内存大小 (taskmanager.heap.mb) 2 每一台机器上能使用的 CPU 个数 (taskmanager.numberoftaskslots) 3 集群中的总 CPU 个数 (parallelism.default) 4 临时目录 (taskmanager.tmp.dirs) Flink on YARN 你可以很方便地将 Flink 部署在现有的 YARN 集群上, 操作如下 : 1 下载 Flink Hadoop2 包 : Flink with Hadoop 2 2 确保你的 HADOOP_HOME ( 或 YARN_CONF_DIR 或 HADOOP_CONF_DIR) 环境变量 设置成你的 YARN 和 HDFS 配置 3 运行 YARN 客户端 :./bin/yarn-session.sh 你可以带参数运行客户端 -n 10 -tm 8192 表示分配 10 个 TaskManager, 每个拥有 8 GB 的内存 本博客文章除特别声明, 全部都是原创! 转载本文请加上 : 转载自过往记忆 (https://www.iteblog.com/) 本文链接 : () 6 / 6