Spark Tachyon编译部署(含单机和集群模式安装)

简介:

Tachyon编译部署

  • 编译Tachyon

  • 单机部署Tachyon

  • 集群模式部署Tachyon

 

 

 

 

 

1、Tachyon编译部署

  Tachyon目前的最新发布版为0.7.1,其官方网址为http://tachyon-project.org/。Tachyon文件系统有3种部署方式:单机模式、集群模式和高可用集群模式,集群模式相比于高可用集群模式区别在于多Master节点。下面将介绍单机和集群环境下去安装、配置和使用Tachyon。

1.1 编译Tachyon

  1.1.1 下载并上传源代码

  第一步   下载到Tachyon源代码:

  对于已经发布的版本可以直接从github下载Tachyon编译好的安装包并解压,由于Tachyon与Spark版本有对应关系,另外该系列搭建环境为Spark1.1.0,对应下载Tachyon0.5.0,版本对应参考http://tachyon-project.org/documentation/Running-Spark-on-Tachyon.html描述

        

 

 

   下载地址为https://github.com/amplab/tachyon/releases ,为以下演示我们在这里下载的是tachyon-0.5.0.tar.gz源代码包,文件大小为831K,如下图所示:

      

 

 

  第二步   在主节点上解压缩

$cd /home/hadoop/upload/
$tar -xzf tachyon-0.5.0.tar.gz

 

  第三步   把tachyon-0.5.0.tar.gz改名并移动到/app/complied目录下

$mv tachyon-0.5.0 /app/complied/tachyon-0.5.0-src

$ll /app/complied

      

 

 

 

  1.1.2编译代码

  为了更好地契合用户的本地环境,如Java版本、Hadoop版本或其他一些软件包的版本,可以下载Tachyon源码自行编译。Tachyon开源在GitHub上,可以很方便地获得其不同版本的源码。Tachyon项目采用Maven进行管理,因此可以采用 mvn package 命令进行编译打包。编译Tachyon源代码的时候,需要从网上下载依赖包,所以整个编译过程机器必须保证在联网状态。编译执行如下脚本:

$cd /app/complied/tachyon-0.5.0-src

$export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"

$mvn clean package -Djava.version=1.7 -Dhadoop.version=2.2.0 -DskipTests

      

  整个编译过程编译了约3个任务,整个过程耗时大约4分钟。

 

       

  使用如下命令查看编译后该Tachyon项目大小为72M。

 

$cd /app/complied/tachyon-0.5.0-src
$du -s /app/complied/tachyon-0.5.0-src

      

 

  完成这一步后,我们就得到了能够运行在用户本地环境的Tachyon,下面我们分别介绍如何在单机和分布式环境下配置和启动Tachyon,在进行部署之前先把编译好的文件复制到/app/hadoop下并把文件夹命名为Tachyon-0.5.0:

$cd /app/complied

$cp -r tachyon-0.5.0-src /app/hadoop/tachyon-0.5.0

$ll /app/hadoop

        

 

 

 

 

1.2 单机部署Tachyon

  这里要注意一点,Tachyon在单机(local)模式下启动时会自动挂载RamFS,所以请保证使用的账户具有sudo权限。

【注】编译好的Tachyon将本系列附属资源/install中提供,具体名称为10.tachyon-0.5.0-hadoop2.2.0-complied.zip

 

  1.2.1 配置Tachyon

  Tachyon相关配置文件在$TACHYON_HOME/conf目录下,在workers文件中配置需要启动TachyonWorker的节点,默认是localhost,所以在单机模式下不用更改(在Tachyon-0.5.0版本中,该文件为slaves)。在这里需要修改tachyon-env.sh配置文件,具体操作是将tachyon-env.sh.template复制为tachyon-env.sh:

$cd /app/hadoop/tachyon-0.5.0/conf
$cp tachyon-env.sh.template tachyon-env.sh      
$ll
$vi tachyon-env.sh

          

 

 

