基于Ambari2.5 Centos 6 安装 Flink

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/llwy1428/article/details/85231972

QQ交流群:64655993

说明:以下使用的主机名以及文件版本和放置路径仅做参考,实际操作以当前环境为主!

            希望能对您有所帮助!

1、安装一些基础的工具(每个节点均安装)

[root@node1 ~]# yum install -y vim lrzsz wget tree net-tools

2、JDK安装(本环境使用JDK 1.8 x64)

安装过程: https://blog.csdn.net/llwy1428/article/details/85232267

3、Ambari2.5集群搭建(根据自己业务需要选择版本)

可参考:

http://www.cnblogs.com/TiestoRay/p/6133866.html

https://www.cnblogs.com/sunny3096/p/7201362.html

https://blog.csdn.net/u012637358/article/details/80982131

说明:在配置集群过程中会有节点间免密ssh配置

4、Scala环境安装(选择适合自己系统环境的版本进行安装,本环境使用 scala-2.11.12.tgz 

安装过程:https://blog.csdn.net/llwy1428/article/details/85335572

5、Flink下载

下载地址:https://flink.apache.org/downloads.html

由于Ambari2.5中我选择的是HDP-2.5.3,其中的hadoop版本是2.7.3

(说明:此处要根据当前环境所安装hadoop版本进行下载)

此处可选择Apache 1.7.1 Flink only Scala 2.11或Apache 1.7.1 Flink only Scala 2.12进行下载。

(说明:本环境使用版本:Apache 1.7.1 Flink only Scala 2.11)

6、Flink参数设置说明

Flink的配置文件路径是/opt/flink-1.7.1/conf,目录下的文件包括

flink-conf.yaml     #flink的主配置文件(可修改服务端口等)

     (1) jobmanager.rpc.port:

     (2)rest.port:

     (3)historyserver.web.port:

     (4)historyserver.archive.fs.refresh-interval: 

    (注意:修改以上4处端口,为避免与集群中其他组件所用端口冲突,查询当前节点已使用端口命令:netstat  -lntp)
log4j-cli.properties
log4j.properties
log4j-yarn-session.properties
logback.xml
logback-yarn.xml
masters         # master(jobmanager)配置文件
slaves         # slave(taskmanager)配置文件
zoo.cfg         # Zookeeper配置文件

本次部署,修改了node1(节点1)上的flink-conf.yaml、mastes和slaves.

7、flink-conf.yaml的修改(根据自己的实际情况进行修改)

文件路径是/opt/flink-1.7.1/conf/flink-conf.yaml,主要关注以下参数,具体的含义见注释。还有更多的参数配置,例如前端页面的配置、文件存储的配置(支持HDFS)、HA的配置等,更多配置说明参考:Flink官方配置说明  https://link.jianshu.com/?t=https://ci.apache.org/projects/flink/flink-docs-release-1.1/setup/config.html#configuration

# Master的主机名或者ip
jobmanager.rpc.address: vm1

# JobManager监听端口
jobmanager.rpc.port: 6123

# JobManager的内存参数
jobmanager.heap.mb: 512

# 每台taskmanager可用的总内存
taskmanager.heap.mb: 8192

# 每台taskmanager可用的solt数目,一般设置成CPU的core数
taskmanager.numberOfTaskSlots: 2

# NumTaskManagers(slave的个数) * NumSlotsPerTaskManager
parallelism.default: 4

# 酌情修改临时目录。/tmp中的数据重启就没了。
taskmanager.tmp.dirs: /tmp

8、masters的修改

在配置jobmanager(master)文件时,除了配置master的主机名(IP)之外,还需要指定 JobManager 的 UI 监听端口。

[root@node1 conf]# cat masters

node1 :8083    #(node1 是节点的主机名)

9、slaves的修改

修改slaves文件,配置多个taskmanager(slave)。

[root@node1 conf]# cat slaves 

node2    #(node2 是节点的主机名)
node3    #(node3 是节点的主机名)

10、修改  zoo.cfg

[root@node1 conf]# vim zoo.cfg

说明:节点名可查看hosts

[root@node1 ~]# cat /etc/hosts

11、修改hadoop相关配置

[root@node1 bin]# vim config.sh

修改  DEFAULT_HADOOP_CONF_DIR

修改  DEFAULT_YARN_CONF_DIR

注意:根据自己集群环境hadoop配置文件路径设置

13、分发文件(免密已经做好)

把配置好的flink文件,整体发送到各个节点的相同目录下

[root@node1 opt]# scp -r flink-1.7.1/ node2:/opt/

[root@node1 opt]# scp -r flink-1.7.1/ node3:/opt/

14、启动集群

在master节点,即本例中的vm1节点上执行以下命令,启动集群。其过程就是先启动本机的jobmanager,然后ssh到各个slave节点上启动taskmanager。

[root@node1 bin]# ./start-cluster.sh

15、停止集群

在master节点,即本例中的vm1节点上执行以下命令,启动集群。其过程是先ssh到各个slave节点上停止taskmanager,再停止本机的jobmanager。

[root@node1 bin# ./stop-cluster.sh

16、启停集群中的一个节点

如果想要启动或者停止机器中的节点,不论是jobmanager或者taskmanager,都可以在对应的主机上执行以下命令。

# 启动本机的jobmanager
bin/jobmanager.sh start
# 启动本机的taskmanager
bin/taskmanager.sh start

# 停止本机的taskmanager
bin/taskmanager.sh stop
# jobmanager
bin/jobmanager.sh stop

17、查看web页面

由于我在配置文件中把web的端口改成了8083,故在浏览器地址栏输入:  http://192.168.0.43:8083

效果如下:

以上操作参考地址:

https://www.jianshu.com/p/054bbac7fef8

https://blog.csdn.net/llwy1428/article/details/85337943

简单操作参照:

https://www.jianshu.com/p/1ab7769f5837

猜你喜欢

转载自blog.csdn.net/llwy1428/article/details/85231972