Flink on Yarn集群搭建(二)--- Hadoop集群搭建

该文章详细介绍了如何搭建Hadoop集群,包括准备Java环境、配置SSH免密登录、下载Hadoop3.3.2,然后在一台服务器上安装并配置Hadoop,包括设置环境变量,配置Hadoop相关xml文件(如core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml),接着通过rsync同步配置到其他两台服务器,并在Master节点上格式化Namenode,最后启动所有服务。

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

Hadoop集群搭建(装一台,完成后Copy到其余两台)

1. 准备工作

1.确保各服务器已安装并配置了Java环境,我使用的是jdk1.8
2.完成 ssh免密登录配置
3.下载以下文件

2. 安装Hadoop

a. 将hadoop压缩文件上传至自己的hadoop目录

这里在/opt下创建java、hadoop、flink文件夹,所以将hadoop压缩包上传到了/opt/hdaoop目录下
在这里插入图片描述

b. 解压缩hadoop压缩包

进入hadoop目录下使用命令 ----- tar -zxvf hadoop-3.3.2.tar.gz 解压完成
在这里插入图片描述

c. 配置Hadoop 环境变量
  1. 可以看到我们的hadoop地址为/opt/hadoop/hadoop-3.3.2
    使用命令 ---- vim /etc/profile 进入编辑,按“i”减切换insert模式,添加hadoop环境变量
#hadoop
export HADOOP_HOME=/opt/hadoop/hadoop-3.3.2
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

在这里插入图片描述

  1. 使用命令 ---- source /etc/profile 使配置文件生效
  2. 如配置成功过,可使用名 ---- hadoop version 查看hadoop版本
    在这里插入图片描述

3. 配置Hadoop集群环境

hadoop安装目录下/etc/hadoop中以下文件:

  • workers:hadoop3.0以后slaves更名为workers

  • core-site.xml

  • hdfs-site.xml

  • mapred-site.xml

  • yarn-site.xml

1. workers,配置 DataNode各节点的主机名或IP

[]

2. core-site.xml
<configuration>
    <!--用于设置Hadoop的文件系统,由URI指定-->
    <property>
        <name>fs.defaultFS</name>
        <!--用于指定namenode地址在hadoop01机器上,需要修改为自己的-->
        <value>hdfs://vmone:9000</value>
    </property>
    <!--配置Hadoop的临时目录 ,需要修改为自己的-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoop-3.3.2/tmp</value>
    </property>
</configuration>

在这里插入图片描述

3. hdfs-site.xml
<configuration>

        <!--namenode web UI监听的地址和端口,需要修改为自己的-->
        <property>
                <name>dfs.namenode.http-address</name>
                <value>vmone:50070</value>
        </property>

        <!--副本数-->
        <property>
                <name>dfs.replication</name>
                <value>3</value>
        </property>
        <!--是否启用HDFS权限,false否,true是-->
        <property>
                <name>dfs.permissions.enabled</name>
                <value>false</value>
        </property>
        <!--块大小,默认字节128MB-->
        <property>
                <name>dfs.blocksize</name>
                <!--128m-->
                <value>134217728</value>
        </property>
</configuration>

在这里插入图片描述

4. mapred-site.xml
<configuration>
    <!--指定MapReduce运行时的框架,这里指定在YARN上,默认在local-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

<!--如果map和reduce任务访问本地库(压缩等),则必须保留原始值
     当此值为空时,设置执行环境的命令将取决于操作系统,需要修改为自己的-->
        <property>
                 <name>mapreduce.admin.user.env</name>
                 <value>HADOOP_MAPRED_HOME=/opt/hadoop/hadoop-3.3.2</value>
        </property>

<!--可以设置AM【AppMaster】端的环境变量-,需要修改为自己的->
        <property>
                <name>yarn.app.mapreduce.an.env</name>
                <value>HADOOP_MAPRED_HOME=/opt/hadoop/hadoop-3.3.2</value>
        </property>


