前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spark 安装配置实验

Spark 安装配置实验

作者头像
用户1148526
发布2022-05-07 12:55:39
2630
发布2022-05-07 12:55:39
举报
文章被收录于专栏:Hadoop数据仓库

安装前准备 hadoop 2.7.2 安装,参考

http://blog.csdn.net/wzy0623/article/details/50681554

hive 2.0.0 安装,参考

http://blog.csdn.net/wzy0623/article/details/50685966

注:hive 2.0.0初始化需要执行下面的命令: $HIVE_HOME/bin/schematool -initSchema -dbType mysql -userName=root -passowrd=new_password 否则执行hive会报错: Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)

安装spark 1. 下载spark安装包,地址: http://spark.apache.org/downloads.html 下载页面如图1所示

图1

注:如果要用sparksql查询hive的数据,一定要注意spark和hive的版本兼容性问题,在hive源码包的pom.xml文件中可以找到匹配的spark版本。 2. 解压缩

代码语言:javascript
复制
tar -zxvf spark-1.6.0-bin-hadoop2.6.tgz 

3. 建立软连接

代码语言:javascript
复制
ln -s spark-1.6.0-bin-hadoop2.6 spark 

4. 配置环境变量

代码语言:javascript
复制
vi /etc/profile.d/spark.sh 
 # 增加如下两行 
 export SPARK_HOME=/home/grid/spark-1.6.0-bin-hadoop2.6 
 export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin 

5. 建立spark-env.sh

代码语言:javascript
复制
 cd /home/grid/spark/conf/ 
 cp spark-env.sh.template spark-env.sh 
 vi spark-env.sh 
 # 增加如下配置 
 export JAVA_HOME=/home/grid/jdk1.7.0_75 
 export HADOOP_HOME=/home/grid/hadoop-2.7.2 
 export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
 export SPARK_HOME=/home/grid/spark-1.6.0-bin-hadoop2.6 
 SPARK_MASTER_IP=master 
 SPARK_LOCAL_DIRS=/home/grid/spark 
 SPARK_DRIVER_MEMORY=1G 

6. 配置slaves

代码语言:javascript
复制
cd /home/grid/spark/conf/ 
 vi slaves 
 # 增加如下两行 
 slave1 
 slave2 

7. 将配置好的spark-1.6.0-bin-hadoop2.6文件远程拷贝到相对应的从机中:

代码语言:javascript
复制
 scp -r spark-1.6.0-bin-hadoop2.6 slave1:/home/grid/ 
 scp -r spark-1.6.0-bin-hadoop2.6 slave2:/home/grid/ 

8. 配置yarn

代码语言:javascript
复制
vi /home/grid/hadoop-2.7.2/etc/hadoop/yarn-site.xml
 # 修改如下属性
 <property>
     <name>yarn.nodemanager.resource.memory-mb</name>
     <value>2048</value>
 </property>
 

9. 启动集群

代码语言:javascript
复制
# 启动dfs 
 start-dfs.sh 
 # 启动yarn 
 start-yarn.sh 
 # 启动spark 
 $SPARK_HOME/sbin/start-all.sh

10. 启动完成后,查看主从机的进程和spark的UI,分别如图2、图3、图4所示 jps查看主机进程

图2 jps查看主从机进程

图3 http://192.168.17.210:8080/

图4 11. 测试

代码语言:javascript
复制
 # 把一个本地文本文件放到hdfs,命名为input 
 hadoop fs -put /home/grid/hadoop-2.7.2/README.txt input 
 # 登录spark的Master节点,进入sparkshell 
 cd $SPARK_HOME/bin 
 ./spark-shell  
 # 运行wordcount 
 val file=sc.textFile("hdfs://master:9000/user/grid/input")  
 val count=file.flatMap(line => line.split(" ")).map(word => (word,1)).reduceByKey(_+_) 
 count.collect()     

上面三条命令的执行分别如图5、图6、图7所示

图5

图6

图7

测试SparkSQL:

在$SPARK_HOME/conf目录下创建hive-site.xml文件,然后在该配置文件中,添加hive.metastore.uris属性,具体如下:

代码语言:javascript
复制
 <configuration> 
   <property>
     <name>hive.metastore.uris</name>
     <value>thrift://master:9083</value>
     <description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
   </property>
 </configuration>
 
# 启动hive metastore服务
 
hive --service metastore > /tmp/grid/hive_metastore.log 2>&1 &
 
# 启动SparkSQL CLI
 spark-sql --master spark://master:7077 --executor-memory 1g
 
# 这时就可以使用HQL语句对Hive数据进行查询
 
show databases;
 create table test;
 use test;
 create table t1 (name string);
 load data local inpath '/home/grid/a.txt' into table t1;
 select * from t1;
 select count(*) from t1;
 drop table t1;
 

SQL执行如图8所示

图8

做了一个简单的对比测试,300G数据时,sparksql比hive快近三倍,3T数据时,sparksql比hive快7.5倍。

参考: http://spark.apache.org/docs/latest/running-on-yarn.html

http://blog.csdn.net/u014039577/article/details/50829910

http://www.cnblogs.com/shishanyuan/p/4723604.html http://www.cnblogs.com/shishanyuan/p/4723713.html

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2016-03-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档