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