spark1.5.1 支持 tachyon0.7.1
jdk需要1.7
1.spark
下载spark source
http://spark.apache.org/downloads.html
编译spark
export MAVEN_OPTS="-Xmx1024m -XX:MaxPermSize=256m"
mvn -Dhadoop.version=2.3.0 -DskipTests clean package
spark-env.sh
因为需要访问hdfs,hive,所以需要压缩lzo,和mysql
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/data/hadoop/hadoop-2.3.0-cdh5.1.0/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar export SPARK_LIBRARY_PATH=$SPARK_LIBRARY_PATH:/data/hadoop/hadoop-2.3.0-cdh5.1.0/share/hadoop/common/hadoop-lzo-0.4.20-SNAPSHOT.jar export SPARK_CLASSPATH=$SPARK_CLASSPATH:/data/hadoop/spark/spark-1.5.1-bin-hadoop2.3/lib/mysql-connector-java-5.1.20-bin.jar export SPARK_PID_DIR=/data/hadoop/spark/spark-1.5.1-bin-hadoop2.3
写slave文件
host136 host137 host138
添加配置文件到conf里:
core-site.xml
hdfs-site.xml
hive-site.xml
修改hive-site.xml
<property> <name>hive.metastore.warehouse.dir</name> <value>tachyon://host136:19998/warehouse</value> </property>
2.tachyon
下载tachyon,http://www.tachyon-project.org/
编译tachyon
mvn clean package -Djava.version=1.7 -Dhadoop.version=2.3.0 -DskipTests
修改配置:tachyon-env.sh
export TACHYON_RAM_FOLDER=/data/hadoop/spark/tachyon-0.7.1-2.3/data //内存数据mount目录 fi if [ -z "$JAVA_HOME" ]; then export JAVA_HOME="$(dirname $(which java))/.." fi export JAVA="${JAVA_HOME}/bin/java" export TACHYON_MASTER_ADDRESS=host136 #hdfs export TACHYON_UNDERFS_ADDRESS=hdfs://mycluster #-Dtachyon.master.journal.folder=hdfs://mycluster/tachyon/journal/ #export TACHYON_UNDERFS_ADDRESS=${TACHYON_UNDERFS_ADDRESS:-hdfs://localhost:9000} #使用内存大小 export TACHYON_WORKER_MEMORY_SIZE=20GB export TACHYON_UNDERFS_HDFS_IMPL=org.apache.hadoop.hdfs.DistributedFileSystem export TACHYON_WORKER_MAX_WORKER_THREADS=2048 export TACHYON_MASTER_MAX_WORKER_THREADS=2048 export TACHYON_SSH_FOREGROUND="yes" export TACHYON_WORKER_SLEEP="0.02"
可以配置多level数据
export TACHYON_JAVA_OPTS+=" -Dlog4j.configuration=file:$CONF_DIR/log4j.properties -Dtachyon.debug=false -Dtachyon.worker.tieredstore.level.max=1 -Dtachyon.worker.tieredstore.level0.alias=MEM -Dtachyon.worker.tieredstore.level0.dirs.path=$TACHYON_RAM_FOLDER -Dtachyon.worker.tieredstore.level0.dirs.quota=$TACHYON_WORKER_MEMORY_SIZE -Dtachyon.underfs.address=$TACHYON_UNDERFS_ADDRESS -Dtachyon.underfs.hdfs.impl=$TACHYON_UNDERFS_HDFS_IMPL -Dtachyon.data.folder=$TACHYON_UNDERFS_ADDRESS/tmp/tachyon/data -Dtachyon.worker.max.worker.threads=$TACHYON_WORKER_MAX_WORKER_THREADS -Dtachyon.workers.folder=$TACHYON_UNDERFS_ADDRESS/tmp/tachyon/workers -Dtachyon.worker.memory.size=$TACHYON_WORKER_MEMORY_SIZE -Dtachyon.worker.data.folder=/tachyonworker/ -Dtachyon.master.max.worker.threads=$TACHYON_MASTER_MAX_WORKER_THREADS -Dtachyon.master.worker.timeout.ms=60000 -Dtachyon.master.hostname=$TACHYON_MASTER_ADDRESS -Dtachyon.master.journal.folder=$TACHYON_HOME/journal/ -Dorg.apache.jasper.compiler.disablejsr199=true -Djava.net.preferIPv4Stack=true "
写slaves,workers
host136 host137 host138
添加配置文件到conf:
hdfs-site.xml
core-site.xml
在core-site.xml中添加
<property> <name>fs.tachyon.impl</name> <value>tachyon.hadoop.TFS</value> </property> <property> <name>fs.tachyon-ft.impl</name> <value>tachyon.hadoop.TFSFT</value> </property>
3启动服务:
tachyon:
需要用户有sudo权限,或是用root执行tachyon的mount操作
如果不想每次启动Tachyon都挂载一次RamFS,可以先使用命令 bin/tachyon-mount.sh Mount workers 或 bin/tachyon-mount.sh SudoMount workers 挂载好所有RamFS,然后使用 bin/tachyon-start.sh all NoMount 命令启动Tachyon。 bin/tachyon format bin/tachyon-mount.sh SudoMount workers bin/tachyon-start.sh all NoMount bin/tachyon-stop.sh
当添加一个tachyon节点
bin/tachyon formatWorker bin/tachyon-mount.sh SudoMount local bin/tachyon-start.sh worker NoMount
spark:
bin/spark-sql --master spark://host136:7077 bin/spark-shell --master spark://host136:7077
4.spark操作tachyon
用spark直接通过tachyon读取hdfs数据:
var textFile = sc.textFile("tachyon://host136:19998/hdfspath");
用spark在tachyon上建hive表:
CREATE EXTERNAL TABLE `test4`( `aaa` string, `ccc` string, `bbb` string) PARTITIONED BY ( `day_id` string, `hour_id` string) ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe' STORED AS INPUTFORMAT 'org.apache.hadoop.mapred.TextInputFormat' OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat' LOCATION 'tachyon://host136:19998/tmp/storm2'
页面:
http://tachyonmasterIP:19999/home
http://sparkIP:8099/
相关推荐
标题《Adatao:基于Spark/Tachyon的分布式深度学习框架》和描述《有史以来首个可扩展的分布式深度学习架构,使用Spark & Tachyon》揭示了本文讨论的核心技术议题:Adatao公司开发的分布式深度学习框架以及它如何依托...
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
它不要求改动已有计算框架的代码,仅需简单配置即可完成与Tachyon的集成,Tachyon作为中间层,实现了Spark和MapReduce与底层文件系统的数据共享。 Tachyon的实现原理主要包含以下几点:在内存中只保存一份数据,将...
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
《大数据Spark企业级实战》详细解析了企业级Spark开发所需的几乎所有技术内容,涵盖Spark的架构设计、Spark的集群搭建、Spark内核的解析、Spark SQL、MLLib、GraphX、Spark Streaming、Tachyon、SparkR、Spark多语言...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
Tachyon集群配置编译安装使用教程,hadoop版本对应,maven安装
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
Tachyon项目正是为了解决这一问题而设计的,通过使用Tachyon,框架如Spark和Shark可以使用Tachyon作为RDD(弹性分布式数据集)的存储,从而实现内存速度的文件共享和作业间故障隔离。 Tachyon系统架构中的谱系API是...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
作为分布式内存文件系统,Tachyon能够提供高速的数据访问能力,这使得它成为连接计算框架(如Spark、MapReduce等)与底层存储系统的关键桥梁。 ### Tachyon的发展历程 Tachyon最初由加州大学伯克利分校的AMPLab...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
4. **内存管理**:Spark如何利用内存进行快速计算,包括Tachyon和Spark Shuffle的过程。 5. **容错机制**:检查点、宽依赖与窄依赖,以及如何在故障发生时恢复计算。 6. **Spark SQL与DataFrame**:DataFrame的概念...
2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--...
1. **无缝集成**:Tachyon可以作为Hadoop的内存层,使得Hadoop MapReduce和其他基于Hadoop的框架如Spark、Tez等可以直接读取和写入Tachyon,而无需经过HDFS。 2. **提升性能**:在大数据处理中,Tachyon作为中间缓存...