开发者社区> 异步社区> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

《Spark Cookbook 中文版》一1.8 使用Tachyon作为堆外存储层

简介:
+关注继续查看

本节书摘来异步社区《Spark Cookbook 中文版》一书中的第1章,第1.8节,作者: 【印度】Rishi Yadav(亚达夫)译者: 顾星竹 , 刘见康 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

1.8 使用Tachyon作为堆外存储层

Spark弹性分布式数据集(RDD)很适合在内存上存储数据集,可以在不同应用上存储大量备份。Tachyon可以解决Spark RDD管理的一些挑战性问题,如下所示。

RDD仅存在于Spark应用期间。
计算程序和RDD内存存储共享同样的执行过程;所以,如果一个进程崩溃了,那么内存存储也会消失。
即使处理同样的底层数据,不同作业的RDD是不能共享的,例如使用HDFS数据块。
慢速写入磁盘。
在内存中备份数据,更高的内存占用。
如果需要与其他应用程序共享输出,由于需要磁盘复制速度会非常慢。
Tachyon提供了堆外存储层来解决这些问题。该层(即堆外存储层)不受进程崩溃的影响也不会被垃圾回收器标记,同时也可以让RDD独立于特定的作业或对话之上实现跨应用共享。本质上,数据的一个存储在内存上的单一副本如图1-13所示。


13

1.8.1 具体步骤

1.下载并编译Tachyon(在默认情况下Tachyon配置的Hadoop版本为1.0.4,所以需要从源代码编译,选择正确的Hadoop版本)。替换当前版本,本书所写是版本为0.6.4。

$ wget https://github.com/amplab/tachyon/archive/v<version>.zip

2.解压源代码。

$ unzip  v-<version>.zip

3.为了方便,重命名Tachyon源文件名。

$ mv tachyon-<version> tachyon

4.修改Tachyon文件夹目录。

$ cd tachyon 
   $ mvn -Dhadoop.version=2.4.0 clean package -DskipTests=true
   $ cdconf
   $ sudo mkdir -p /var/tachyon/journal
   $ sudo chown -R hduser:hduser /var/tachyon/journal
   $ sudo mkdir -p /var/tachyon/ramdisk
   $ sudo chown -R hduser:hduser /var/tachyon/ramdisk

   $ mv tachyon-env.sh.template tachyon-env.sh
   $ vi tachyon-env.sh

5.注释下面这行。

export TACHYON_UNDERFS_ADDRESS=$TACHYON_HOME/underfs

6.去掉下面这行前面的注释。

export TACHYON_UNDERFS_ADDRESS=hdfs://localhost:9000

7.修改以下属性。

-Dtachyon.master.journal.folder=/var/tachyon/journal/

   export TACHYON_RAM_FOLDER=/var/tachyon/ramdisk    

   $ sudo mkdir -p /var/log/tachyon
   $ sudo chown -R hduser:hduser /var/log/tachyon
   $ vi log4j.properties

8.用/var/log/tachyon替换${tachyon.home}。

9.在conf目录下创建新文件core-site.xml。

$ sudo vi core-site.xml
 <configuration>
 <property>
     <name>fs.tachyon.impl</name>
     <value>tachyon.hadoop.TFS</value>
   </property>
 </configuration>
 $ cd ~
 $ sudo mv tachyon /opt/infoobjects/
 $ sudochown -R root:root /opt/infoobjects/tachyon
 $ sudochmod -R 755 /opt/infoobjects/tachyon

10.将< tachyon home>/bin加入路径。

$ echo "export PATH=$PATH:/opt/infoobjects/tachyon/bin" >> /home/
hduser/.bashrc

11.重启shell并格式化Tachyon。

$ tachyon format
$ tachyon-start.sh local //you need to enter root password as
RamFS needs to be formatted

Tachyon的网页端口是http://hostname:19998,如图1-14所示。


14

12.运行以下程序观测Tachyon是否运行良好,如图1-15所示。


15

13.以下命令可以随时停止Tachyon。

$ tachyon-stop.sh

14.在Spark上运行Tachyon。

$ spark-shell
    scala> val words = sc.textFile("tachyon://localhost:19998/words")
    scala> words.count
    scala> words.saveAsTextFile("tachyon://localhost:19998/w2")
    scala> val person = sc.textFile("hdfs://localhost:9000/user/
    hduser/person")
    scala> import org.apache.spark.api.java._
    scala> person.persist(StorageLevels.OFF_HEAP)

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
spark中 map和reduce理解及与hadoop的map、reduce区别
spark中 map和reduce理解及与hadoop的map、reduce区别
0 0
HADOOP MapReduce 处理 Spark 抽取的 Hive 数据【解决方案一】
开端: 今天咱先说问题,经过几天测试题的练习,我们有从某题库中找到了新题型,并且成功把我们干趴下,昨天今天就干了一件事,站起来。 沙问题? java mapeduce 清洗 hive 中的数据 ,清晰之后将driver代码 进行截图提交。
0 0
Storm与Spark、Hadoop三种框架对比
Storm与Spark、Hadoop这三种框架,各有各的优点,每个框架都有自己的最佳应用场景。所以,在不同的应用场景下,应该选择不同的框架。
0 0
阿里巴巴资深架构师熬几个通宵肛出来的Spark+Hadoop+中台实战pdf
阿里巴巴资深架构师熬几个通宵肛出来的Spark+Hadoop+中台实战pdf
0 0
大数据Spark企业级实战与Hadoop实战&PDF和PPT
今天给大家分享的是《大数据Spark企业级实战》与《Hadoop实战》《大数据处理系统·Hadoop源代码情景分析》《50个大厂大数据算法教程》等销量排行前10名的大数据技术书籍(文末领取PDF版)。这些书籍具有以下几个优点:易读、实践性强,对解决工作中遇到的业务问题具有一定启发性。
0 0
Spark SQL CLI部署CentOS分布式集群Hadoop上方法
Spark SQL CLI部署CentOS分布式集群Hadoop上方法
0 0
Apache Spark vs.Apache Hadoop
Apache Spark vs.Apache Hadoop
0 0
【Spark】Spark 与 Hadoop MR 之间的区别
【Spark】Spark 与 Hadoop MR 之间的区别
0 0
spark 3.1.x支持(兼容)hive 1.2.x以及hadoop cdh版本的尝试
spark 3.1.x支持(兼容)hive 1.2.x以及hadoop cdh版本的尝试
0 0
Hadoop、Hive、Spark 之间的关系?
今天我们就对 Hadoop、Hive、Spark 做下分析对比。
0 0
+关注
异步社区
异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
文章
问答
文章排行榜
最热
最新
相关电子书
更多
APACHE SPARK AS THE BACKBONE O
立即下载
# Apache Spark系列技术直播# 第五讲【 Spark RDD编程入门 】
立即下载
Hybrid Cloud and Apache Spark
立即下载