Hi Prashant,

I've run your code and it works fine for me, I see "abc" in output.

However I wan't able to run it as is, I changed it a little bit.

First, I added TcpDiscoverySpi in CreateCache.java:

 TcpDiscoverySpi spi = new TcpDiscoverySpi();
 TcpDiscoveryVmIpFinder ipFinder = new TcpDiscoveryVmIpFinder();
  ipFinder.setAddresses(Arrays.asList("127.0.0.1", "127.0.0.1:47500
..47509"));
  spi.setIpFinder(ipFinder);

  IgniteConfiguration cfg = new IgniteConfiguration();

  cfg.setDiscoverySpi(spi);

then I run CreateCache.java and after this run TestMapper.java , in output
there was:

"Ignite started
in map
abc
Cleanup called"
So looks like it works fine.

Please find my mvn project there:
https://www.dropbox.com/s/4xvnvdjoxjrvmgm/general.tgz?dl=0

Thanks,
Mikhail.


2017-06-02 8:37 GMT+03:00 Prashant312 <[email protected]>:

> Hello Michael,
>
> Thanks for writing, We are just using Core Java to start the Ignite
> instance
> and fetch value from that Ignite instance through mapper.
> Below are the 3 class file which we have used.
>
>         Createcache is used to put data.
>
>         Startignite is called from setup method of maaper.
>
>         Inside testmapper we are starting Ignite from setup method and
> trying to
> get values in map method, which is returning NULL.
>
> PS - Without mapper class if we try to access the cache value from other
> Java Program we are able to do so.
>
> Waiting for your positive reply.
> -------------------
>
> package ignite;
>
>
> import java.util.Arrays;
>
> import javax.cache.configuration.Factory;
>
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.Ignition;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
> import
> org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
> import org.apache.poi.hssf.record.formula.functions.Minute;
>
>
> public class CreateCache {
>
>         public static IgniteCache<String, String> igniteCache=null;
>
>
>         public static void main(String[] args) {
>
>
>                 /*TcpDiscoverySpi spi = new TcpDiscoverySpi();
>
>                 TcpDiscoveryVmIpFinder ipFinder = new
> TcpDiscoveryVmIpFinder();
>                 ipFinder.setAddresses(Arrays.asList("10.10.10.138",
> "10.10.10.138:47500..47509"));
>                 spi.setIpFinder(ipFinder);
>
>                 IgniteConfiguration cfg = new IgniteConfiguration();
>
>                 // Override default discovery SPI.
>                 cfg.setDiscoverySpi(spi);*/
>                 //Ignition.setClientMode(false);
>                 Ignite ignite = Ignition.start();
>
>
>                 CacheConfiguration<String, String> cacheConfig=new
> CacheConfiguration<String, String>();
>
>                 cacheConfig.setBackups(1);
>
>                 cacheConfig.setName("matchCache");
>                 cacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC);
>                 cacheConfig.setCacheMode(CacheMode.REPLICATED);
>
>                 igniteCache=ignite.getOrCreateCache(cacheConfig);
>
>                 igniteCache.put("100", "abc");
>                 //igniteCache.
>
>                 System.out.println("Done....cache");
>         }
>
>         public static Object getCacheData(String key){
>
>                 if(igniteCache!=null){
>                         return igniteCache.get(key);
>                 }
>                 return key;
>         }
>
> }
> -------------------------------------------------------
> package ignite;
>
> import java.util.Arrays;
> import java.util.Properties;
>
> import org.apache.ignite.Ignite;
> import org.apache.ignite.IgniteCache;
> import org.apache.ignite.IgniteSystemProperties;
> import org.apache.ignite.Ignition;
> import org.apache.ignite.cache.CacheAtomicityMode;
> import org.apache.ignite.cache.CacheMode;
> import org.apache.ignite.configuration.CacheConfiguration;
> import org.apache.ignite.configuration.IgniteConfiguration;
> import org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi;
> import
> org.apache.ignite.spi.discovery.tcp.ipfinder.vm.TcpDiscoveryVmIpFinder;
> import static
> org.apache.ignite.IgniteSystemProperties.IGNITE_REST_START_ON_CLIENT;
>
>
> public class StartIgnite {
>
>         public static IgniteCache<String, String> igniteCache=null;
>
>         public static void startIgnite(){
>
>
>                 Ignition.setClientMode(true);
>                 /*TcpDiscoverySpi spi = new TcpDiscoverySpi();
>
>                 TcpDiscoveryVmIpFinder ipFinder = new
> TcpDiscoveryVmIpFinder();
>
>                 // Set initial IP addresses.
>                 // Note that you can optionally specify a port or a port
> range.
>                 ipFinder.setAddresses(Arrays.asList("127.0.0.1",
> "127.0.0.1:47500..47509"));
>
>                 spi.setIpFinder(ipFinder);*/
>
>                 TcpDiscoverySpi spi = new TcpDiscoverySpi();
>                 TcpDiscoveryVmIpFinder ipFinder = new
> TcpDiscoveryVmIpFinder();
>                 ipFinder.setAddresses(Arrays.asList("127.0.0.1",
> "127.0.0.1:47500..47509"));
>                 spi.setIpFinder(ipFinder);
>                 System.out.println(ipFinder);
>
>                 IgniteConfiguration cfg = new IgniteConfiguration();
>
>                 cfg.setDiscoverySpi(spi);
>
>                 Ignite ignite = Ignition.start(cfg);
>
>                 CacheConfiguration<String, String> cacheConfig=new
> CacheConfiguration<String, String>();
>                 cacheConfig.setName("matchCache");
>                 //cacheConfig.
>                 //cacheConfig.s
>                 cacheConfig.setAtomicityMode(CacheAtomicityMode.ATOMIC);
>                 igniteCache=ignite.getOrCreateCache(cacheConfig);
>                 System.out.println("cache name is "+
> igniteCache.getName());
>
>         }
>
>         public static void stopIgnite(){
>                 Ignition.stop(true);
>         }
>
>         public static String getCacheData(String id){
>
>                 return igniteCache.get(id);
>         }
>
>         public static void main(String[] args) {
>
>                 startIgnite();
>                 //System.out.println(Cache.getCacheData(CacheConstants.
> CLEANSING_TOKENS));
>
>                 String obj=igniteCache.get("200");
>                 String obj2=igniteCache.get("100");
>                 System.out.println(obj);
>                 System.out.println(obj2);
>
>                 stopIgnite();
>
>         }
>
> }
> ---------------------------------------------------------------
> package mapper;
>
> import java.io.IOException;
>
> import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.fs.Path;
> import org.apache.hadoop.io.IntWritable;
> import org.apache.hadoop.io.LongWritable;
> import org.apache.hadoop.io.Text;
> import org.apache.hadoop.mapreduce.Job;
> import org.apache.hadoop.mapreduce.Mapper;
> import org.apache.hadoop.mapreduce.Reducer;
> import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
> import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
> import ignite.StartIgnite;
>
> public class TestMapper {
>
>         public static void main(String[] args) throws Exception
>
>         {
>                 Configuration c = new Configuration();
>                 Path input = new Path(args[0]);
>                 Path output = new Path(args[1]);
>                 Job j = new Job(c, "wordcount");
>                 j.setJarByClass(TestMapper.class);
>                 j.setMapperClass(MapForWordCount.class);
>                 j.setReducerClass(ReduceForWordCount.class);
>                 j.setOutputKeyClass(Text.class);
>                 j.setOutputValueClass(IntWritable.class);
>                 FileInputFormat.addInputPath(j, input);
>                 FileOutputFormat.setOutputPath(j, output);
>                 System.exit(j.waitForCompletion(true) ? 0 : 1);
>
>         }
>
>         public static class MapForWordCount extends Mapper<LongWritable,
> Text,
> Text, IntWritable> {
>
>                 boolean flag=false;
>
>
>                 @Override
>                 protected void setup(Context context) throws IOException,
>                 InterruptedException {
>                 System.out.println("setup called");
>                 StartIgnite.startIgnite();
>                 System.out.println("Ignite started ");
>                 }
>
>                 @Override
>                 protected void cleanup(Context context) throws IOException,
>                 InterruptedException {
>                 System.out.println("Cleanup called");
>                 StartIgnite.stopIgnite();
>                 }
>
>                 public void map(LongWritable key, Text value, Context con)
> throws
> IOException, InterruptedException
>
>                 {
>                         System.out.println("in map");
>                         String obj=StartIgnite.getCacheData("100");
>                         System.out.println(obj);
>                         String line = value.toString();
>
>                         String[] words = line.split(" ");
>
>                         for (String word : words){
>                                 Text outputKey = new
> Text(word.toUpperCase().trim());
>                                 IntWritable outputValue = new
> IntWritable(1);
>                                 con.write(outputKey, outputValue);
>                         }
>                 }
>         }
>         public static class ReduceForWordCount extends Reducer<Text,
> IntWritable,
> Text, IntWritable>
>
>         {
>
>                 public void reduce(Text word, Iterable<IntWritable>
> values, Context con)
>                                 throws IOException, InterruptedException
>
>                 {
>                         int sum = 0;
>                         for (IntWritable value : values){
>                                 sum += value.get();
>                         }
>                         con.write(word, new IntWritable(sum));
>                 }
>         }
> }
> -------------------------------------------------------
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
> Mikhail wrote
> > Hi Prashant,
> >
> > Could you please provide more details about your configuration?
> > Maybe you can send a test case that will show the issue?
> >
> > PS you email didn't get to mail list, because looks like you haven't
> > subscribed to the list.
> > Please subscribe to the list before sending further emails.
> >
> > Thanks,
> > Mikhail.
>
>
>
>
>
> --
> View this message in context: http://apache-ignite-users.
> 70518.x6.nabble.com/Ignite-Cache-returning-Null-value-
> from-Mapper-tp13158p13332.html
> Sent from the Apache Ignite Users mailing list archive at Nabble.com.
>

Reply via email to