找不到hazelcast映射器类

生气的

我正在尝试在hazelcast 3.4上运行map / reduce任务,但我一直在发现类未找到异常

我创建了几个播放器并将其存储到IMap

    this.conf = new ClientConfig();
    HazelcastInstance cluster = HazelcastClient.newHazelcastClient(this.conf);
    Map<String, Player> mapPlayers = cluster.getMap("players");

    for (int playerID = 0; playerID < 10000; playerID++) {
        Player p = new Player();
        mapPlayers.put(Integer.toString(playerID), p);
        System.out.println("inserted player nuber " + Integer.toString(playerID));
    }

之后,我创建了地图减少类MRCount

public class MRCount {
    private ClientConfig conf;

    public MRCount() {
        this.conf = new ClientConfig();
        this.conf.getNetworkConfig();
    }

    public void getCount() throws ExecutionException, InterruptedException {
        HazelcastInstance cluster = HazelcastClient.newHazelcastClient(this.conf);
        IMap<String, Player> mapPlayers = cluster.getMap("players");
        KeyValueSource<String, Player> source = KeyValueSource.fromMap(mapPlayers);
        JobTracker jobTracker = cluster.getJobTracker("default");
        Job<String, Player> job = jobTracker.newJob(source);

        ICompletableFuture<Map<String, Integer>> future = job.mapper(new MyMapper())
                                                                .reducer(new MyReducerFactory()).submit();

//        future.andThen(buildCallback());
        Map<String, Integer> result = future.get();

        for (Map.Entry<String, Integer> e: result.entrySet()) {
            System.out.println(e.getKey() + ":  " + Integer.toString(e.getValue()) );
        }

        cluster.shutdown();
    }
}

映射器类:

public class MyMapper implements Mapper<String, Player, String, Integer> {

    @Override
    public void map(String key, Player value, Context<String, Integer> context) {

        context.emit("total", 1);
    }
}

public class MyReducerFactory implements ReducerFactory<String, Integer, Integer>{

    @Override
    public Reducer<Integer, Integer> newReducer(String key) {
        return new MyReducer();
    }

    private class MyReducer extends Reducer<Integer, Integer> {
        private volatile Integer result = 0;
        @Override
        public void reduce(Integer value) {
            result += value;
        }

        @Override
        public Integer finalizeReduce() {
            return result;
        }
    }
}

我用Maven建立了我的项目。当我启动导入功能时,一切进展顺利,并且已经将播放器存储在HZ集群中,但是当我启动MRCount.getCount()函数时,我一直在获取HazelcastSerializationException

    Exception in thread "main" java.util.concurrent.ExecutionException: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.test.queries.models.MyMapper
    at com.hazelcast.client.spi.impl.ClientCallFuture.resolveResponse(ClientCallFuture.java:214)
    at com.hazelcast.client.spi.impl.ClientCallFuture.access$000(ClientCallFuture.java:53)
    at com.hazelcast.client.spi.impl.ClientCallFuture$1.run(ClientCallFuture.java:286)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
Caused by: com.hazelcast.nio.serialization.HazelcastSerializationException: java.lang.ClassNotFoundException: com.test.queries.models.MyMapper
    at com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(DefaultSerializers.java:201)
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:44)
    at com.hazelcast.nio.serialization.SerializationServiceImpl.readObject(SerializationServiceImpl.java:309)
    at com.hazelcast.nio.serialization.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:439)
    at com.hazelcast.mapreduce.impl.client.ClientMapReduceRequest.readData(ClientMapReduceRequest.java:226)
    at com.hazelcast.mapreduce.impl.client.ClientMapReduceRequest.read(ClientMapReduceRequest.java:181)
    at com.hazelcast.client.impl.client.ClientRequest.readPortable(ClientRequest.java:116)
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:88)
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:30)
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.toObject(StreamSerializerAdapter.java:65)
    at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:260)
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.loadRequest(ClientEngineImpl.java:364)
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:340)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
    at com.hazelcast.util.executor.HazelcastManagedThread.executeRun(HazelcastManagedThread.java:76)
    at com.hazelcast.util.executor.HazelcastManagedThread.run(HazelcastManagedThread.java:92)
    at ------ End remote and begin local stack-trace ------.(Unknown Source)
    at com.hazelcast.client.spi.impl.ClientCallFuture.resolveResponse(ClientCallFuture.java:201)
    ... 7 more
