我们有两个HDP集群的设置让我们称它们为A和B.
集群一个节点:
CLUSTER B NODES:
我们的应用程序中有三个主要组件,它们对传入的文件执行ETL(提取,转换和加载)操作.我将这些组件分别称为E,T和L.
组件E特征:
组件T特征:
组分L特征:
组件L是所有三个组件中的宝石,我们没有遇到任何故障.组分E中存在轻微的无法解释的毛刺,但组分T是最麻烦的.
组件E和T都使用DFS客户端与namenode进行通信.
以下是我们在运行组件T时间歇性地观察到的异常的摘录:
clusterA.namenode.com/10.141.160.141:8020. Trying to fail over immediately.
java.io.IOException: Failed on local exception: java.io.IOException: Connection reset by peer; Host Details : local host is: "clusterB.datanode.com"; destination host is: "clusterA.namenode.com":8020;
at org.apache.hadoop.net.NetUtils.wrapException(NetUtils.java:782)
at org.apache.hadoop.ipc.Client.call(Client.java:1459)
at org.apache.hadoop.ipc.Client.call(Client.java:1392)
at org.apache.hadoop.ipc.ProtobufRpcEngine$Invoker.invoke(ProtobufRpcEngine.java:229)
at com.sun.proxy.$Proxy15.complete(Unknown Source)
at org.apache.hadoop.hdfs.protocolPB.ClientNamenodeProtocolTranslatorPB.complete(ClientNamenodeProtocolTranslatorPB.java:464)
at sun.reflect.GeneratedMethodAccessor1240.invoke(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我尝试过使用布隆过滤器来执行成员资格测试。我希望对 800 亿个条目执行成员资格测试,只允许发生大约 100 次冲突,即只有 100 个条目可以给出误报结果。
我知道这可以通过布隆过滤器来实现,但使用确定每个条目所需的位数以及给定允许的误报率的哈希函数数量的公式。我认为我最终会使用 270 GB 内存和 19 个哈希函数。
我还查看了 Cuckoo 过滤器,但它的内存要求与我的要求不符。我的要求如下:
除了上面提到的之外,有人可以建议我使用一种概率数据结构来帮助实现我的要求吗?
我正在使用 Ignite 1.7.0 并正在测试 Apache Ignite 的 write Behind 功能。提出这个问题的动机是为了更好地了解在 Apache Ignite 中启用 write Behind 功能时幕后发生的情况。
我有一个 Ignite 客户端程序,它将在测试缓存中插入 20 个条目(称为“test_cache”)。
Ignite 服务器运行在同一台计算机上,但运行在不同的 JVM 上。
Ignite 缓存具有以下配置设置:
所有其他属性均设置为默认值。
除此之外,还有一个为缓存配置的缓存存储,代码如下:
package com.ignite.genericpoc;
import java.util.Collection;
import java.util.Map;
import javax.cache.Cache.Entry;
import javax.cache.integration.CacheLoaderException;
import javax.cache.integration.CacheWriterException;
import org.apache.ignite.Ignite;
import org.apache.ignite.IgniteCache;
import org.apache.ignite.cache.store.CacheStore;
import org.apache.ignite.lang.IgniteBiInClosure;
import org.apache.ignite.resources.CacheNameResource;
import org.apache.ignite.resources.IgniteInstanceResource;
public class IgniteStoreTest implements CacheStore<String, String> {
@IgniteInstanceResource
Ignite gridReference;
@CacheNameResource
String cacheName;
@Override
public String load(String key) throws CacheLoaderException {
System.out.println("load …Run Code Online (Sandbox Code Playgroud)