这里是三节点的安装部署,推荐内存2G及以上,cpu最少一核。
1.官网下载安装包
这里是2.0.2
先安装scala,下载安装包直接解压(tar命令),然后配置环境变量即可(参照jdk的环境变量),这里省略Hadoop的安装
2.解压安装包
tar zxvf spark-2.0.2-bin-hadoop2.7.tgz
3.修改配置文件
cd /root/spark-2.0.2/conf
mv spark-env.sh.template spark-env.sh
vi spark-env.sh
export JAVA_HOME=/root/jdk1.8
export SCALA_HOME=/root/scala-2.11.8
export SPARK_MASTER_IP=192.168.8.100
export SPARK_WORKER_MEMORY=2048m
export HADOOP_CONF_DIR=/root/hadoop-2.7.4/etc/hadoop
参数说明:
JAVA_HOME:配置java环境变量
SCALA_HOME:配置Scala环境变量
SPARK_MASTER_IP:配置master的地址
SPARK_WORKER_MEMORY:worker节点上,允许spark作业使用的最大内存量,格式为1000m,2g等,默认最小是1g内存
SPARK_MASTER_PORT:配置master的端口
HADOOP_CONF_DIR:指定Hadoop配置文件所在目录
cp slaves.template slaves
vi slaves
添加以下配置(从节点主机名)
node2
node3
slaves文件配置的是从节点的主机名,也就是Worker所在的节点
4.分发
将配置好的spark分发到其他节点
scp -r /root/spark-2.0.2 root@node2:/root
scp -r /root/spark-2.0.2 root@node3:/root
5.配置环境变量
vi /etc/profile
export SPARK_HOME=/root/spark-2.0.2
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
6.拷贝spark环境变量到其他节点
scp /etc/profile root@node2:/etc
scp /etc/profile root@node3:/etc
7.让所有节点的spark环境变量生效(三台都要执行)
source /etc/profile
8.启动集群
在主节点上执行
cd /root/spark-2.0.2/sbin
./start-all.sh
9.验证
访问http://192.168.8.100:8080,访问不了重启集群,再开启服务
10.sparksql整合hive
① 将hive-site.xml文件拷贝到Spark的conf目录下
cp /root/apache-hive-1.2.1-bin/conf/hive-site.xml /root/spark-2.0.2-bin-hadoop2.7/conf
② 拷贝mysql的jar包到jars目录下(mysql-connector-java-5.1.32.jar)
③ 验证
先启动hadoop,再启动spark。启动成功后执行命令:
./spark-sql \
--master spark://node1:7077 \
--executor-memory 1g \
--total-executor-cores 2 \
--conf spark.sql.warehouse.dir=hdfs://node1:9000/user/hive/warehouse