热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

实战系列:Flink1.12.2&Hadoop3.2.2源码编译、部署

周末在家无聊刷朋友圈,看到HudionFlink最新进展,突然心血来潮,想在自己的笔记上体验一把。本文算是准备工作吧,编译部署最新版本的Had

前言

周末在家无聊刷朋友圈,看到Hudi on Flink最新进展,突然心血来潮,想在自己的笔记上体验一把。本文算是准备工作吧,编译部署最新版本的HadoopFlink

 

Hadoop3.2.2源码编译

源码下载地址:

    https://github.com/apache/hadoop/archive/rel/release-3.2.2.tar.gz

    笔者操作系统为:

      root@felixzh:~# cat proc/version
      Linux version 4.4.0-31-generic (buildd@lgw01-43) (gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04.3) ) #50~14.04.1-Ubuntu SMP Wed Jul 13 01:07:32 UTC 2016

      感兴趣的同学可以参考官方文档:

        https://github.com/apache/hadoop/blob/trunk/BUILDING.txt

        笔者参考的部分如下:

          Installing required packages for clean install of Ubuntu 14.04 LTS Desktop:


          * Oracle JDK 1.8 (preferred)
          $ sudo apt-get purge openjdk*
          $ sudo apt-get install software-properties-common
          $ sudo add-apt-repository ppa:webupd8team/java
          $ sudo apt-get update
          $ sudo apt-get install oracle-java8-installer
          * Maven
          $ sudo apt-get -y install maven
          * Native libraries
          $ sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev libsasl2-dev
          * ProtocolBuffer 2.5.0 (required)
          $ sudo apt-get -y install protobuf-compiler

          笔者使用的编译命令:

            mvn clean package -Pdist,native -DskipTests–Dtar

            编译结果(顺利的话,耗时半小时左右)


            Flink1.12.2源码编译

            源码下载地址:

              https://github.com/apache/flink/archive/release-1.12.2.tar.gz

              感兴趣的同学,可以参考官方文档:

                https://ci.apache.org/projects/flink/flink-docs-release-1.12/flinkDev/building.html

                笔者使用的编译命令:

                  mvn clean install -DskipTests -Dfast-Dhadoop.version=3.2.2

                  编译结果(顺利的话,40分钟左右):


                  Hadoop3.2.2部署

                  拷贝编译结果hadoop-3.2.2/opt/bigdata

                    cd opt/bigdata/hadoop-3.2.2/etc/Hadoop

                    修改四个配置文件:

                    core-site.xml

                      <configuration>
                      <property>
                      <name>fs.defaultFSname>
                      <value>hdfs://felixzh:9000value>
                      property>
                      configuration>

                      mapred-site.xml

                        <configuration>
                        <property>
                        <name>mapreduce.framework.namename>
                        <value>yarnvalue>
                        property>
                        <property>
                        <name>mapreduce.application.classpathname>
                        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*value>
                            property>
                        <property>
                        <name>mapreduce.framework.namename>
                        <value>yarnvalue>
                        property>
                        <property>
                        <name>mapreduce.jobhistroy.addressname>
                        <value>felixzh:10020value>
                        property>
                        <property>
                        <name>mapreduce.jobhistroy.webapp.addressname>
                        <value>felixzh:19888value>
                        property>
                        configuration>

                        yarn-site.xml

                          <configuration>
                          <property>
                          <name>yarn.nodemanager.aux-servicesname>
                          <value>mapreduce_shufflevalue>
                          property>
                          <property>
                          <name>yarn.nodemanager.env-whitelistname>
                          <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
                              property>
                          <property>
                          <name>yarn.nodemanager.remote-app-log-dirname>
                          <value>/tmp/logsvalue>
                          property>
                          <property>
                          <name>yarn.nodemanager.resource.memory-mbname>
                          <value>4096value>
                          property>
                          <property>
                          <name>yarn.scheduler.minimum-allocation-mbname>
                          <value>2048value>
                          property>
                          <property>
                          <name>yarn.scheduler.maximum-allocation-mbname>
                          <value>4096value>
                          property>
                          <property>
                          <name>yarn.nodemanager.vmem-pmem-rationame>
                          <value>5value>
                                  property>
                          configuration>

                          hdfs-site.xml

                            <configuration>
                            <property>
                            <name>dfs.replicationname>
                            <value>1value>
                            property>
                            configuration>

                            /opt/bigdata/hadoop-3.2.2/sbin修改四个脚本文件

                            start-dfs.sh、stop-dfs.sh增加如下内容:

                              HDFS_DATANODE_USER=root
                              HADOOP_SECURE_DN_USER=hdfs
                              HDFS_NAMENODE_USER=root
                              HDFS_SECONDARYNAMENODE_USER=root

                              start-yarn.sh、stop-yarn.sh增加如下内容:

                                YARN_RESOURCEMANAGER_USER=root
                                HADOOP_SECURE_DN_USER=yarn
                                YARN_NODEMANAGER_USER=root

                                建立软连接(/opt/pkg/jdk/为我的JAVA_HOME)

                                  ln -s opt/pkg/jdk/bin/java /bin/java

                                  格式化hdfs

                                    /opt/bigdata/hadoop-3.2.2/bin/hdfs namenode -format

                                    启动hdfs、yarn

                                      /opt/bigdata/hadoop-3.2.2/sbin/start-dfs.sh
                                      /opt/bigdata/hadoop-3.2.2/sbin/start-yarn.sh

                                      查看Hdfs页面

                                        http://felixzh:9870/

                                        查看Yarn页面

                                          http://felixzh:8088/


                                          Flink1.12.2 on yarn部署

                                          拷贝编译结果flink-1.12.2/opt/bigdata

                                          /opt/bigdata/flink-1.12.2/conf/flink-conf.yaml增加

                                            classloader.check-leaked-classloader:false

                                            声明环境变量

                                              export HADOOP_CLASSPATH=/opt/bigdata/hadoop-3.2.2/share/hadoop/client/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/common/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/common/lib/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/hdfs/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/hdfs/lib/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/mapreduce/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/mapreduce/lib/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/yarn/*:/opt/bigdata/hadoop-3.2.2/share/hadoop/yarn/lib/*

                                              yarn session模式启动Flink集群

                                                /opt/bigdata/flink-1.12.2/bin/yarn-session.sh




                                                推荐阅读
                                                • baresip android编译、运行教程1语音通话
                                                  本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
                                                • 本文介绍了Android 7的学习笔记总结,包括最新的移动架构视频、大厂安卓面试真题和项目实战源码讲义。同时还分享了开源的完整内容,并提醒读者在使用FileProvider适配时要注意不同模块的AndroidManfiest.xml中配置的xml文件名必须不同,否则会出现问题。 ... [详细]
                                                • Android日历提醒软件开源项目分享及使用教程
                                                  本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
                                                • CentOS7.8下编译muduo库找不到Boost库报错的解决方法
                                                  本文介绍了在CentOS7.8下编译muduo库时出现找不到Boost库报错的问题,并提供了解决方法。文章详细介绍了从Github上下载muduo和muduo-tutorial源代码的步骤,并指导如何编译muduo库。最后,作者提供了陈硕老师的Github链接和muduo库的简介。 ... [详细]
                                                • 详解 Python 的二元算术运算,为什么说减法只是语法糖?[Python常见问题]
                                                  原题|UnravellingbinaryarithmeticoperationsinPython作者|BrettCannon译者|豌豆花下猫(“Python猫 ... [详细]
                                                • 微软头条实习生分享深度学习自学指南
                                                  本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
                                                • 使用在线工具jsonschema2pojo根据json生成java对象
                                                  本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
                                                • XML介绍与使用的概述及标签规则
                                                  本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
                                                • FeatureRequestIsyourfeaturerequestrelatedtoaproblem?Please ... [详细]
                                                • 深度学习中的Vision Transformer (ViT)详解
                                                  本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
                                                • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
                                                • PyTorch框架中有一个非常重要且好用的包:torchvision,该包主要由3个子包组成,分别是:torchvision.datasets、torchvision.models、torchv ... [详细]
                                                • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
                                                  本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
                                                • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
                                                • C++字符字符串处理及字符集编码方案
                                                  本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
                                                author-avatar
                                                err2356267
                                                这个家伙很懒,什么也没留下!
                                                PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
                                                Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有