Caused by: java.lang.ClassNotFoundException: com.test.queries.models.MyMapper
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at com.hazelcast.nio.ClassLoaderUtil.tryLoadClass(ClassLoaderUtil.java:124)
    at com.hazelcast.nio.ClassLoaderUtil.loadClass(ClassLoaderUtil.java:113)
    at com.hazelcast.nio.IOUtil$1.resolveClass(IOUtil.java:113)
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1612)
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1517)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1771)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1350)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:370)
    at com.hazelcast.nio.serialization.DefaultSerializers$ObjectSerializer.read(DefaultSerializers.java:196)
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.read(StreamSerializerAdapter.java:44)
    at com.hazelcast.nio.serialization.SerializationServiceImpl.readObject(SerializationServiceImpl.java:309)
    at com.hazelcast.nio.serialization.ByteArrayObjectDataInput.readObject(ByteArrayObjectDataInput.java:439)
    at com.hazelcast.mapreduce.impl.client.ClientMapReduceRequest.readData(ClientMapReduceRequest.java:226)
    at com.hazelcast.mapreduce.impl.client.ClientMapReduceRequest.read(ClientMapReduceRequest.java:181)
    at com.hazelcast.client.impl.client.ClientRequest.readPortable(ClientRequest.java:116)
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:88)
    at com.hazelcast.nio.serialization.PortableSerializer.read(PortableSerializer.java:30)
    at com.hazelcast.nio.serialization.StreamSerializerAdapter.toObject(StreamSerializerAdapter.java:65)
    at com.hazelcast.nio.serialization.SerializationServiceImpl.toObject(SerializationServiceImpl.java:260)
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.loadRequest(ClientEngineImpl.java:364)
    at com.hazelcast.client.impl.ClientEngineImpl$ClientPacketProcessor.run(ClientEngineImpl.java:340)
    ... 5 more
夜莺

您还必须在服务器端部署所有类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

找不到Hadoop映射器类

来自分类Dev

Hadoop流-外部映射器脚本-找不到文件

来自分类Dev

找不到用于LabelledGeneric的无形映射器

来自分类Dev

在复杂对象列表内找不到对象(使用自动映射器)

来自分类Dev

Identityserver4的自动映射器问题-MissingMethodException:找不到方法:'!! 0 AutoMapper.IMapper.Map(System.Object)'

来自分类Dev

ArgumentError:关系需要类或映射器参数

来自分类Dev

在Scala中具有通用类的Jackson映射器

来自分类Dev

实体的 Morphia 映射器(用于整个 Java 类/POJO)

来自分类Dev

如何通过数据驱动映射器类

来自分类Dev

了解自动映射器

来自分类Dev

映射器的不良输出

来自分类Dev

自动映射器性能

来自分类Dev

自动映射器异常

来自分类Dev

相邻对的Python映射器

来自分类Dev

群集映射器的估计

来自分类Dev

自动映射器从内部属性映射到目标类

来自分类Dev

自动映射器将2个实体映射到单个类

来自分类Dev

自动映射器:映射由基类对象组成的集合

来自分类Dev

包含IncludeBase的自动映射器映射对抽象泛型类失败

来自分类Dev

自动映射器从内部属性映射到目标类

来自分类Dev

自动映射器:映射由基类对象组成的集合

来自分类Dev

自动映射器将2个实体映射到单个类

来自分类Dev

如何使用自动映射器映射具有多个自定义属性类型的类

来自分类Dev

找不到控制器类-流明

来自分类Dev

找不到管道驱动器类?

来自分类Dev

找不到控制器 dotnetCore 类

来自分类Dev

RuntimeException,ClassNotFoundException:类WordCount $ Map未找到。映射器类问题

来自分类Dev

自动映射器,映射到接口

来自分类Dev

自动映射器多对多映射

Related 相关文章

热门标签

归档