Shark Hive Spark Hadoop2 环境搭建
本帖最后由 xioaxu790 于 2014-7-14 14:27 编辑问题导读
1、如何配置Scala?
2、如何配置Shark Hive SparkHadoop2 单机运行环境?
static/image/hrline/4.gif
前言
本文主要介绍Shark Hive SparkHadoop2 单机运行环境的搭建。先简单对各个系统进行简单的介绍。
Hadoop2是一个分布式的存储和计算的生态系统。本文主要使用它的分布式存储。
Hive是Hadoop生态系统的一部分,用户编写类sql(HQL)语句之后再由hive进行转化成不同的map-reduce任务提交给hadoop来执行。
Spark是一个分布式的内存计算系统,这里主要充当分布式计算部分,比Hadoop中的map-reduce速度更快。
Shark是一个兼容hive的功能,速度比hive快的多,并在Spark之上运行的系统。它把HQL转化成很多个小任务在spark上执行。
准备
各个系统的版本:
Spark 0.8.1
Shark 0.8.1
Hive 0.9.0
Hadoop2-CDH4.3
Scala-0.9.3
名称 下载地址
Spark 0.8.1
下载地址
Shark 0.8.1
下载地址
Hive 0.9.0
下载地址
Hadoop2-CDH4.3
下载地址
Scala 0.9.3
下载地址
配置
Scala: 下载之后配置到环境变量中,此处略
hadoop2:
#core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/yourlocal</value>
</property>
</configuration>
#hadoop-env.sh
....
export JAVA_HOME=$JAVA_HOME #本机的jdk路径
....
#yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
<description>shuffle service that needs to be set for Map Reduce to run </description>
</property>
</configuration>
#mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
spark:
$cd $YOUR_SPARK_HOME/
$vim conf/spark-env.sh
修改spark-env.sh
export SCALA_HOME=$YOUR_SCALA_HOME
export JAVA_HOME=$YOUR_JAVA_HOME
export SPARK_MASTER_IP=$YOUR_MASTER_HOST
export SPARK_MASTER_PORT=$YOUR_MASTER_PORT
export SPARK_WORKER_CORES=1
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_INSTANCES=1
export SPARK_JAVA_OPTS="-verbose:gc -XX:-PrintGCDetails -XX:+PrintGCTimeStamps"
export HADOOP_HOME=$YOUR_HADOOP_HOME
Hive:
如果使用mysql保存hive的元数据相关信息,需要拷贝mysql-connector-java-3.1.13-bin.jar 到$HIVE_HOME/lib 目录下。
#cd $YOUR_HIVE_HOME
#cp conf/hive-env.sh.template conf/hive-env.sh
#cp conf/hive-default.xml.template conf/hive-site.xml
#vim conf/hive-env.sh
修改hive-env.xml
....
HADOOP_HOME=$YOUR_HADOOP2_HOME
....
修改hive-site.xml
.....
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/SHARK_DATABASE?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>shark</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>shark</value>
<description>password to use against metastore database</description>
</property>
......
Shark:
#cd $YOUR_SHARK_HOME
#cp conf/shark-env.sh.template conf/shark-env.sh
#vim conf/shark-env.sh
修改shark-env.sh
......
export SCALA_HOME=$YOUR_SCALA_HOME
export HIVE_HOME=$YOUR_HIVE_HOME
export HADOOP_HOME=$YOUR_HADOOP_HOME
export SPARK_HOME=$YOUR_SPARK_HOME
export MASTER=spark://localhost:8888
......
启动并测试
#cd $YOUR_HADOOP_HOME
#bin/hadoop namenode -format
#sbin/start-alll.sh
#cd $YOUR_SPARK_HOME
#bin/start-all.sh
#cd $YOUR_SHARK_HOME
#bin/shark
Starting the Shark Command Line Client
......
......
shark>show databases;
shark>create database SHARK_DB;
shark>use SHARK_DB;
shark>create table tbl_test(ID STRING);
搭建完毕。
----DONE----
页:
[1]