Spark0.8.1+Shark0.8.1安装文档

来源:互联网 发布:ubuntu samba客户端 编辑:程序博客网 时间:2024/06/06 03:15

Spark是一个高效的分布式计算系统,相比Hadoop,它在性能上比Hadoop号称要高 100倍。Spark提供比Hadoop更 上层的API,同样的算法在Spark中实现往往只有Hadoop1/10或者1/100的长度。Spark团队发布了0.8.1版本,支持YARN2.2这个小更新版本,依然基于 Scala 2.9

Spark依赖JavaScala,同时有必要配备一个HDFS

关于JavaHDFS的安装内容,在有关Hadoop安装文档中可见。

Scala安装配置

1.下载scala-2.9.3 一个scala-2.9.3.tgz文件(使用更高scala-2.10.3版本会出现问题)

2.解压scala-2.9.3.tgz文件

3.修改.bashrc文件和/etc/profile文件,写入

      export SCALA_HOME=scala解压后文件夹所在的位置

      export PATH=$SCALA_HOME/bin:$PATH

Spark安装配置

1.下载spark-0.8.1-incubating-bin-hadoop1.tgz 下载地址:  

      https://spark.incubator.apache.org/downloads.html

2.解压spark-0.8.1-incubating-bin-hadoop1.tgz 解压的文件夹为

      spark-0.8.1-incubating-bin-hadoop1

3.进入spark-0.8.1-incubating-bin-hadoop1/conf目录

4.复制spark-env.sh.template 命名为spark-env.sh

5.修改spark-env.sh文件

      export SCALA_HOME=scala解压后文件夹所在的位置

      export JAVA_HOME=java安装位置

      export SPARK_HOME=spark安装位置

      export SPARK_MASTER=分布式安装sparkmaster IP

      export SPARK_MASTER_WEBUI_PORT=8080 

      export SPARK_WORKER_WEBUI_PORT=8000

6.slaves中添加slave节点

  添加主机名或者IP地址

7.将配置好的spark-0.8.1-incubating-bin-hadoop1文件夹发布到所有的slave节点中(路径要相同)

8.启动spark

      在spark/bin目录下执行./start-all.sh 

9.测试

  Jps查看 master节点master进程是否启动 slave节点worker进程是否启动

  网页查看 masterIP8080查看master slaveIP8000查看slave

Spark运行

1.   ./run-example org.apache.spark.examples.SparkPi local 本地启动spark

2.   ./run-example org.apache.spark.examples.SparkPi spark://master:7077 集群启动spark

    3.从HDFS读取文件并运行WordCount

       $ cd ~/spark-0.8.0

       $ hadoop fs -put README.md .

       $ MASTER=spark://master:7077 ./spark-shell

      scala> val file = sc.textFile("hdfs://master:9000/user/dev/README.md")

      scala> val count = file.flatMap(line => line.split(" ")).map(word => (word,

1)).reduceByKey(_+_)

      scala> count.collect()

Spark集群停止

      bin/stop-all.sh

 

 

SharkHive on Spark,本质上是通过HiveHQL解析,把HQL翻译成Spark上的RDD操作,然后通过Hivemetadata获取数据库里的表信息,实际HDFS上的数据和文件,会由Shark获取并放到Spark上运算。Shark的特点就是快,完全兼容Hive,且可以在shell模式下使用rdd2sql()这样的API,把HQL得到的结果集,继续在scala环境下运算,支持自己编写简单的机器学习或简单分析处理函数,对HQL结果进一步分析计算。

Shark依赖JavaScalaSparkHive以及HDFS

Spark安装配置

1.下载shark-0.8.1-bin-hadoop1.tgz 下载地址:

  https://github.com/amplab/shark/releases

2.解压shark-0.8.1-bin-hadoop1.tgz 解压的文件夹为

      shark-0.8.1-bin-hadoop1

3.进入shark-0.8.1-bin-hadoop1/conf目录

4.复制shark-env.sh.template 命名为shark-env.sh

    5.修改spark-env.sh文件

      export SCALA_HOME=scala解压后文件夹所在的位置

      export HIVE_HOME=hive安装位置

      export SPARK_HOME=spark安装位置

      export HADOOP_HOME=hadoop安装位置

      export MASTER=spark masterURL

6.将配置好的shark-0.8.1-bin-hadoop1文件夹发布到所有的slave节点中(路径要相同)

7.启动shark

  bin/shark-withinfo

    8可以用sql测试Shark是否可用。

     CREATE TABLE src(key INT, value STRING); 

     LOAD DATA LOCAL INPATH '${env:HIVE_HOME}/examples/files/kv1.txt' INTO TABLE src; 

     SELECT COUNT(1) FROM src; 

     CREATE TABLE src_cached AS SELECT * FROM src; 

     SELECT COUNT(1) FROM src_cached;

0 0