Flink standone HA模式部署文档

Flink standone HA模式部署文档

一、准备工作

1、机器

10.0.3.192(master)
10.0.3.194(slave1)
基本环境准备:
JDK1.8 以上的版本,同时需要配置环境变量 JAVA_HOME。
ssh 服务安装并启动

2.安装包和依赖包

flink的安装包:flflink-1.11.2-bin-scala_2.11.tgz

https://www.apache.org/dyn/closer.lua/flflink/flflink-1.11.2/flflink-1.11.2-bin-scala_2.11.tgz

所需要的依赖包:

https://mvnrepository.com/

https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

elasticsearch-6.4.3.jar
elasticsearch-7.5.1.jar
elasticsearch-core-7.5.1.jar
elasticsearch-rest-client-6.4.3.jar
elasticsearch-rest-high-level-client-6.4.3.jar
elasticsearch-x-content-7.5.1.jar
flink-azure-fs-hadoop-1.11.2.jar
flink-cep_2.11-1.11.2.jar
flink-cep-scala_2.11-1.11.2.jar
flink-connector-elasticsearch6_2.11-1.11.2.jar
flink-connector-elasticsearch7_2.11-1.11.2.jar
flink-connector-elasticsearch-base_2.11-1.11.2.jar
flink-connector-filesystem_2.11-1.11.2.jar
flink-connector-kafka-0.10_2.11-1.11.2.jar
flink-connector-kafka-0.11_2.11-1.11.2.jar
flink-connector-kafka-base_2.11-1.11.2.jar
flink-csv-1.11.2.jar
flink-dist_2.11-1.11.2.jar
flink-gelly_2.11-1.11.2.jar
flink-gelly-scala_2.11-1.11.2.jar
flink-json-1.11.2.jar
flink-ml_2.11-1.11.2.jar
flink-oss-fs-hadoop-1.11.2.jar
flink-python_2.11-1.11.2.jar
flink-queryable-state-runtime_2.11-1.11.2.jar
flink-shaded-hadoop-2-uber-2.6.5-10.0.jar
flink-shaded-netty-tcnative-dynamic-2.0.25.Final-11.0.jar
flink-shaded-zookeeper-3.5.6.jar
flink-sql-client_2.11-1.11.2.jar
flink-state-processor-api_2.11-1.11.2.jar
flink-swift-fs-hadoop-1.11.2.jar
flink-table_2.11-1.11.2.jar
flink-table-blink_2.11-1.11.2.jar
hppc-0.8.1.jar
httpasyncclient-4.1.4.jar
httpcore-nio-4.4.12.jar
kafka-clients-0.11.0.2.jar
lang-mustache-client-7.5.1.jar
log4j-1.2-api-2.12.1.jar
log4j-api-2.12.1.jar
log4j-core-2.12.1.jar
log4j-slf4j-impl-2.12.1.jar
lucene-core-7.4.0.jar
protobuf-java-3.11.4.jar
rank-eval-client-7.5.1.jar

⼆、Hdoop环境部署

1.安装ssh服务

  1. 检查是否已经安装好ssh服务,进⼊shell命令,输⼊如下命令,

    ps -ef | grep ssh
    
  2. 如果只有⼀个结果,则没有安装

    若没有,则使⽤如下命令进⾏安装:

    sudo apt-get install ssh openssh-server
    

2.设置主机名

机器1:

vi /etc/hostname

将主机名修改为hadoop1,此操作需要重启生效

若不进行重启,可临时设置如下:

hostname hadoop1

3.设置网络域名

vi /etc/hosts
10.0.3.192 hadoop1
10.0.3.194 hadoop2

4.设置免密登录

4.1生产秘钥

ssh-keygen -t rsa

之后的询问操作全部执行enter

4.2设置对自己免密

cd ~/.ssh
cat id_rsa.pub >> authorized_keys

4.3将秘钥传递到另外一台机器上(其中36000为ssh连接的端口号,根据实际情况修改)

ssh-copy-id -p 36000 -i ~/.ssh/id_rsa.pub hadoop2

输入密码

4.4验证能否免密登录其他机器

ssh  -p36000 root@hadoop2

成功则执行exit进行退出

5.所有的机器节点重复步骤2 ,步骤3 ,步骤4

设置完成后,可在slave上执行如下操作验证

  ssh  -p36000 root@hadoop1

6.上传与解压

6.1 将hadoop安装包上传到服务器的/data/appa目录下

6.2 解压

tar -zxvf hadoop-2.10.1.tar.gz 

6.3将解压后的文件重命名(将下面的hadoop-*替换解压后的文件名)

mv hadoop-* hadoop

7.配置环境变量

vi /etc/profile

添加

export  HADOOP_HOME=/data/app/hadoop
export HADOOP_CONF_DIR=/data/app/hadoop/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后执行

source /etc/profile

8.hadoop配置修改

8.1 core-site.xml配置(/etc/hadoop下)

<configuration>
  <property>
   <name>fs.defaultFS</name>
   <value>hdfs://hadoop1:9000</value>
   </property>
  <property>
   <name>hadoop.tmp.dir</name>
   <value>/data/appData/hdfs/tmp</value>
  </property>