并在tachyon-env.sh中修改具体配置,下面列举了一些重要的配置项:

  • JAVA_HOME:系统中java的安装路径
  • TACHYON_MASTER_ADDRESS:启动TachyonMaster的地址,默认为localhost,所以在单机模式下不用更改
  • TACHYON_UNDERFS_ADDRESS:Tachyon使用的底层文件系统的路径,在单机模式下可以直接使用本地文件系统,如"/tmp/tachyon",也可以使用HDFS,如"hdfs://ip:port"
  • TACHYON_WORKER_MEMORY_SIZE:每个TachyonWorker使用的RamFS大小

       

 

 

 

 

  1.2.2 格式化Tachyon

完成配置后即可以单机模式启动Tachyon,启动前需要格式化存储文件,格式化和启动Tachyon的命令分别为:

$cd /app/hadoop/tachyon-0.5.0/bin

$./tachyon format

        

  存储文件为$TACHYON_HOME/underfs/tmp/tachyon目录下。

 

 

  1.2.3 启动Tachyon

使用如下命令启动Tachyon,可以看到在/nmt/ramdisk目录下格式化RamFS

$cd /app/hadoop/tachyon-0.5.0/bin
$./tachyon-start.sh local

        

 

 

 

  1.2.4 验证启动

使用JPS命令查看Tachyon进程,分别为:TachyonWorker和TachyonMaster

        

 

 查看Tachyon监控页面,访问地址为http://hadoop1:19999

        

 

 

 

 

  1.2.5 停止Tachyon

停止Tachyon的命令为:

$cd /app/hadoop/tachyon-0.5.0/bin

$./tachyon-stop.sh 

        

 

 

 

 

1.3 集群模式部署Tachyon

  1.3.1 集群环境

集群包含三个节点,运行进程分布如下:

         

 

 

  1.3.2 配置conf/worker

  Tachyon相关配置文件在$TACHYON_HOME/conf目录下,对slaves文件中配置需要启动TachyonWorker的节点,在这里需要设置hadoop1、hadoop2和hadoop3三个节点:

$cd /app/hadoop/tachyon-0.5.0/conf
$vi slaves                                                         

          

 

 

 

  1.3.3 配置conf/tachyon-env.sh

  在$TACHYON_HOME/conf目录下,将tachyon-env.sh.template复制为tachyon-env.sh,并在achyon-env.sh中修改具体配置。不同于单机模式,这里需要修改TachyonMaster地址以及底层文件系统路径:

$cd /app/hadoop/tachyon-0.5.0/conf
$cp tachyon-env.sh.template tachyon-env.sh      
$vi tachyon-env.sh

 

  在该文件中修改一下两个参数,这里使用底层文件系统为HDFS:

export TACHYON_MASTER_ADDRESS=hadoop1
export TACHYON_UNDERFS_ADDRESS=hdfs://hadoop1:9000

        

 

 

 

 

  1.3.4 向各个节点分发Tachyon

  使用如下命令把hadoop文件夹复制到hadoop2和hadoop3机器

$cd /app/hadoop/
$scp -r tachyon-0.5.0 hadoop@hadoop2:/app/hadoop/
$scp -r tachyon-0.5.0 hadoop@hadoop3:/app/hadoop/

        

 

 

 

 

  1.3.5 启动HDFS

$cd /app/hadoop/hadoop-2.2.0/sbin
$./start-dfs.sh

        

 

 

 

  1.3.6 格式化Tachyon

  启动前需要格式化存储文件,格式化命令为:

$cd /app/hadoop/tachyon-0.5.0/bin
$./tachyon format

      

 

 

  可以看到在HDFS的/tmp创建了tachyon文件夹。

       

 

 

 

 

  1.3.7 启动Tachyon

在这里使用SudoMout参数,需要在启动过程中输入hadoop的密码,具体过程如下:

$cd /app/hadoop/tachyon-0.5.0/bin
$./tachyon-start.sh all SudoMount

        

 

 

 

