moapi-o-flink-01和moapi-o-flink-02配置了HA
hostname | 配置 | 角色 |
---|---|---|
moapi-o-flink-01 | 16c,32G | zookeeper,master,slave,HistoryServer |
moapi-o-flink-02 | 16c,32G | zookeeper,master,slave |
moapi-o-flink-03 | 16c,32G | zookeeper,slave |
在使用scp和启动flink集群时需要配置免密钥ssh登录
具体配置方法如下:
1.A服务器上生成秘钥对:ssh-keygen
2.拷贝公钥到B服务器:ssh-copy-id root@hostB
执行下面脚本即可:
wget 'http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz'
如果没有安装wget,可以直接使用curl 代替
curl -O 'http://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz'
解压到指定的目录
tar -zxf zookeeper-3.4.5.tar.gz -C /data/app_install/
进入到配置文件的目录
cd /data/app_install/zookeeper-3.4.5/conf
cp zoo-sample.cfg zoo.cfg
vim zoo.cfg
修改以下几个配置项:
dataDir=/data/data/zookeeper-3.4.5
clientPort=2181
在zoo.cfg 的最后面添加以下几个配置:
server.1=moapi-o-flink-01:2888:3888
server.2=moapi-o-flink-02:2888:3888
server.3=moapi-o-flink-03:2888:3888
注意:
1.moapi-o-flink-0* 是要部署的zookeeper 这几台机器的主机名,具体位置是 /etc/sysconfig/network#HOSTNAME
2.2888原子广播端口,3888选举端口,zookeeper有几个节点,就配置几个server
到zoo.cfg 中配置好的dataDir文件夹中生成一个文件叫myid,其中写上一个数字表明当前机器是哪一个编号的机器.例如在moapi-o-flink-01上配置myid,步骤如下:
cd /data/data/zookeeper-3.4.5
echo 1 > myid
注意:文件名称必须是myid,文件内容只需要一个数字即服务器列表中当前服务器的编号。
提前在moapi-o-flink-02、moapi-o-flink-03上创建文件夹/data/app_install/zookeeper-3.4.5/
scp -r /data/app_install/zookeeper-3.4.5/ dev@moapi-o-flink-02:/data/app_install/zookeeper-3.4.5/
scp -r /data/app_install/zookeeper-3.4.5/ dev@moapi-o-flink-03:/data/app_install/zookeeper-3.4.5/
在moapi-o-flink-01,moapi-o-flink-02,moapi-o-flink-03上都启动zookeeper
cd /data/app_install/zookeeper-3.4.5
bin/zkServer.sh start
其他命令:
#启动ZK服务: bin/zkServer.sh start
#停止ZK服务: bin/zkServer.sh stop
#重启ZK服务: bin/zkServer.sh restart
#查看ZK服务状态: bin/zkServer.sh status
使用jps查看是否有zookeeper进程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vwztuH1X-1581046246127)(evernotecid://F4957800-1AA8-4E97-8F99-7B44D39F27C6/appyinxiangcom/3271105/ENResource/p97)]
再用bin/zkServer.sh status 查看是否有正常:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7scYboPW-1581046246129)(evernotecid://F4957800-1AA8-4E97-8F99-7B44D39F27C6/appyinxiangcom/3271105/ENResource/p95)]
执行下面脚本即可:
wget 'http://apache.crihan.fr/dist/flink/flink-1.7.2/flink-1.7.2-bin-hadoop26-scala_2.11.tgz'
如果没有安装wget,可以直接使用curl 代替
curl -O 'http://apache.crihan.fr/dist/flink/flink-1.7.2/flink-1.7.2-bin-hadoop26-scala_2.11.tgz'
解压到指定的目录
tar -zxf flink-1.7.2-bin-hadoop26-scala_2.11.tgz -C /data/app_install/
修改/data/app_install/flink-1.7.2/conf中flink-conf.yaml 文件
cd /data/app_install/flink-1.7.2/conf
vim flink-conf.yaml
修改以下配置项:
jobmanager.rpc.address: moapi-o-flink-01
jobmanager.rpc.port: 6123
jobmanager.heap.size: 4096m
taskmanager.heap.size: 16384m
taskmanager.numberOfTaskSlots: 12
parallelism.default: 1
high-availability: zookeeper
high-availability.storageDir: hdfs://10.29.180.177:8020/flink-1.7.2/ha/
high-availability.zookeeper.quorum: moapi-o-flink-01:2181,moapi-o-flink-02:2181,moapi-o-flink-03:2181
state.backend: rocksdb
state.checkpoints.dir: hdfs://10.29.180.177:8020/flink-1.7.2/flink-checkpoints
state.savepoints.dir: hdfs://10.29.180.177:8020/flink-1.7.2/flink-savepoints
state.backend.incremental: true
rest.port: 8081
# The address under which the web-based HistoryServer listens.
historyserver.web.address: moapi-o-flink-01
# The port under which the web-based HistoryServer listens.
historyserver.web.port: 8082
# Comma separated list of directories to monitor for completed jobs.
historyserver.archive.fs.dir: hdfs://10.29.180.177:8020/flink-1.7.2/completed-jobs
# Interval in milliseconds for refreshing the monitored directories.
historyserver.archive.fs.refresh-interval: 10000
cd /data/app_install/flink-1.7.2/conf
vim masters
添加以下两行配置:
moapi-o-flink-01:8081
moapi-o-flink-02:8081
cd /data/app_install/flink-1.7.2/conf
vim slaves
添加以下两行配置:
moapi-o-flink-01
moapi-o-flink-02
moapi-o-flink-03
cd /data/app_install/flink-1.7.2/conf
vim log4j.properties
修改以下配置:
log4j.appender.file.file=/data/logs/flink-1.7.2/log/global.log
提前在moapi-o-flink-02、moapi-o-flink-03上创建文件夹/data/app_install/flink-1.7.2
scp -r /data/app_install/flink-1.7.2/ dev@moapi-o-flink-02:/data/app_install/flink-1.7.2
scp -r /data/app_install/flink-1.7.2/ dev@moapi-o-flink-03:/data/app_install/flink-1.7.2/
在moapi-o-flink-01启动flink集群
cd /data/app_install/flink-1.7.2
bin/start-cluster.sh
注意:
1.其中moapi-o-flink-01和moapi-o-flink-02配置了HA,所以它们两个都是master节点
2.moapi-o-flink-01上启动 history web ui进程
3.moapi-o-flink-01、moapi-o-flink-02和moapi-o-flink-03都是slaves节点
在moapi-o-flink-01上使用jps查看当前进程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3h6nTJTk-1581046246139)(evernotecid://F4957800-1AA8-4E97-8F99-7B44D39F27C6/appyinxiangcom/3271105/ENResource/p102)]
10850 StandaloneSessionClusterEntrypoint该进程是flink的master进程
11358 TaskManagerRunner 该进程是负责flink任务管理的进程
9529 HistoryServer 该进程是负责查看flink提交任务历史的web ui进程
在moapi-o-flink-02上使用jps查看当前进程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-yiWEBj5u-1581046246140)(evernotecid://F4957800-1AA8-4E97-8F99-7B44D39F27C6/appyinxiangcom/3271105/ENResource/p100)]
在moapi-o-flink-03上使用jps查看当前进程:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iz4Z6Yxq-1581046246141)(evernotecid://F4957800-1AA8-4E97-8F99-7B44D39F27C6/appyinxiangcom/3271105/ENResource/p101)]
如果上述几台机器进程都正常,说明flink standalone 模式集群已经可用
bin/flink run -d -c com.tcl.flink.FlinkReadKafkaPvUv job_jars/flink_study-1.0-SNAPSHOT-jar-with-dependencies.jar
说明:
1.参数 -d 表示后台运行
2.参数 -c 表示要执行的类,com.tcl.flink.FlinkReadKafkaPvUv
3.job_jars/flink_study-1.0-SNAPSHOT-jar-with-dependencies.jar 任务jar包