</configuration>

8.2 hdfs -site.xml(/etc/hadoop下)

<configuration>
  <property>
  <name>dfs.permissions.enabled</name>
  <value>false</value>
  </property>
  <property>
  <name>dfs.blocksize</name>
  <value>64m</value>
  </property>
  #指定namenode存储元数据的本地目录:
  <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:///data/appData/hdfs/name</value>
   </property>
   #指定datanode软件存放文件块的本地目录
   <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:///data/appData/hdfs/data</value>
   </property>
   <property>
   <name>dfs.journalnode.edits.dir</name>
   <value>file:///data/appData/hdfs/jn</value>
   </property>
    <property>
    <name>dfs.namenode.edits.dir</name>
    <value>file:///data/appData/hdfs/edits</value>
    </property>
    #指定sencondary namenode
    <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop1:50090</value> 
    </property>  
    <property>
    <name>dfs.namenode.http.address</name>
    <value>hadoop1:50070</value>
    </property>

 </configuration>

8.3 hadoop-env.sh(/etc/hadoop下)

export JAVA_HOME=/data/app/jdk1.8
export HADOOP_LOG_DIR=/data/logs/hadoop
export HADOOP_PID_DIR=/data/pid
export HADOOP_SSH_OPTS="-p 36000"  #36000是ssh端口

9.给文件路径赋权

cd /data/
mkdir pid
chmod 777 /data/pid 

10.编辑slaves文件

vi /data/app/hadoop/etc/hadoop/slaves

添加如下内容

hadoop1
hadoop2

11.格式化(主节点上进行)

hdfs namenode -format

12.将hadoop的安装目录拷贝到另外一台机器上

并进行步骤7 :配置环境变量

13.在另一台机器上进行格式化

hdfs namenode -format

14.启动HDFS

14.1 批量启动

在主节点进入sbin目录下,执行

./start-dfs.sh

14.2 分开启动

启动hadoop1

进入sbin目录下,执行

./hadoop-daemon.sh start namenode(这个namenode 是在哪里配置的,还是指定启动的namenode)

启动hadoop2

进入sbin目录下,执行

./hadoop-daemon.sh start datanode

可以用jps查看进程是否启动

15.web界面访问

http://10.0.3.192:50070

16.如果web页面访问不了,可能防火墙的原因,有以下两种方式解决方式
第一种
关闭防火墙
systemctl stop firewalld
查看防火墙状态
systemctl status firewalld
第二种
如果当前环境不允许关闭防火墙,在防火墙中开放hadoop使用到的端口
firewall-cmd --zone=public  --add-port=50070/tcp --permanent
firewall-cmd --zone=public  --add-port=9000/tcp --permanent
执行后重启防火墙
systemctl reload firewalld

三、flink环境部署

1. 配置hosts
 vi /etc/hosts
 10.0.2.11 flink1
 10.0.2.12 flink2
 10.0.2.13 flink3
 注:其他机器添加同样配置
2. 解压flink 安装包
tar -zxvf  flink安装包

解压后导入运行所需的hadoop的jar包

flink-azure-fs-hadoop-1.11.2.jar
flink-shaded-hadoop-2-uber-2.8.3-10.0.jar
hadoop-common-3.1.1.jar
hadoop-hdfs-2.10.1.jar
hadoop-hdfs-client-3.1.1.jar
导入运行kafka、es所需要的jar包。如果之前已经添加请忽略此步骤

3. 修改flink配置文件conf/flink-conf.yaml
###########修改以下配置的值########

###########配置中的namenode:9000 为hadoop主节点的hostname和端口,需要根据实际环境修改###########
jobmanager.rpc.address: flink1

taskmanager.numberOfTaskSlots: 3

high-availability: zookeeper

high-availability.storageDir: hdfs://namenode:9000/flinkha/

##bigdata 为zookeeper所在机器的hostname,也可配置zookeeper所在机器的ip:port
high-availability.zookeeper.quorum: bigdata1:2181 
##新增此配置
high-availability.zookeeper.path.root: /flink 

state.checkpoints.dir: hdfs://namenode:9000/flink/checkpoints
state.savepoints.dir: hdfs://namenode:9000/flink/savepoints

web.submit.enable: true
##新增此配置
web.upload.dir: /home/umos/flink/workplace

#如果ssh 端口号不是默认的22,可以设置端口号
env.ssh.opts: -p 36000



####如果是 HDFS HA部署,以下三个配置需注意 ,HDFS的路径的方式为:
high-availability.storageDir: hdfs://nameservice_id/flinkha/
state.checkpoints.dir: hdfs://nameservice_id/flink/checkpoints
state.savepoints.dir: hdfs://nameservice_id/flink/savepoints
4. 配置conf/master文件
flink1:8081
flink2:8081
flink3:8081
5. 配置conf/works文件
flink1
flink2
flink3
6. 其他flink节点重复1-5步骤
7. 启动zookeeper

flink的bin目录下执行

./start-zookeeper-quorm.sh 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值