WSL中Docker内Flink高可用集群搭建

本文档详细介绍了如何在Windows Subsystem for Linux (WSL)的Docker环境中搭建Flink高可用集群。内容涵盖Java、Hadoop、Zookeeper的安装配置,Flink的环境搭建,以及集群启动过程中的问题解决方案。涉及的软件版本包括Hadoop 2.7.4、Zookeeper 3.4.9和Flink 1.7.2。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


写在前面:

本实验开始之前,已经安装好Ubuntu内的docker,并拉取一个centos8镜像作为基础的镜像。

一、实验内容

在docker内搭建Flink集群。

二、实验环境

  • 本机:win 10 专业版;
  • WSL:Ubuntu 20.04 TS;
  • docker:19.03
  • Hadoop:2.7.4
  • zookeeper:3.4.9
  • Flink:1.7.2

三、环境说明

WSL是安装于windows中的linux系统,具体介绍安装请参考https://www.jianshu.com/p/6b02948b3d37
总体环境如下:
在这里插入图片描述

四、实验步骤

  • flink版本的选择需要考虑hadoop的版本,本集群hadoop的版本为2.7.4,flink的版本为flink-1.7.2-bin-hadoop27-scala_2.11.tgz
  • flink高可用集群需要依赖zookeeper
    现在一个容器中配置好所有的环境,然后存为镜像,再分别启动三个容器,形成集群。

4.1 Java环境搭建

在这里插入图片描述
首先检验镜像内有无Java环境,经过检查并无Java配置。通过以下命令安装Java环境:

yum update 
yum list java* #查看yum源的java包
yum install XXXXXXX #XXXXX为上条命令下查看到的java包
java -version #验证java环境

通常安装java 1.8即可。
在这里插入图片描述
使用yum安装之后, 再修改环境变量,修改.bashrc文件,追加jdk的路径。

export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk-1.8.0.272.b10-1.el8_2.x86_64

若是不知道Java的路径可以采用如下的方法进行查询:
在这里插入图片描述
因为用yum安装,实质上是用rpm安装,所以rpm查询信息的指令都可用。但是环境变量中的信息是在以jre开头的目录下,这点需要注意。修改环境变量之后,执行source ~/.bashrc使环境变量生效。
使用命令java,javac都能正确执行命令,则java环境安装成功。

4.2 hadoop环境搭建

4.2.1 安装hadoop

进入 hadoop 目录,然后解压下载下来的 hadoop-2.7.4.tar.gz,修改 ~/.bashrc, 配置 hadoop 环境变量。
链接:https://pan.baidu.com/s/10vpKVkeIpDALfHO6zloLow
提取码:rwst

cd /root/soft/apache/hadoop
tar -xvzf hadoop-2.7.4.tar.gz
cd hadoop-2.7.4
mkdir tmp
cd tmp
mkdir dfs
cd dfs
mkdir data
mkdir name
vim ~/.bashrc
	 export HADOOP_HOME=/root/soft/apache/hadoop/hadoop-2.7.4
     export HADOOP_CONFIG_HOME=$HADOOP_HOME/etc/hadoop
     export PATH=$PATH:$HADOOP_HOME/bin
     export PATH=$PATH:$HADOOP_HOME/sbin
source ~/.bashrc

使用hadoop version命令查看hadoop是否安装完成
在这里插入图片描述

4.2.2 配置Hadoop

接下来进入hadoop/etc/hadoop目录下,hadoop的配置文件均在此目录下。

  1. core-site.xml
 <property>
 	<name>hadoop.tmp.dir</name>
    <value>/root/soft/apache/hadoop/hadoop-2.7.4/tmp</value>
    <description>A base for other temporary directories.</description>
</property>
<property>
    <name>fs.default.name</name>
    <value>hdfs://master:9000</value>
    <final>true</final>
    <description>The name of the default file system.  A URI whose scheme and authority determine the FileSystem implementation.  The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class.  The uri's authority is used to determine the host, port, etc. for a filesystem.</description>
</property>
<property>
    <name>ha.zookeeper.quorum</name>
    <value>master:2181,slave1:2181,slave2:2182</value>
</property>
<property>
    <name>ipc.client.connect.max.retries</name>
    <value>100</value>
    <description>Indicates the number of retries a client will make to establish a server connection.</description>
</property>
<property>
    <name>ipc.client.connect.retry.interval</name>
    <value>10000</value>
    <description>Indicates the number of milliseconds a client will wait for before retrying to establish a server connection.</description>
</property>
  1. hdfs-site.xml
<configuration>
        <property>
                <name>dfs.nameservices</name>
                <value>ns1</value>
        </property>
        <property>
                <name>dfs.ha.namenodes.ns1</name>
                <value>nn1,nn2</value>
        &l
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值