小编Ajk*_*Ajk的帖子

解决Apache Spark应用程序的问题从Docker容器以客户端模式运行

我正在尝试使用客户端模式从dockerized Apache Spark应用程序连接到独立Apache Spark集群.

司机给Spark Master和Workers提供了地址.当在docker容器内运行时,它将使用some_docker_container_ip.从外部看不到docker地址,因此应用程序将无法运行.

Spark spark.driver.host有财产.此属性将传递给Master和Workers.我最初的本能是在那里传递主机地址,因此群集将代替可见机器.

不幸的spark.driver.host是,它还用于通过Driver设置服务器.在那里传递主机地址将导致服务器启动错误,因为docker容器无法绑定主机主机下的端口.

这似乎是一个双输的局面.我既不能使用主机地址也不能使用docker容器地址.

理想情况下,我想有两个属性.将spark.driver.host-to-bind-to用于设置驱动器服务器和spark.driver.host-for-master这将由硕士和工人使用.不幸的是,我似乎只被一个财产困住了.

另一种方法是--net=host在运行docker容器时使用.这种方法有许多缺点(例如,其他docker容器无法链接到带有--net=hoston 的容器,并且必须暴露在docker网络之外),我想避免它.

有没有办法解决驱动程序寻址问题而不暴露docker容器?

client mode docker apache-spark

6
推荐指数
1
解决办法
731
查看次数

Android - 在videoView中更改/重播视频

我正在开发的应用程序包含许多短(1-2秒)视频.

视频显示在一个活动中.用户可以重放视频(可能在播放视频时)或更改实际视频.

改变视频的部分代码:

String videoPath = getVideoPath();
videoView.setVideoPath(videoPath);
videoView.start();
Run Code Online (Sandbox Code Playgroud)

这3行已经导致应用程序加载新视频并播放它.

视频完成后问题就开始了.从这一点开始,加载新视频会导致许多问题(例如,有时半部电影只播放声音,而屏幕为黑色空白).重放视频也有类似的问题(最终我从上面调用3个通道).

在完成电影发布资源或类似的事情后,它似乎是android(这就是为什么我设置相同的路径,当我想重播视频).

理想情况下,我希望视频简单地暂停和搜索完成播放后开始播放电影(但我不能在OnCompletedListener中执行此操作,因为它已经将状态更改为已停止...).

我能以某种方式实现这一目标吗 (我的意思是 - >完成视频暂停和搜索到开始之后)

我已经尝试了暂停视频的所有组合,暂停它们,设置OnPreparedListener,设置OnCompletedListener.

谢谢!

video android media-player android-videoview

5
推荐指数
1
解决办法
1万
查看次数