Spark2.1.0集群部署

1、从官网下载2.1.0版本的Spark,spark-2.1.0-bin-hadoop2.7.tgz;

2、拷贝都集群中各个节点,解压到特定目录下;

3、启master服务:
# ./sbin/start-master.sh
 master服务启来之后可以看到master的URL地址(或者在日志中查看)
spark://Spark01:7077

4、启所有的Worker,并把worker链接都master上
# ./sbin/start-slave.sh 

5、访问master的web UI,在页面中可以看到集群中的woker及资源情况
http://172.20.13.36:8080/
访问具体worker的UI
http://172.20.13.43:8081/

6、启动spark-shell
# ./bin/spark-shell --master spark://Spark01:7077 --executor-memory 10000m --executor-cores 4
参数说明:
--master spark://Spark01:7077 指定Master的地址
--executor-memory10000m 指定每个worker可用内存为10G
--executor-cores 4  指定每个worker使用的cup核数为4个
注:启动shell的时候未制定资源,shell会占用全部的资源,之后在提交Job时没有资源可以执行。

7、SparkPi测试
# ./bin/run-example SparkPi spark://Spark01:7077
# ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master spark://Spark01:7077 /usr/local/spark-2.1.0-bin-hadoop2.7/examples/jars/spark-examples_2.11-2.1.0.jar
提交用户Job并指定使用的资源:
./bin/spark-submit  --master spark://Spark01:7077 --executor-memory 5000m --executor-cores 2 --class com.architect.spark.WordCount /root/spark-wordcount-1.0-SNAPSHOT.jar hdfs://Spark01:9000/wordcount/input hdfs://Spark01:9000/wordcount/out000

输入文件目录参数:hdfs://Spark01:9000/wordcount/input

输出目录参数:hdfs://Spark01:9000/wordcount/out000

8、Spark-SQL:Spark整合Hive

A)安装Hive

B)拷贝Hive的配置文件
拷贝$HIVE_HOME/conf/hive-site.xml文件到$SPARK_HOME/conf

C)新建文件文件:people.txt
1       user01  123456
2       user02  123456
3       user03  123456
4       user04  123456

D)Spark-shell中测试Hive,新建一个内部表,导入本地数据,查询数据
//实例化一个HiveContext
val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc) 
//新建一个内部表 
sqlContext.sql("CREATE TABLE IF NOT EXISTS people (id bigint, username string, password string) row format delimited fields terminated by '\t'"
//导入本地数据
sqlContext.sql("LOAD DATA LOCAL INPATH '/tmp/people.txt' INTO TABLE people"
//查询数据
sqlContext.sql("FROM people SELECT id,username").collect().foreach(println) 

E)Spark-shell中查看结果
[1,user01]
[2,user02]
[3,user03]
[4,user04]


你可能感兴趣的:(spark,大数据)