0
点赞
收藏
分享

微信扫一扫

10、Flink高可用HA

非衣所思 2022-06-17 阅读 61

先搭建zookeeper

上传zookeeper并解压

10、Flink高可用HA_flink

 

 

 

 

把没有用的删除

10、Flink高可用HA_flink_02

 

 

 

 创建一个目录zkData

10、Flink高可用HA_flink_03

 

 

 

修改zookeeper的配置文件

10、Flink高可用HA_hadoop_04

 

 10、Flink高可用HA_zookeeper_05

 

 

dataDir=/opt/modules/apache-zookeeper-3.6.1-bin/zkData

server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

 

 

 

创建myid文件

10、Flink高可用HA_flink_06

 

 在里面输入1

10、Flink高可用HA_flink_07

 

 

 

现在我们对zookeeper的配置就完成了,接下来就是分发给另外两台机器。

scp -r apache-zookeeper-3.6.1-bin/ hadoop@slave1:/opt/modules/

scp -r apache-zookeeper-3.6.1-bin/ hadoop@slave2:/opt/modules/

 

 

分发完之后分别把/opt/modules/apache-zookeeper-3.6.1-bin/zkData 下的myid改成2和3

 

接下来启动zookeeper服务,在三台机器都要启动

10、Flink高可用HA_zookeeper_08

 

 

10、Flink高可用HA_hadoop_09

 

 

10、Flink高可用HA_hadoop_10

 

 

启动完之后我们就可以通过客户端来连接我们的服务了

10、Flink高可用HA_zookeeper_11

 

 10、Flink高可用HA_zookeeper_12

 

 

现在查看谁是“老大”

10、Flink高可用HA_hadoop_13

 

 

10、Flink高可用HA_hadoop_14

 

 

10、Flink高可用HA_zookeeper_15

 

zookeeper部署完成!!

 

 

 

10、Flink高可用HA_zookeeper_16

 

 

显然这里需要先部署hadoop的高可用

 先上传hadoop包,解压

10、Flink高可用HA_zookeeper_17

 

 

 

修改配置文件

10、Flink高可用HA_hadoop_18

 

 

修改  hadoop-env.sh

10、Flink高可用HA_flink_19

 

export JAVA_HOME=/opt/modules/jdk1.8.0_221

 

 

 

修改  yarn-env.sh

10、Flink高可用HA_flink_20

 

 

export JAVA_HOME=/opt/modules/jdk1.8.0_221

 

 

 

 vim  mapred-env.sh 

10、Flink高可用HA_zookeeper_21

 

 

export JAVA_HOME=/opt/modules/jdk1.8.0_221

 

 

 

修改hdfs-site.xml

<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>

<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>master:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>master:50070</value>
</property>

<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>slave1:9000</value>
</property>

<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>slave1:50070</value>
</property>

<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://master:8485;slave1:8485;slave2:8485/ns</value>
</property>

<property>
<name>dfs.journalnode.edits.dir</name>
<value>/opt/modules/hadoop-2.8.5/data/jn</value>
</property>

<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>

<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>

<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
</value>
</property>

<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/home/hadoop/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>

 

 

 

 

修改core-site.xml

<property>
<name>fs.defaultFS</name>
<value>hdfs://ns/</value>
</property>

<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.8.5/tmp</value>
</property>

<property>
<name>ha.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>

 

修改mapred-site.xml

mv mapred-site.xml.template mapred-site.xml

 

vim  mapred-site.xml

<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>

 

 

vim yarn-site.xml

<!-- 开启RM高可用 -->
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
</property>
<!-- 指定RM的cluster id -->
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>rs</value>
</property>
<!-- 指定RM的名字 -->
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
</property>
<!-- 分别指定RM的地址 -->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>master</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>slave1</value>
</property>
<!-- 指定zk集群地址 -->
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

 

 

修改slaves

master
slave1
slave2

 

 

将配置好的hadoop分发给其他节点

scp -r hadoop-2.8.5/ hadoop@slave1:/opt/modules/

scp -r hadoop-2.8.5/ hadoop@slave2:/opt/modules/

 

 

启动journalnode(在所有机器都启动)

./hadoop-daemon.sh start journalnode

 

10、Flink高可用HA_zookeeper_22

 

 

 

10、Flink高可用HA_flink_23

 

 

10、Flink高可用HA_flink_24

 

 

 

 

格式化namenode

bin/hdfs namenode -format

 

 

10、Flink高可用HA_hadoop_25

 

 

 

如果出现这样的问题

10、Flink高可用HA_flink_26

 

 检查对应的机器的防火墙是否关闭

 

 

启动namenode

./hadoop-daemon.sh start namenode

 

10、Flink高可用HA_hadoop_27

 

 

在nn2上同步nn1的元数据信息

bin/hdfs  namenode  -bootstrapStandby

 

10、Flink高可用HA_flink_28

 

 10、Flink高可用HA_hadoop_29

 

 

 

格式化ZKFC

bin/hdfs zkfc -formatZK

10、Flink高可用HA_hadoop_30

 

 

 

直接一键启动吧

10、Flink高可用HA_hadoop_31

 

 10、Flink高可用HA_flink_3210、Flink高可用HA_flink_33

 

 

 

 

 

配置flink的高可用

10、Flink高可用HA_hadoop_34

 

 

vim flink-conf.yaml

 

10、Flink高可用HA_zookeeper_35

 

 

high-availability: zookeeper
high-availability.zookeeper.quorum: master:2181,slave1:2181,slave2:2181,
high-availability.zookeeper.path.root: /flink
high-availability.cluster-id: /cluster_one
high-availability.storageDir: hdfs://ns/flink/recovery

 

 

同时把修改后的配置文件同步到另外两个节点

10、Flink高可用HA_hadoop_36

 

 

 

修改master文件

10、Flink高可用HA_zookeeper_37

 

 

10、Flink高可用HA_hadoop_38

 

 

把master文件同步到另外两个节点去

10、Flink高可用HA_zookeeper_39

 

 

在master节点

vim flink-conf.yaml

 

 

10、Flink高可用HA_zookeeper_40

 

 

 

在slave1节点

vim flink-conf.yaml

 

10、Flink高可用HA_hadoop_41

 

 

 

配置hadoop环境变量,三个节点都配置

#hadoop
export HADOOP_HOME=/opt/modules/hadoop-2.8.5
export PATH=$HADOOP_HOME/bin:$PATH

 

 

 

启动flink集群

10、Flink高可用HA_hadoop_42

 

 

我们查看进程,发现并没有flink的进程

10、Flink高可用HA_flink_43

 

 

10、Flink高可用HA_hadoop_44

 

 10、Flink高可用HA_hadoop_45

 

 

查看日志

10、Flink高可用HA_flink_46

 

10、Flink高可用HA_flink_47

 

 

这样解决

进入flink的官网​​https://flink.apache.org/downloads.html#all-stable-releases​​

根据自己的hadoop版本下载对应的架包

10、Flink高可用HA_hadoop_48

 

 

 

把架包上传到三个节点的flink/lib目录下

10、Flink高可用HA_hadoop_49

 

 

 

重新启动一下flink集群

10、Flink高可用HA_hadoop_50

 

 

分别查三个节点的进程

10、Flink高可用HA_zookeeper_51

 

 

10、Flink高可用HA_hadoop_52

 

 

10、Flink高可用HA_zookeeper_53

 

 

打开浏览器访问flink的主页

10、Flink高可用HA_hadoop_54

 

 

 

10、Flink高可用HA_hadoop_55

 

 

10、Flink高可用HA_hadoop_56

 

举报

相关推荐

0 条评论