如何在集群上运行Shark
如何在集群上运行Shark
本文介绍在计算机集群上如何启动和运行Shark。如果对Amazon EC2上运行Shark感兴趣,请点击这里查看如何使用EC2脚本快速启动预先配置好的集群。
依赖:
注意:Shark是一个即插即用的工具,所以可以在现有的Hive数据仓库之上运行,不需要您对现有的部署做出任何修改。
在集群上运行Shark需要一下几个外部组件:
- Scala 2.9.3
- Spark 0.7.2
- 兼容的JAVA运行时环境:OpenJDK 7, Oracle HotSpot JDK 7,或者 Oracle HotSpot JDK 6u23+
- Shark专用的 Hive JAR (基于Hive 0.9),包括在Shark发布包里。
- HDFS 集群:在这里不介绍如何安装,可以查看我的博文.
$ wget http://www.scala-lang.org/downloads/distrib/files/scala-2.9.3.tgz
部署细节:|http://spark-project.org/docs/latest/spark-standalone.html).也可以查看我翻译的博文。
$ wget http://spark-project.org/files/spark-0.7.2-prebuilt-hadoop1.tgz # Hadoop 1/CDH3
$ wget http://spark-project.org/files/spark-0.7.2-prebuilt-cdh4.tgz # Hadoop 2/CDH4
$ tar xvfz spark-0.7.2-prebuilt*.tgz
编辑 spark-0.7.2/conf/slaves添加集群中Slaves的主机名称,每一行对应一个Salve。
编辑spark-0.7.2/conf/spark-env.sh设置SCALA_HOME和SPARK_WORKER_MEMORY
export SCALA_HOME=/path/to/scala-2.9.3
export SPARK_WORKER_MEMORY=16g
SPARK_WORKER_MEMORY 是Spark在每一个节点上可用内存的最大,增加这个数值可以在内存中缓存更多的数据,但是一定要记住给Slave的操作系统和其他服务预留足够的内存。
Shark
下载Shark 0.2.1发布包,里边包括 shark-0.2.1和hive-0.9.0-bin.
$ wget http://spark-project.org/download/shark-0.7.0-hadoop1-bin.tgz # Hadoop 1/CDH3
或者
$ wget http://spark-project.org/download/shark-0.7.0-hadoop2-bin.tgz # Hadoop 2/CDH4
解压缩:
$ tar xvfz shark-0.7.0-*-bin.tgz
编辑shark-0.7.0/conf/shark-env.sh设置HIVE_HOME, SCALA_HOME和MASTER环境变量(参考如下):
export HADOOP_HOME=/path/to/hadoop
export HIVE_HOME=/path/to/hive-0.9.0-bin
export MASTER=spark://<MASTER_IP>:7077
export SPARK_HOME=/path/to/spark
export SPARK_MEM=16g
source $SPARK_HOME/conf/spark-env.sh
(source命令通常用于重新执行刚修改的初始化文件,使之立即生效)
最后一行是为了避免重复设置SCALA_HOME。一定要确保SPARK_MEM的数值不能超过前面设置的SPARK_WORKER_MEMORY的数值.
cp /etc/hive/conf/*.xml /path/to/hive-0.9.0-bin/conf/
复制 Spark和 Shark目录到所有的slaves.前提是master的用户可以实现无密码SSH登录到所有的slaves.例如:
$ rsync -Pav spark-0.7.2 shark-0.7.0 $slave_host
$ done < /path/to/spark/conf/slaves
The newest versions of require additional configuration options.
新版本的Hadoop需要额外的配置选项。在Hive的配置文件(hive-site.xml)中进行配置:
- fs.default.name: 指向HDFS 的namenode.例如:hdfs://myNameNode:8020/
- fs.defaultFS: 和fs.default.name设置为同样值。
- mapred.job.tracker:设置为JobTracker,格式为host:port。如果仅仅运行Spark可以设置为"NONE"。注意:一定要明确设置这个选项,即使不使用JobTracker.
使用下面的命令,创建一个简单的表格就可以确认一下Shark是否可以运行。
CREATE TABLE src(key INT, value STRING);
LOAD DATA LOCAL INPATH '${env:HIVE_HOME}/examples/files/kv1.txt' INTO TABLE src;
CREATE TABLE src_cached AS SELECT * FROM SRC;
SELECT COUNT(1) FROM src_cached;
如何在集群上运行Shark相关推荐
- 在生产集群上运行topology
2019独角兽企业重金招聘Python工程师标准>>> 在生产集群上运行topology 博客分类: 分布式计算 在生产集群上运行topology跟本地模式差不多.下面是步骤: 1) ...
- pythonspark集群模式运行_有关python numpy pandas scipy 等 能在YARN集群上 运行PySpark
有关这个问题,似乎这个在某些时候,用python写好,且spark没有响应的算法支持, 能否能在YARN集群上 运行PySpark方式, 将python分析程序提交上去? Spark Applicat ...
- 从认证到调度,K8s 集群上运行的小程序到底经历了什么?
作者 | 声东 阿里云售后技术专家 导读:不知道大家有没有意识到一个现实:大部分时候,我们已经不像以前一样,通过命令行,或者可视窗口来使用一个系统了. 前言 现在我们上微博.或者网购,操作的其实不是 ...
- 在local模式下的spark程序打包到集群上运行
一.前期准备 前期的环境准备,在Linux系统下要有Hadoop系统,spark伪分布式或者分布式,具体的教程可以查阅我的这两篇博客: Hadoop2.0伪分布式平台环境搭建 Spark2.4.0伪分 ...
- spark在集群上运行
1.spark在集群上运行应用的详细过程 (1)用户通过spark-submit脚本提交应用 (2)spark-submit脚本启动驱动器程序,调用用户定义的main()方法 (3)驱动器程序与集群管 ...
- anaconda3环境整体打包放在Spark集群上运行
一.将虚拟Python环境打包 创建好环境后,进入到环境所在的文件夹,例如环境是/home/hadoop/anaconda3/envs, cd到envs下,使用打包命令将当前目录下的文件打成zip包: ...
- 小白学习Spark03-在集群上运行Spark
03 在集群上运行Spark 3.1 Spark运行架构 3.1.1 驱动器节点 3.1.2 执行器节点 3.1.3 集群管理器 3.1.4 启动Spark程序 3.1.5 小结 3.2 使用spar ...
- MapReduce作业在Hadoop完全分布式集群上运行的问题与思考(持续更新)
1.集群已搭建好且通过了WordCount测试,但是在eclipse上开发的程序却仍然是只在namenode上运行 不知道是不是没有配置好eclipse上的Map/Reduce Locations,个 ...
- Flink学习笔记04:将项目打包提交到Flink集群上运行(Scala版)
文章目录 一.创建Maven项目 - ScalaWordCount 三.利用mvn命令打包Maven项目 三.上传项目jar包到Flink集群主节点 四.启动Flink Standalone集群 五. ...
最新文章
- C#WinForm的线程及Invoke应用(转)
- RetinaFace,最强开源人脸检测算法
- locate和find命令
- 现在为什么面对着人多,陌生人的时候会紧张?
- 3389端口远程终端服务的全攻略
- dbgrideh的功能
- 制图折断线_甲级设计院CAD制图技巧与画法讲解! 超实用,值得你收藏~
- SQL 内置排名函数 DENSE_RANK
- linux释放内存后设备起不来,Linux-Memory小记
- 025_MapReduce样例Hadoop TopKey算法
- 贺州计算机学院,贺州学院
- 蓝鲸ERP标准版-进销存-采购管理子系统操作说明1
- 基于LInuxc语言TCP聊天服务端程序实现私聊,以及群聊和私聊的转换
- ProxmoxVE6.2 Bond配置
- MTK开发之cpu核开关与频率调节
- Matlab - 产生高斯噪声
- 以前开发中的一些记录
- CHECKBOX用法
- 用脚本批量消除视频噪声
- 区块链技术背景下数字音频商业模式变革的逻辑 - 基于云听、喜马拉雅FM和CastBox的对比分析
热门文章
- “玲珑杯”ACM 热身赛 # 2.5 A-B (数论)
- “财界奥斯卡”CGMA全球管理会计2021年度中国大奖榜单揭晓
- 90后电子工程师暴力拆解“华强北版AirPods”
- HTML爱心代码 | 《点燃我温暖你》中男主角——理工男李峋同款
- 华硕zx50j笔记本 拆机教程 换风扇教程
- mysql get seq no_mysql的存储怎么写?帮我看看我这个写的哪里有问题?谢谢
- 微软 人立方:背后原理_时间到了:微软终于杀了我的人
- 本机不装Oracle,远程访问服务器上Oracle教程
- RNA-seq连特异性
- 杨辉三角的c语言实现