Apache Beam程序向导4

2023-11-11

今天在集群上实验Beam On Spark的时候,遇到一个坑爹的问题,这个问题总结起来是一个java.lang.NoClassDefFoundError

错误,具体错误如下图1所示


1 错误提示

该错误提示SparkStreamingContext没有定义,这说明java虚拟机加载进来了SparkStreamingContext,也就是相应的代码包已经导入进来了,这个阶段没有什么问题。接下来就得看看是不是代码包版本不合适。

我的maven依赖如下图2所示


2 Maven依赖包

于是我在各种尝试之后,终于找到了一种有希望的解决方案,那就是将spark的版本2.1.0改为1.6.3版本。

修改后状况如下:


3 本地运行成功

 

这里看似成功了,但是这只是在本机测试的时候有了Beam On Spark的运行测试结果。至于在Spark集群中能否跑起来,我们还要按照官方提供的方法生成对应的jar包,并通过Spark-submit提交的方式提交到yarn集群中去通过yarn来调度运行。这种情况下运行成功了,那才叫真正的成功。所以现在还不是高兴的时候,那么接下来我们就开始继续接下来的实验吧。

首先应该在mavenpom.xml文件中加入以下对shade的构建依赖

(该部分加入到根节点的build节点的plugins节点之中

<build>

            <plugins>

   

            </plugins>

</build>

 

<plugin>

  <groupId>org.apache.maven.plugins</groupId>

  <artifactId>maven-shade-plugin</artifactId>

  <configuration>

    <createDependencyReducedPom>false</createDependencyReducedPom>

    <filters>

      <filter>

        <artifact>*:*</artifact>

        <excludes>

          <exclude>META-INF/*.SF</exclude>

          <exclude>META-INF/*.DSA</exclude>

          <exclude>META-INF/*.RSA</exclude>

        </excludes>

      </filter>

    </filters>

  </configuration>

  <executions>

    <execution>

      <phase>package</phase>

      <goals>

        <goal>shade</goal>

      </goals>

      <configuration>

        <shadedArtifactAttached>true</shadedArtifactAttached>

        <shadedClassifierName>shaded</shadedClassifierName>

      </configuration>

    </execution>

  </executions>

</plugin>

 

首先将项目打包拷贝到提交应用的那台机器上并解压。

如果已经安装好了maven的环境了的话,就直接在解压之后的根目录下执行如下命令

mvnpackage

然后就等着编译结束


 

 

…………………..

如下图所示,编译成功后的jar包就在target目录下



spark提交jar包的方式提交,提交的脚本如下:



${SPARK_HOME}/bin/./spark-submit\                         

 --class org.tongfang.beam.examples.WordCount \##指定要运行的类,全路径+类名

 --master yarn \ ##提交给yarn调度

 --deploy-mode cluster \##集群模式运行

/home/ubuntu/shaded/target/shaded-1.0.0-shaded.jar##指定jar包路径

给脚本添加可执行权限之后就可以开始运行了:


经过一会儿等待之后就成功了,如下图所示:

 


文章来源来自数模堂,请扫码关注


 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Apache Beam程序向导4 的相关文章

  • .htaccess HTTPS 主域和通配符 HTTP 子域 + 所有非 WWW

    Stack Overflow 上有很多类似的解决方案 例如htaccess http 到 https 带 www 不重定向子域 https stackoverflow com questions 30242495 htaccess http
  • 在Java中解析包含multipart/form-data请求体的字符串

    问题陈述 我认为标题说明了一切 我正在寻找解析 a 的方法String包含 multipart form data HTTP 请求的正文部分 IE 字符串的内容看起来像这样 xyzseparator blah Content Disposi
  • Xampp 中的 phpMyAdmin 不工作

    在 Windows 7 环境中的 Xampp 中启动 apache 和 mysql 服务器后 当我输入 localhost phpMyAdmin 时 出现以下错误 有什么办法可以解决这个问题吗 Not Found The requested
  • 有没有类似Wamp Server的东西? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否有人知道类似WAMP Server 的程序 包含 PHP MySQL Apache 的多合
  • onchange 使用 radioChoice 获取当前值

    我尝试使用 radioChoice onChange 从无线电表单中获取选定的值 但似乎无法真正找到解决方案 onEvent 函数被调用 但从这里我不太确定如何获取该值 Code RadioChoice
  • Django + WSGI:刷新问题?

    我正在开发一个 Django 网站 我在实时服务器上进行所有更改 只是因为这样更容易 问题是 它似乎时不时地喜欢缓存我正在处理的 py 文件之一 有时 如果我频繁点击刷新 它会在页面的旧版本和新版本之间来回切换 我的设置或多或少类似于 Dj
  • 特定文件夹的 .htaccess 例外

    这是我的 htaccess 代码 位于根文件夹中
  • Avro 消息中的架构

    我看到 Avro 消息嵌入了架构 然后是二进制格式的数据 如果发送多条消息并且为每条消息创建新的 avro 文件 模式嵌入不是一种开销吗 那么 这是否意味着生产者批量处理消息然后写入总是很重要 因此写入一个 avro 文件的多条消息只携带一
  • 如何在 Java 中使用 HTML 解析器和 Apache Tika 来提取所有 HTML 标签?

    我下载了 tika core 和 tika parser 库 但找不到将 HTML 文档解析为字符串的示例代码 我必须删除网页源的所有 html 标签 我能做些什么 如何使用 Apache Tika 进行编码 您想要 html 文件的纯文本
  • 强制 Apache HTTPD 以 32 位运行

    我通过从二进制文件 以及 ppc 部分 中剥离 32 位架构 以 64 位模式运行 Apache HTTPD 我这样做是为了使其与 python 和 mysql 更加兼容 然而 我有另一台机器需要它以 32 位模式运行 它仍然保留所有四种原
  • 在服务器上找不到本地主机或 phpMyAdmin:如何修复?

    我按照安装说明进行操作PHP MySQL and PHPMyAdmin 但是当我尝试访问时http localhost phpmyadmin 我收到此错误 未找到 在此找不到请求的 URL phpmyadmin 服务器 然后我尝试访问loc
  • 通过互联网IP地址从一台计算机访问xampp到另一台计算机

    我试图从另一台计算机访问我的 xampp 它显示为禁止错误 然后我在 google 上搜索答案 因为他们告诉在 apache 文件夹中的 httpd conf 文件中更改一些设置 如下所示 Order Deny Allow Deny fro
  • 无法分配内存:fork:无法创建新进程?

    我们的托管在aws 最近 我们的博客从wordpress to aws 我们遇到服务器响应时间明显延迟的情况 主要是在访问博客时 以下是来自error log file Wed Feb 25 06 10 10 2015 error 12 C
  • 如何让 mod_perl 在更改时重新加载源文件?

    我正在开发一个带有 mod 的应用程序 perl 并在每次更改代码时重新启动服务器是一个巨大的阻力 我还是想用mod perl 用于开发 因为我计划将其用于实时服务器 我在文档中没有看到有关如何执行此操作的任何内容 想法 我认为 Apach
  • php 无法连接到 mysql,错误为 13(但命令行可以)

    我在新安装的服务器中遇到了奇怪的情况 谷歌这次似乎无法帮助我 我无法从我的 php 代码连接到 远程 mysql 当我尝试从同一服务器上的命令行连接时 连接成功 无法连接 无法连接到 MYSQL SERVER 上的 MySQL 服务器 13
  • 将具有子目录的域转发到具有子目录的其他域

    我有一个热爱域名的客户 更喜欢转发域名 其中许多域没有与其关联的网站 它们仅用于营销和转发 我知道如何轻松地将一个域转发到另一个域 但我好奇的是如何将这些域的特定 url 转发到其他特定 url 例如 www site1 com 目录 gt
  • 通过 Java 连接 Apache Drill

    在 Apache Drill 的 Wiki 中 我只能看到通过 SqlLine 客户端运行的查询 除了 REST API 之外 是否有任何编程方式可以在 Drill 中运行查询 有任何示例或指示吗 或者它与使用 JDBC 驱动程序运行 SQ
  • 从子域重定向到域+ .htaccess

    我可以为多个域配置 RewriteRule 吗 就像我的要求是 我当前的域名 www maindomain com 假设我有三个域和子域 子域网址是 example1 maindomain com example2 maindomain c
  • 使用 mod_proxy 进行反向代理,保留原始请求 URL

    我已经使用 mod proxy Apache2 配置了一个反向代理 监听 127 0 0 1 80 将所有请求代理到 127 0 0 1 8080 所以我配置了 mod proxy 如下所示 ProxyPreserveHost On Pro
  • 在 apache docker 容器中运行虚拟主机

    我在同一个 apache 容器中有两个 php 应用程序 我试图在端口上运行其中一个应用程序 因为它需要通过根域而不是子文件夹进行访问 我想在端口 8060 上运行应用程序 我尝试使用 apache 虚拟主机执行此操作 但它不会加载页面 h

随机推荐

  • 卷积操作的填充和输出大小的公式

    输入图像大小为II 卷积核大小为kk 填充为p 步长为s 输出大小为O O 那么 如果输出不能对齐 常采用下采用
  • c语言中变量不初始化会怎么样?

    目录 变量初始化 未初始化 随机数的产生 产生原理 初始化必要性 问题来源 在日常学习结构体的语法时看到文章中用数组进行举例 进行输出 在讨论数组是否初始化 输出的值的问题 代码如下 include
  • CTFHUB-UA注入

    User Agent User Agent 通常就是用户的浏览器相关信息 例如 User Agent Mozilla 5 0 X11 Linux x86 64 rv 12 0 Gecko 20100101 Firefox 12 0 Hack
  • HTTP Status 500 An exception occurred processing JSP page

    问题代码 出现异常界面 从上图可知在19处出现了异常 主要有两处 以及 为了很好的解决以上错误 我们将依次把传进来的各个参数在tomcat控制台上打印输出 先看看结果 主要操作代码 控制台显示结果 从以上输出可看到getRemoteAddr
  • Object.keys()、Object.values()、Object.entries()详解

    在JavaScript中 Object keys 是一个内置函数 用于获取一个对象中所有可枚举属性的名称 并返回一个包含这些属性名称的数组 以下是使用Object keys 函数的示例 const obj a 1 b 2 c 3 const
  • 代码混淆后可能出现的问题

    1 ClassNotFoundException NoSuchMethodError 原因 这种异常会在好多情况下出现 比如 本地代码通过反射调用其他的类 但是经过了混淆之后 就会出现如上异常 调用了JNI之后 C或者C 和java代码进行
  • 前端面试题复习二

    组件中写 name 选项有什么作用 项目使用 keep alive 时 可搭配组件 name 进行缓存过滤 DOM 做递归组件时需要调用自身 name Vue devtools 调试工具里显示的组见名称是由 Vue 中组件 name 决定的
  • 战双服务器维护,战双帕弥什维护到几点 战双帕弥什维护什么时候结束

    战双帕弥什今日正式火爆开测 随着大量玩家的加入 服务器也难免出现了过载情况 很多玩家在登陆时出现了战双帕弥什提示服务器未开放请稍后再试的情况 那么战双帕弥什维护什么时候结束 战双帕弥什维护原因是什么 快一起了解一下吧 战双帕弥什维护原因 1
  • C++ 匿名对象的生命周期——强化训练(二)

    include
  • STM32F10X单片机学习之PWM.C代码注解

    include stm32f10x h Device header void PWM Init void RCC APB1PeriphClockCmd RCC APB1Periph TIM2 ENABLE 开启 APB1 外设总线上的外设时
  • Unity最新热更新框架 hybridclr_addressable

    GitHub YMoonRiver hybridclr addressable 开箱即用的商业游戏框架 集成了主流的开发工具 将主流的GameFramework修改 支持Addressable和AssetBundle 已完善打包工具和流程
  • “黑色星期五”数据分析实战

    项目背景 美国圣诞节大采购一般是从感恩节之后开始的 感恩节是每年11月的第四个星期四 因此它的第二天 也就是美国人大采购的第一天 在这一天 美国的商场都会推出大量的打折和优惠活动 以在年底进行最后一次大规模的促销 这有点类似于淘宝的双十一购
  • Java项目——文档搜索引擎

    文章目录 1 项目概述 2 准备阶段 2 1 项目创建 2 2 准备静态页面 3 搜索逻辑 4 分词 5 处理 HTML 文件 5 1 枚举文件夹中所有文件 5 2 预处理文件 5 2 1 获取标题 5 2 2 获取 URL 5 2 3 获
  • [VUE] 过滤器函数

    VUE 过滤器可以用在两个地方 双花括号插值和 v bind 表达式 代码如下 message capitalize div div 你可以在一个组件的选项中定义本地的过滤器 filters capitalize function valu
  • Apple Magic Mouse 卡顿的问题

    更新时间 2022 06 30 17 58 37 发现在公司使用就会很卡顿 在家里使用就很流畅 感觉还是公司信号被干扰了 更新时间 2022年06月13日 尝试过下面所以的方法 以及怀疑是键盘蓝牙干扰 把键盘关掉 最后的结论 都没什么卵用
  • opencv读写和保存中文路径图片及base64与图片互转

    文章目录 1 opencv读取中文路径图片 2 opencv保存中文路径图片 3 图片转base64 4 base64转图片 有几点要注意 cv2 imread filename flags cv2 imwrite filename img
  • 交叉编译器的安装方法

    首先简单介绍一下 所谓的搭建交叉编译环境 即安装 配置交叉编译工具链 在该环境下编译出嵌入式Linux系统所需的操作系统 应用程序等 然后再上传到目标机上 交叉编译工具链是为了编译 链接 处理和调试跨平台体系结构的程序代码 对于交叉开发的工
  • STL 常用函数

    STL 常用函数 本文参考自 C STL常用函数总结 总结学习用 sort 函数 排序函数 sort 起始地址 末尾地址 cmp 其中cmp是可以自己定义的函数名 sort a a 5 sort vec begin vec end bool
  • ajax内置对象有什么,用js内置对象XMLHttpRequest 来用ajax

    步骤 用XMLHTTPRequest来进行ajax异步数据交交互 主要有几个步骤 1 创建XMLHTTPRequest对象 最复杂的一步 if window XMLHttpRequest code for IE7 Firefox Chrom
  • Apache Beam程序向导4

    今天在集群上实验Beam On Spark的时候 遇到一个坑爹的问题 这个问题总结起来是一个java lang NoClassDefFoundError 错误 具体错误如下图1所示 图1 错误提示 该错误提示SparkStreamingCo