Hi Team,

Now i've changed my code and reading configuration from hbase-site.xml
file(this file is in classpath). When i run this program using : mvn
exec:java
-Dexec.mainClass="com.cisco.ana.accessavailability.AccessAvailability". It
is working fine. But when i run this program from spark-submit i'm getting
below exception

Please find below exception :

spark-submit command not able to found the HbaseConfiguration. How to
resolve this issue?

rajesh@rajesh-VirtualBox:~/Downloads/spark-1.0.0$ ./bin/spark-submit
--master local --class com.cisco.ana.accessavailability.AccessAvailability
--jars
/home/rajesh/Downloads/MISC/ANA_Access/target/ANA_Access-0.0.1-SNAPSHOT.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-client-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-common-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-hadoop2-compat-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-it-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-protocol-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-server-0.96.1.1-hadoop2.jar,
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/htrace-core-2.01.jar,
/home/rajesh/Downloads/spark-1.0.0/assembly/target/scala-2.10/spark-assembly-1.0.0-hadoop2.2.0.jar

Warning: Local jar
/home/rajesh/hbase-0.96.1.1-hadoop2/lib/hbase-client-0.96.1.1-hadoop2.jar,
does not exist, skipping.
 Before
*Exception in thread "main" java.lang.NoClassDefFoundError:
org/apache/hadoop/hbase/HBaseConfiguration*
    at
com.cisco.ana.accessavailability.AccessAvailability.main(AccessAvailability.java:80)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:622)
    at org.apache.spark.deploy.SparkSubmit$.launch(SparkSubmit.scala:292)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:55)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)
Caused by: java.lang.ClassNotFoundException:
org.apache.hadoop.hbase.HBaseConfiguration
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:323)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:268)
    ... 8 more


Please find below code :

public class AccessAvailability {

    public static void main(String[] args) throws Exception {

        System.out.println(" Before");
        Configuration configuration = HBaseConfiguration.create();
        System.out.println(" After");
        SparkConf s = new SparkConf().setMaster("local");
        JavaStreamingContext ssc = new
JavaStreamingContext(master,"AccessAvailability", new Duration(40000),
sparkHome, "");
        JavaDStream<String> lines_2 = ssc.textFileStream(hdfsfolderpath);

    }
}

Regards,
Rajesh



On Wed, Jul 16, 2014 at 5:39 AM, Krishna Sankar <ksanka...@gmail.com> wrote:

