首先安装scala
scala-2.11.7下载
下载之后解压
tar -zxvf scala-2.11.7.tgz
解压之后删除源文件
rm -rf scala-2.11.7.tgz
配置环境
在此需要打开/etc/profile文件进行配置
vi /etc/profile
在文件的最后插入
export SCALA_HOME=/usr/scala-2.11.7
export PATH=$PATH:$SCALA_HOME/bin
插入了之后要使得命令生效,需要的是:
source /etc/profile
检测是否安装成功
scala -version
同步到其他机器 scp 可以参考https://www.cnblogs.com/lihuanghao/p/9338040.html
安装spark
下载解压缩:tar -zxvf spark-2.2.0-bin-hadoop2.7.tgz
重命名:mv spark-2.2.0-bin-hadoop2.7 spark-2.2.0
cd spark-2.2.0
此处需要配置的文件为两个
spark-env.sh和slaves
cp conf/spark-env.sh.template conf/spark-env.sh
在最尾巴加入
export JAVA_HOME=/data/bigdata/jdk1.8.0_172
export SCALA_HOME=/data/bigdata/scala-2.11.7
export HADOOP_HOME=/data/bigdata/hadoop-2.7.6
export HADOOP_CONF_DIR=/data/bigdata/hadoop-2.7.6/etc/hadoop
export SPARK_MASTER_IP=SparkMaster
export SPARK_WORKER_MEMORY=1g
export SPARK_WORKER_CORES=2
export SPARK_WORKER_INSTANCES=1
说明:
- JAVA_HOME:Java安装目录
- SCALA_HOME:Scala安装目录
- HADOOP_HOME:hadoop安装目录
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录
- SPARK_MASTER_IP:spark集群的Master节点的ip地址
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目
修改slaves
vi conf/slaves
node2
node3
将spark同步到各机器
scp -r /data/bigdata/ ....
启动
./sbin/start-all.sh
web页面:
SparkMaster_IP:8080
SparkMaster_IP:4040
附:
python 调用
vi a.py
from pyspark import SparkConf,SparkContext
from pyspark.sql import HiveContext
conf = SparkConf().setAppName("spark_sql_py")
sc = SparkContext(conf=conf)
hc = HiveContext(sc)
hc.sql("select substring_index(path,'?',1) as newpath,count(*) as num from dbjs_log group by newpath order by num desc").show()