我想使用Ehcache复制缓存,首先作为Hibernate二级缓存的后端,第二个作为任何数据的缓存.
我知道像memcached这样的分布式缓存是如何工作的,我知道它可以扩展到大型集群,但我无法找到Ehcache复制在大型集群上的表现.
我发现可以使用许多复制策略,如RMI,JGroups,JMS或Terracotta,RMI和Terracotta似乎最受欢迎.
当我添加许多节点(如几十个)时,复制是否会破坏我的表现?
我有一个嵌套循环,我正在使用foreach,DoSNOW和SNOW套接字集群来解决.我应该如何分析代码以确保我没有做一些非常低效的事情.
无论如何还要测量Snow集群中主节点和节点之间的数据流量吗?
谢谢,
詹姆士
我在apache spark中遇到了一个奇怪的问题,我很感激一些帮助.从HDFS读取数据(并从JSON做一些转换为一个对象)在下一阶段(处理所述对象)之后2个分区已经(在总总分512)被处理失败之后.这种情况发生在大型数据集上(我注意到的最小数据集大约为700兆,但可能更低,我还没有缩小它).
编辑:700兆是tgz文件大小,未压缩它是6演出.
编辑2:火花1.1.0也发生了同样的事情
我在32核,60 gig机器上使用本地主机运行spark,具有以下设置:
spark.akka.timeout = 200
spark.shuffle.consolidateFiles = true
spark.kryoserializer.buffer.mb = 128
spark.reducer.maxMbInFlight = 128
Run Code Online (Sandbox Code Playgroud)
16 gig执行器堆大小.内存没有被最大化,CPU负载可以忽略不计.Spark永远挂起.
以下是火花日志:
14/09/11 10:19:52 INFO HadoopRDD: Input split: hdfs://localhost:9000/spew/data/json.lines:6351070299+12428842
14/09/11 10:19:53 INFO Executor: Serialized size of result for 511 is 1263
14/09/11 10:19:53 INFO Executor: Sending result for 511 directly to driver
14/09/11 10:19:53 INFO Executor: Finished task ID 511
14/09/11 10:19:53 INFO TaskSetManager: Finished TID 511 in 868 ms on localhost (progress: 512/512)
14/09/11 10:19:53 INFO DAGScheduler: Completed ShuffleMapTask(3, 511) …Run Code Online (Sandbox Code Playgroud) distributed hadoop distributed-computing bigdata apache-spark
有人说火花流,即使它可以处理微批量形式的流,它仍然不是像暴风雨那样的流媒体计算系统.那么这种微批量计算思想的限制因素是什么?是什么让它不如真正的计算系统?谢谢!
我用COMP Superscalar实现了一个应用程序,我的任务失败了.查看标准错误文件(job1_NEW.err)文件,我得到了一个File Not Found异常,但该文件存在于我的计算机中.
知道什么可能是错误吗?
编辑:添加了资源和项目文件
resources.xml中
<Resource Name="172.16.8.2">
<Capabilities>
<Host>
<TaskCount>0</TaskCount>
<Queue>short</Queue>
<Queue/>
</Host>
<Processor>
<Architecture>x86_64</Architecture>
<Speed>3.0</Speed>
<CoreCount>4</CoreCount>
</Processor>
<OS>
<OSType>Linux</OSType>
<MaxProcessesPerUser>32</MaxProcessesPerUser>
</OS>
<StorageElement>
<Size>8</Size>
</StorageElement>
<Memory>
<PhysicalSize>4</PhysicalSize>
<VirtualSize>8</VirtualSize>
</Memory>
<ApplicationSoftware>
<Software>Java</Software>
</ApplicationSoftware>
<Service/>
<VO/>
<Cluster/>
<FileSystem/>
<NetworkAdaptor/>
<JobPolicy/>
<AccessControlPolicy/>
</Capabilities>
<Requirements/>
<Adaptors>
<Adaptor name="integratedtoolkit.gat.master.GATAdaptor">
<BrokerAdaptor>sshtrilead</BrokerAdaptor>
</Adaptor>
</Adaptors>
</Resource>
Run Code Online (Sandbox Code Playgroud)
project.xml中
<Worker Name="172.16.8.2">
<InstallDir>/opt/COMPSs/Runtime/scripts/system/</InstallDir>
<WorkingDir>/home/user/test/wdir/</WorkingDir>
<AppDir>/home/user/test/java/matmul/jar/</AppDir>
<User>user</User>
</Worker>
Run Code Online (Sandbox Code Playgroud)
接口文件中的方法声明
@Method(declaringClass = "matmul.files.MatmulImpl")
void multiplyAccumulative(
@Parameter(direction = Direction.INOUT) String file1,
@Parameter() String file2,
@Parameter() String file3,
@Parameter() int bsize
);
Run Code Online (Sandbox Code Playgroud) 我很幸运能够访问我大学的SLURM动力GPU集群.我一直试图让Tensorflow在集群节点中运行,但到目前为止我找不到任何文档.(我在大学里与之交谈的每个人都在使用CPU节点之前或使用单个GPU节点运行它.
我在这里找到了上一个问题的一些优秀文档.不幸的是,它相当不完整.我发现的所有其他分布式示例(例如此示例)都依赖于显式指定参数服务器.
当我尝试使用SO问题中的代码运行它时,我似乎工作得很好,直到它无法连接到不存在的参数服务器,或者在调用server.join时挂起并且没有向sbatch outfile提供打印输出(我明白应该发生).
简而言之,我的问题是如何在SLURM集群上启动Tensorflow?从sbatch阶段开始.这是我第一次在AWS上处理SPARK之外的分布式计算框架,我很想了解更多关于如何正确配置Tensorflow的信息.如何指定tf_hostlist中的哪个项目作为参数服务器?另外,我可以使用sbatch向每个worker发送稍微不同的命令,正如我在其他示例中看到的那样?
在我们当前的Java项目中,我们需要批量处理大量记录.完成此处理后,必须再次启动并再次处理所有记录.该处理必须并行化并且在多个节点之间分布.
记录本身存储在数据库中.使用一些id范围(例如1-10000)来识别批次就足够了.
从高层面来看,我看到以下步骤:
我们非常重视MongoDB,并考虑将子任务保存在其中.然后,每个节点都可以获取尚未完成的子任务,进行处理并将记录标记为已完成.一旦没有撤消的子任务,主任务将再次创建所有子任务.这可能会奏效,但我们正在寻找一种解决方案,我们不需要自己进行繁重的同步工作.
我想运行aggregate函数中的dmapply通过所提供的功能ddR包.
期望的结果反映了通过aggregatebase 生成的简单输出:
aggregate(
x = mtcars$mpg,
FUN = function(x) {
mean(x, na.rm = TRUE)
},
by = list(trans = mtcars$am)
)
Run Code Online (Sandbox Code Playgroud)
产生:
trans x
1 0 17.14737
2 1 24.39231
Run Code Online (Sandbox Code Playgroud)
ddmapply我希望在使用时得到相同的结果ddmapply,如下所示:
# ddR
require(ddR)
# ddR object creation
distMtcars <- as.dframe(mtcars)
# Aggregate / ddmapply
dmapply(
FUN = function(x, y) {
aggregate(FUN = mean(x, na.rm = TRUE),
x = x,
by = list(trans …Run Code Online (Sandbox Code Playgroud) parallel-processing aggregate r distributed-computing dataframe
我知道我可以通过参数传递参数
spark-submit com.xxx.test 1 2
Run Code Online (Sandbox Code Playgroud)
并得到参数:
def main(args: Array[String]): Unit = {
// ????
var city = args(0)
var num = args(1)
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有一个传递命名参数的路径,如:
spark-submit com.xxx.test --citys=1 --num=2
Run Code Online (Sandbox Code Playgroud)
以及如何在main.scala中获取此命名参数?
即时通讯试图在我的网络中与zookeeper一起实施Kafka,但我正面临Zookeeper的怪异问题。我环顾了Google,并意识到许多其他用户都报告了此类问题,但没有人为此发布任何适当的解决方案。
我当前的设置有3个不同的zookeeper节点(32 GB的ram专用盒),问题是如果我杀死了zookeeper领导者,其余的跟随者节点也会掉线,并且至少在接下来的15-20分钟内无法恢复。
我在Zookeeper日志中得到的只是“通知超时”,没有任何解释
这是我的zookeeper配置文件
tickTime=2000
initLimit=10
syncLimit=5
maxClientCnxns=100
maxSessionTimeout=50000
dataDir=/var/lib/zookeeper
clientPort=2181
autopurge.snapRetainCount=100
autopurge.purgeInterval=1
preAllocSize=131072
snapCount=3000000
server.1=zo1:2888:3888
server.2=zo2:2888:3888
server.3=zo3:2888:3888
Run Code Online (Sandbox Code Playgroud)
在我的/ etc / hosts文件中,我已将zo1,zo2,zo3映射到其IP地址。
注意:我还通过将当前节点ip设置为0.0.0.0进行了测试,这没有任何区别。
就在几分钟前,我对其进行了测试,但再次无法恢复。因为我有三个节点群集zo1,zo2和zo3。zo3是领导者,zo1和zo2是关注者。在我杀死zo3节点之后。自动恢复大约需要13分钟。我在zo1和zo2中获得了以下日志。
登录zo1。
尾/var/lib/zookeeper/zookeeper.out -n 10000 | grep'QuorumPeer'
2019-01-02 10:25:50,848 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FollowerZooKeeperServer@140] - Shutting down
2019-01-02 10:25:50,848 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:ZooKeeperServer@505] - shutting down
2019-01-02 10:25:50,848 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FollowerRequestProcessor@107] - Shutting down
2019-01-02 10:25:50,848 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:CommitProcessor@184] - Shutting down
2019-01-02 10:25:50,848 [myid:1] - INFO [QuorumPeer[myid=1]/0:0:0:0:0:0:0:0:2181:FinalRequestProcessor@402] - shutdown of request processor complete
2019-01-02 …Run Code Online (Sandbox Code Playgroud) apache-spark ×3
java ×3
r ×2
aggregate ×1
akka ×1
apache-storm ×1
bigdata ×1
compss ×1
dataframe ×1
distributed ×1
ehcache ×1
hadoop ×1
hpc ×1
multi-gpu ×1
replication ×1
sbatch ×1
scala ×1
slurm ×1
tensorflow ×1