> Good catch. I thought the largest port number is 65535.
> Cheers
> <k/>
>
>
> On Tue, Jul 15, 2014 at 4:33 PM, Spark DevUser <spark.devu...@gmail.com>
> wrote:
>
>> Are you able to launch *hbase shell* and run some commands (list,
>> describe, scan, etc)? Seems *configuration.set("hbase.**master",
>> "localhost:600000")* is wrong.
>>
>>
>> On Tue, Jul 15, 2014 at 3:00 PM, Tathagata Das <
>> tathagata.das1...@gmail.com> wrote:
>>
>>> Also, it helps if you post us logs, stacktraces, exceptions, etc.
>>>
>>> TD
>>>
>>>
>>> On Tue, Jul 15, 2014 at 10:07 AM, Jerry Lam <chiling...@gmail.com>
>>> wrote:
>>>
>>>> Hi Rajesh,
>>>>
>>>> I have a feeling that this is not directly related to spark but I might
>>>> be wrong. The reason why is that when you do:
>>>>
>>>>    Configuration configuration = HBaseConfiguration.create();
>>>>
>>>> by default, it reads the configuration files hbase-site.xml in your
>>>> classpath and ... (I don't remember all the configuration files hbase has).
>>>>
>>>> I noticed that you overwrote some configuration settings in the code
>>>> but I'm not if you have other configurations that might have conflicted
>>>> with those.
>>>>
>>>> Could you try the following, remove anything that is spark specific
>>>> leaving only hbase related codes. uber jar it and run it just like any
>>>> other simple java program. If you still have connection issues, then at
>>>> least you know the problem is from the configurations.
>>>>
>>>> HTH,
>>>>
>>>> Jerry
>>>>
>>>>
>>>> On Tue, Jul 15, 2014 at 12:10 PM, Krishna Sankar <ksanka...@gmail.com>
>>>> wrote:
>>>>
>>>>> One vector to check is the HBase libraries in the --jars as in :
>>>>> spark-submit --class <your class> --master <master url> --jars
>>>>> hbase-client-0.98.3-hadoop2.jar,commons-csv-1.0-SNAPSHOT.jar,hbase-common-0.98.3-hadoop2.jar,hbase-hadoop2-compat-0.98.3-hadoop2.jar,hbase-it-0.98.3-hadoop2.jar,hbase-protocol-0.98.3-hadoop2.jar,hbase-server-0.98.3-hadoop2.jar,htrace-core-2.04.jar,spark-assembly-1.0.0-hadoop2.2.0.jar
>>>>> badwclient.jar
>>>>> This worked for us.
>>>>> Cheers
>>>>> <k/>
>>>>>
>>>>>
>>>>> On Tue, Jul 15, 2014 at 6:47 AM, Madabhattula Rajesh Kumar <
>>>>> mrajaf...@gmail.com> wrote:
>>>>>
>>>>>> Hi Team,
>>>>>>
>>>>>> Could you please help me to resolve the issue.
>>>>>>
>>>>>> *Issue *: I'm not able to connect HBase from Spark-submit. Below is
>>>>>> my code.  When i execute below program in standalone, i'm able to connect
>>>>>> to Hbase and doing the operation.
>>>>>>
>>>>>> When i execute below program using spark submit ( ./bin/spark-submit
>>>>>> ) command, i'm not able to connect to hbase. Am i missing any thing?
>>>>>>
>>>>>>
>>>>>> import java.util.HashMap;
>>>>>> import java.util.List;
>>>>>> import java.util.Map;
>>>>>> import java.util.Properties;
>>>>>>
>>>>>> import org.apache.hadoop.conf.Configuration;
>>>>>> import org.apache.hadoop.hbase.HBaseConfiguration;
>>>>>> import org.apache.hadoop.hbase.client.Put;
>>>>>> import org.apache.log4j.Logger;
>>>>>> import org.apache.spark.SparkConf;
>>>>>> import org.apache.spark.api.java.JavaRDD;
>>>>>> import org.apache.spark.api.java.function.Function;
>>>>>> import org.apache.spark.streaming.Duration;
>>>>>> import org.apache.spark.streaming.api.java.JavaDStream;
>>>>>> import org.apache.spark.streaming.api.java.JavaStreamingContext;
>>>>>> import org.apache.hadoop.hbase.HTableDescriptor;
>>>>>> import org.apache.hadoop.hbase.client.HBaseAdmin;
>>>>>>
>>>>>> public class Test {
>>>>>>
>>>>>>
>>>>>>     public static void main(String[] args) throws Exception {
>>>>>>
>>>>>>         JavaStreamingContext ssc = new
>>>>>> JavaStreamingContext("local","Test", new Duration(40000), sparkHome, "");
>>>>>>
>>>>>>         JavaDStream<String> lines_2 =
>>>>>> ssc.textFileStream(hdfsfolderpath);
>>>>>>
>>>>>>         Configuration configuration = HBaseConfiguration.create();
>>>>>>         configuration.set("hbase.zookeeper.property.clientPort",
>>>>>> "2181");
>>>>>>         configuration.set("hbase.zookeeper.quorum", "localhost");
>>>>>>         configuration.set("hbase.master", "localhost:600000");
>>>>>>
>>>>>>         HBaseAdmin hBaseAdmin = new HBaseAdmin(configuration);
>>>>>>
>>>>>>             if (hBaseAdmin.tableExists("HABSE_TABLE")) {
>>>>>>                 System.out.println(" ANA_DATA table exists ......");
>>>>>>             }
>>>>>>
>>>>>>         System.out.println(" HELLO HELLO HELLO ");
>>>>>>
>>>>>>         ssc.start();
>>>>>>         ssc.awaitTermination();
>>>>>>
>>>>>>     }
>>>>>> }
>>>>>>
>>>>>> Thank you for your help and support.
>>>>>>
>>>>>> Regards,
>>>>>> Rajesh
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to