启动Tachyon有了更多的选项:

  • ./tachyon-start.sh all Mount在启动前自动挂载TachyonWorker所使用的RamFS,然后启动TachyonMaster和所有TachyonWorker。由于直接使用mount命令,所以需要用户为root;
  • ./tachyon-start.sh all SudoMount在启动前自动挂载TachyonWorker所使用的RamFS,然后启动TachyonMaster和所有TachyonWorker。由于使用sudo mount命令,所以需要用户有sudo权限;
  • ./tachyon-start.sh all NoMount认为RamFS已经挂载好,不执行挂载操作,只启动TachyonMaster和所有TachyonWorker

  因此,如果不想每次启动Tachyon都挂载一次RamFS,可以先使用命令./tachyon-mount.sh Mount workers ./tachyon-mount.sh SudoMount workers挂载好所有RamFS,然后使用./tachyon-start.sh all NoMount 命令启动Tachyon。

  单机和集群式模式的区别就在于节点配置和启动步骤,事实上,也可以在集群模式下只设置一个TachyonWorker,此时就成为伪分布模式。

 

 

 

  1.3.8 验证启动

  使用JPS命令查看Tachyon进程,分别为:TachyonWorker和TachyonMaster

  可以在浏览器内打开Tachyon的WebUI,如 http://hadoop1:19999,查看整个Tachyon的状态,各个TachyonWorker的运行情况、各项配置信息和浏览文件系统等。

          

$cd /app/hadoop/tachyon-0.5.0/bin
$./tachyon runTests



本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/6786295.html,如需转载请自行联系原作者
相关文章
|
1月前
|
人工智能 分布式计算 调度
打破资源边界、告别资源浪费:ACK One 多集群Spark和AI作业调度
ACK One多集群Spark作业调度,可以帮助您在不影响集群中正在运行的在线业务的前提下,打破资源边界,根据各集群实际剩余资源来进行调度,最大化您多集群中闲置资源的利用率。
|
1月前
|
SQL 分布式计算 关系型数据库
基于云服务器的数仓搭建-hive/spark安装
本文介绍了在本地安装和配置MySQL、Hive及Spark的过程。主要内容包括: - **MySQL本地安装**:详细描述了内存占用情况及安装步骤,涉及安装脚本的编写与执行,以及连接MySQL的方法。 - **Hive安装**:涵盖了从上传压缩包到配置环境变量的全过程,并解释了如何将Hive元数据存储配置到MySQL中。 - **Hive与Spark集成**:说明了如何安装Spark并将其与Hive集成,确保Hive任务由Spark执行,同时解决了依赖冲突问题。 - **常见问题及解决方法**:列举了安装过程中可能遇到的问题及其解决方案,如内存配置不足、节点间通信问题等。
214 1
基于云服务器的数仓搭建-hive/spark安装
|
3月前
|
存储 分布式计算 调度
Spark Master HA 主从切换过程不会影响到集群已有作业的运行, 为什么?
Spark Master 的高可用性(HA)机制确保主节点故障时,备用主节点能无缝接管集群管理,保障稳定运行。关键在于: 1. **Driver 和 Executor 独立**:任务执行不依赖 Master。 2. **应用状态保持**:备用 Master 通过 ZooKeeper 恢复集群状态。 3. **ZooKeeper 协调**:快速选举新 Master 并同步状态。 4. **容错机制**:任务可在其他 Executor 上重新调度。 这些特性保证了集群在 Master 故障时仍能正常运行。
|
6月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(一)
73 0
|
6月前
|
SQL 分布式计算 大数据
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
大数据-100 Spark 集群 Spark Streaming DStream转换 黑名单过滤的三种实现方式(二)
60 0
|
6月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
68 0
|
6月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
101 0
|
6月前
|
SQL 分布式计算 大数据
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
大数据-97 Spark 集群 SparkSQL 原理详细解析 Broadcast Shuffle SQL解析过程(一)
192 0
|
1月前
|
存储 分布式计算 Hadoop
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
从“笨重大象”到“敏捷火花”:Hadoop与Spark的大数据技术进化之路
162 79
|
5月前
|
分布式计算 大数据 Apache
ClickHouse与大数据生态集成:Spark & Flink 实战
【10月更文挑战第26天】在当今这个数据爆炸的时代,能够高效地处理和分析海量数据成为了企业和组织提升竞争力的关键。作为一款高性能的列式数据库系统,ClickHouse 在大数据分析领域展现出了卓越的能力。然而,为了充分利用ClickHouse的优势,将其与现有的大数据处理框架(如Apache Spark和Apache Flink)进行集成变得尤为重要。本文将从我个人的角度出发,探讨如何通过这些技术的结合,实现对大规模数据的实时处理和分析。
365 2
ClickHouse与大数据生态集成:Spark & Flink 实战