</configuration>

[]

5. yarn-site.xml
<configuration>
        <!-- Site specific YARN configuration properties -->
        <!--集群master-->
        <property>
                <name>yarn.resourcemanager.hostname</name>
                <value>vmone</value>
        </property>

        <!--容器可能会覆盖的环境变量,而不是使用NodeManager的默认值-->
        <property>
                <name>yarn.nodemanager.env-whitelist</name>
                <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ</value>
        </property>

        <!--关闭内存检测,在虚拟机环境中不做配置会报错-->
        <property>
                <name>yarn.nodemanager.vmem-check-enabled</name>
                <value>false</value>
        </property>

                <!-- 是否在一个节点分配多个containe -->
        <property>
                <name>yarn.scheduler.fair.assignmultiple</name>
                <value>false</value>
        </property>

        <!-- 代表在一个节点上一次性最多分配几个container -->
        <property>
                <name>yarn.scheduler.fair.max.assign</name>
                <value>2</value>
        </property>


</configuration>

在这里插入图片描述

4. 其他服务器同步

a. 将vmone主机配置好的hadoop,同步至vmtwo,vmthree
rsync -av /opt/hadoop admin@vmtwo:/opt/
rsync -av /opt/hadoop admin@three:/opt/
b. 配置其他两台服务器环境变量,并使用source命令使其生效
#hadoop
export HADOOP_HOME=/opt/hadoop/hadoop-3.3.2
export CLASSPATH=$CLASSPATH:$HADOOP_HOME/lib
export PATH=$PATH:$HADOOP_HOME/bin

在这里插入图片描述

c. 在Master上格式化 namenode,我这里在vmone上

在vmone服务器上使用命令 ---- hdfs namenode -format 初始化HDFS,出现以下输出,即初始化成功
在这里插入图片描述

5. 启动集群

  • 使用命令 ---- start-all.sh 启动集群

  • 输如命令 ---- jps 查看各组件启动情况

1. vmone启动及JPS查看,其他两不用再手动启动

在这里插入图片描述

2. vmtwo、vmthreeJPS查看

在这里插入图片描述
在这里插入图片描述

### 配置 `flink-conf.yaml` 文件以支持 Apache Flink on YARN #### 理解配置环境 为了使Apache Flink能够在YARN环境中正常运行,需要对`flink-conf.yaml`文件进行特定设置。此文件位于Flink安装目录下的`conf`子目录中[^1]。 #### 设置必要的属性 对于YARN集成而言,有几个重要的配置项应当被指定: - **yarn.application.classpath**: 定义应用程序类路径字符串,该字符串会被传递给YARN容器。这通常用于确保所有依赖库都能被正确加载。 - **fs.hdfs.hadoopconf**: 指向Hadoop配置文件所在的本地文件系统的绝对路径。这对于访问分布式文件系统至关重要。 - **jobmanager.memory.process.size** 和 **taskmanager.memory.process.size**: 分别设定JobManager和TaskManager进程所需的总内存量。合理调整这些值可以优化性能并防止内存溢出错误。 另外,考虑到临时数据存储的需求,建议也适当修改`io.tmp.dirs`参数来指明多个可用作临时空间的位置,以便于轮转使用不同磁盘上的位置,默认情况下会采用Java虚拟机所指向的系统级临时文件夹[^2]。 ```yaml # Example configuration entries for running Flink on YARN yarn.application-classpath: /etc/hadoop/conf,/opt/flink/lib/*:/opt/flink/plugins/* fs.hdfs.hadoopconf: /etc/hadoop/conf/ jobmanager.memory.process.size: 2048m taskmanager.memory.process.size: 4096m io.tmp.dirs: /mnt/disk1/tmp,/mnt/disk2/tmp ``` 通过上述方式编辑`flink-conf.yaml`中的条目,能够有效地准备一个适合部署到YARN集群上的Flink实例。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值