You could stop the running the processes and run the same processes using
the new version, starting with the master and then the slaves. You would
have to snoop around a bit to get the command-line arguments right, but
it's doable. Use `ps -efw` to find the command-lines used. Be sure to rerun
them as the same user. Or look at what the EC2 scripts do.

Dean Wampler, Ph.D.
Author: Programming Scala, 2nd Edition
<http://shop.oreilly.com/product/0636920033073.do> (O'Reilly)
Typesafe <http://typesafe.com>
@deanwampler <http://twitter.com/deanwampler>
http://polyglotprogramming.com

On Wed, Mar 25, 2015 at 4:54 PM, roni <[email protected]> wrote:

> Is there any way that I can install the new one and remove previous
> version.
> I installed spark 1.3 on my EC2 master and set teh spark home to the new
> one.
> But when I start teh spark-shell I get -
>  java.lang.UnsatisfiedLinkError:
> org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative()V
>     at
> org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative(Native
> Method)
>
> Is There no way to upgrade without creating new cluster?
> Thanks
> Roni
>
>
>
> On Wed, Mar 25, 2015 at 1:18 PM, Dean Wampler <[email protected]>
> wrote:
>
>> Yes, that's the problem. The RDD class exists in both binary jar files,
>> but the signatures probably don't match. The bottom line, as always for
>> tools like this, is that you can't mix versions.
>>
>> Dean Wampler, Ph.D.
>> Author: Programming Scala, 2nd Edition
>> <http://shop.oreilly.com/product/0636920033073.do> (O'Reilly)
>> Typesafe <http://typesafe.com>
>> @deanwampler <http://twitter.com/deanwampler>
>> http://polyglotprogramming.com
>>
>> On Wed, Mar 25, 2015 at 3:13 PM, roni <[email protected]> wrote:
>>
>>> My cluster is still on spark 1.2 and in SBT I am using 1.3.
>>> So probably it is compiling with 1.3 but running with 1.2 ?
>>>
>>> On Wed, Mar 25, 2015 at 12:34 PM, Dean Wampler <[email protected]>
>>> wrote:
>>>
>>>> Weird. Are you running using SBT console? It should have the spark-core
>>>> jar on the classpath. Similarly, spark-shell or spark-submit should work,
>>>> but be sure you're using the same version of Spark when running as when
>>>> compiling. Also, you might need to add spark-sql to your SBT dependencies,
>>>> but that shouldn't be this issue.
>>>>
>>>> Dean Wampler, Ph.D.
>>>> Author: Programming Scala, 2nd Edition
>>>> <http://shop.oreilly.com/product/0636920033073.do> (O'Reilly)
>>>> Typesafe <http://typesafe.com>
>>>> @deanwampler <http://twitter.com/deanwampler>
>>>> http://polyglotprogramming.com
>>>>
>>>> On Wed, Mar 25, 2015 at 12:09 PM, roni <[email protected]> wrote:
>>>>
>>>>> Thanks Dean and Nick.
>>>>> So, I removed the ADAM and H2o from my SBT as I was not using them.
>>>>> I got the code to compile  - only for fail while running with -
>>>>> SparkContext: Created broadcast 1 from textFile at
>>>>> kmerIntersetion.scala:21
>>>>> Exception in thread "main" java.lang.NoClassDefFoundError:
>>>>> org/apache/spark/rdd/RDD$
>>>>>         at preDefKmerIntersection$.main(kmerIntersetion.scala:26)
>>>>>
>>>>> This line is where I do a "JOIN" operation.
>>>>> val hgPair = hgfasta.map(_.split (",")).map(a=> (a(0),
>>>>> a(1).trim().toInt))
>>>>>                  val filtered = hgPair.filter(kv => kv._2 == 1)
>>>>>                  val bedPair = bedFile.map(_.split (",")).map(a=>
>>>>> (a(0), a(1).trim().toInt))
>>>>>             *     val joinRDD = bedPair.join(filtered)   *
>>>>> Any idea whats going on?
>>>>> I have data on the EC2 so I am avoiding creating the new cluster , but
>>>>> just upgrading and changing the code to use 1.3 and Spark SQL
>>>>> Thanks
>>>>> Roni
>>>>>
>>>>>
>>>>>
>>>>> On Wed, Mar 25, 2015 at 9:50 AM, Dean Wampler <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> For the Spark SQL parts, 1.3 breaks backwards compatibility, because
>>>>>> before 1.3, Spark SQL was considered experimental where API changes were
>>>>>> allowed.
>>>>>>
>>>>>> So, H2O and ADA compatible with 1.2.X might not work with 1.3.
>>>>>>
>>>>>> dean
>>>>>>
>>>>>> Dean Wampler, Ph.D.
>>>>>> Author: Programming Scala, 2nd Edition
>>>>>> <http://shop.oreilly.com/product/0636920033073.do> (O'Reilly)
>>>>>> Typesafe <http://typesafe.com>
>>>>>> @deanwampler <http://twitter.com/deanwampler>
>>>>>> http://polyglotprogramming.com
>>>>>>
>>>>>> On Wed, Mar 25, 2015 at 9:39 AM, roni <[email protected]> wrote:
>>>>>>
>>>>>>> Even if H2o and ADA are dependent on 1.2.1 , it should be backword
>>>>>>> compatible, right?
>>>>>>> So using 1.3 should not break them.
>>>>>>> And the code is not using the classes from those libs.
>>>>>>> I tried sbt clean compile .. same errror
>>>>>>> Thanks
>>>>>>> _R
>>>>>>>
>>>>>>> On Wed, Mar 25, 2015 at 9:26 AM, Nick Pentreath <
>>>>>>> [email protected]> wrote:
>>>>>>>
>>>>>>>> What version of Spark do the other dependencies rely on (Adam and
>>>>>>>> H2O?) - that could be it
>>>>>>>>
>>>>>>>> Or try sbt clean compile
>>>>>>>>
>>>>>>>> —
>>>>>>>> Sent from Mailbox <https://www.dropbox.com/mailbox>
>>>>>>>>
>>>>>>>>
>>>>>>>> On Wed, Mar 25, 2015 at 5:58 PM, roni <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>>     I have a EC2 cluster created using spark version 1.2.1.
>>>>>>>>> And I have a SBT project .
>>>>>>>>> Now I want to upgrade to spark 1.3 and use the new features.
>>>>>>>>> Below are issues .
>>>>>>>>> Sorry for the long post.
>>>>>>>>> Appreciate your help.
>>>>>>>>> Thanks
>>>>>>>>> -Roni
>>>>>>>>>
>>>>>>>>> Question - Do I have to create a new cluster using spark 1.3?
>>>>>>>>>
>>>>>>>>> Here is what I did -
>>>>>>>>>
>>>>>>>>> In my SBT file I  changed to -
>>>>>>>>> libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.0"
>>>>>>>>>
>>>>>>>>> But then I started getting compilation error. along with
>>>>>>>>> Here are some of the libraries that were evicted:
>>>>>>>>> [warn]  * org.apache.spark:spark-core_2.10:1.2.0 -> 1.3.0
>>>>>>>>> [warn]  * org.apache.hadoop:hadoop-client:(2.5.0-cdh5.2.0, 2.2.0)
>>>>>>>>> -> 2.6.0
>>>>>>>>> [warn] Run 'evicted' to see detailed eviction warnings
>>>>>>>>>
>>>>>>>>>  constructor cannot be instantiated to expected type;
>>>>>>>>> [error]  found   : (T1, T2)
>>>>>>>>> [error]  required: org.apache.spark.sql.catalyst.expressions.Row
>>>>>>>>> [error]                                 val ty =
>>>>>>>>> joinRDD.map{case(word, (file1Counts, file2Counts)) => 
>>>>>>>>> KmerIntesect(word,
>>>>>>>>> file1Counts,"xyz")}
>>>>>>>>> [error]                                                          ^
>>>>>>>>>
>>>>>>>>> Here is my SBT and code --
>>>>>>>>> SBT -
>>>>>>>>>
>>>>>>>>> version := "1.0"
>>>>>>>>>
>>>>>>>>> scalaVersion := "2.10.4"
>>>>>>>>>
>>>>>>>>> resolvers += "Sonatype OSS Snapshots" at "
>>>>>>>>> https://oss.sonatype.org/content/repositories/snapshots";;
>>>>>>>>> resolvers += "Maven Repo1" at "https://repo1.maven.org/maven2";;
>>>>>>>>> resolvers += "Maven Repo" at "
>>>>>>>>> https://s3.amazonaws.com/h2o-release/h2o-dev/master/1056/maven/repo/
>>>>>>>>> ";
>>>>>>>>>
>>>>>>>>> /* Dependencies - %% appends Scala version to artifactId */
>>>>>>>>> libraryDependencies += "org.apache.hadoop" % "hadoop-client" %
>>>>>>>>> "2.6.0"
>>>>>>>>> libraryDependencies += "org.apache.spark" %% "spark-core" % "1.3.0"
>>>>>>>>> libraryDependencies += "org.bdgenomics.adam" % "adam-core" %
>>>>>>>>> "0.16.0"
>>>>>>>>> libraryDependencies += "ai.h2o" % "sparkling-water-core_2.10" %
>>>>>>>>> "0.2.10"
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> CODE --
>>>>>>>>> import org.apache.spark.{SparkConf, SparkContext}
>>>>>>>>> case class KmerIntesect(kmer: String, kCount: Int, fileName:
>>>>>>>>> String)
>>>>>>>>>
>>>>>>>>> object preDefKmerIntersection {
>>>>>>>>>   def main(args: Array[String]) {
>>>>>>>>>
>>>>>>>>>  val sparkConf = new SparkConf().setAppName("preDefKmer-intersect")
>>>>>>>>>      val sc = new SparkContext(sparkConf)
>>>>>>>>>         import sqlContext.createSchemaRDD
>>>>>>>>>         val sqlContext = new org.apache.spark.sql.SQLContext(sc)
>>>>>>>>>             val bedFile = sc.textFile("s3n://a/b/c",40)
>>>>>>>>>              val hgfasta = sc.textFile("hdfs://a/b/c",40)
>>>>>>>>>                  val hgPair = hgfasta.map(_.split (",")).map(a=>
>>>>>>>>> (a(0), a(1).trim().toInt))
>>>>>>>>>                  val filtered = hgPair.filter(kv => kv._2 == 1)
>>>>>>>>>                  val bedPair = bedFile.map(_.split (",")).map(a=>
>>>>>>>>> (a(0), a(1).trim().toInt))
>>>>>>>>>                  val joinRDD = bedPair.join(filtered)
>>>>>>>>>                 val ty = joinRDD.map{case(word, (file1Counts,
>>>>>>>>> file2Counts)) => KmerIntesect(word, file1Counts,"xyz")}
>>>>>>>>>                 ty.registerTempTable("KmerIntesect")
>>>>>>>>>
>>>>>>>>> ty.saveAsParquetFile("hdfs://x/y/z/kmerIntersect.parquet")
>>>>>>>>>   }
>>>>>>>>> }
>>>>>>>>>
>>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>
>>
>

Reply via email to