实验内容包含以下几点:
- 安装Scala
- 安装spark
- 使用spark shell
- a//读取本地文件
- b// 读取hdfs文件
- c//编写wordcount程序
- 额外附加安装sbt打包,实现词频统计
-
centos7机器信息:
-
192.168.189.135 bigdata128
192.168.189.136 bigdata129
192.168.189.137 bigdata131
1、安装Scala
下载地址:https://www.scala-lang.org/download/
上传linux系统(略)
解压:tar zxvf scala-2.12.8.tgz
重命名:mv scala-2.11.8 scala
环境变量配置:vi /etc/profile
添加如下:(export SCALA_HOME=/root/scala //你Scala包解压后的地址)
#scala
export SCALA_HOME=/root/scala
export PATH=$SCALA_HOME/bin:$PATH
:wq!保存退出,执行如下命令,使更改生效
source /etc/profile
执行 : scala
出现下列信息,则安装成功!
Welcome to Scala 2.11.8 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_111).
Type in expressions for evaluation. Or try :help.
安装完成之后,安装同样的步骤安装到另外两台slave机器上!!!
2、安装spark
下载spark:http://mirrors.tuna.tsinghua.edu.cn/apache/spark/spark-2.4.2/spark-2.4.2-bin-hadoop2.7.tgz
上传linux系统(略)
解压:tar -zxvf spark-2.4.2-bin-hadoop2.7.tgz
重命名:mv spark-2.4.2-bin-hadoop2.7 spark
修改添加配置文件:vi /etc/profile
#根据自己解压的文件路径变换
export SPARK_HOME=/opt/module/spark
export PATH=$PATH:$SPARK_HOME/bin
生效:source /etc/profile
修改:spark-env.sh
进入spark安装目录操作(spark)
cp conf/spark-env.sh.template conf/spark-env.sh
vi conf/spark-env.sh
#Java环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_121
#Scala环境变量
export SCALA_HOME=/root/scala
#Hadoop环境变量
export HADOOP_HOME=/opt/module/hadoop-2.7.3/
#定义管理端口
export SPARK_MASTER_WEBUI_PORT=8080
#定义master域名和端口
export SPARK_MASTER_HOST=spark-master
export SPARK_MASTER_PORT=7077
#定义master的地址slave节点使用
export SPARK_MASTER_IP=spark-master
#定义work节点的管理端口.work节点使用
export SPARK_WORKER_WEBUI_PORT=8080
#每个worker节点能够最大分配给exectors的内存大小
export SPARK_WORKER_MEMORY=4g
配置slaves:
cp conf/slaves.template conf /slaves
vi conf/slaves
添加:(三台虚拟机的主机名)
bigdata128
bigdata129
bigdata131
修改spark-defaults.conf:
vi conf/spark-defaults.conf
spark.eventLog.enabled=true
spark.eventLog.compress=true
#保存于本地
#spark.eventLog.dir=file://opt/module/hadoop-2.7.3/logs/userlogs
#spark.history.fs.logDirectory=file://opt/module/hadoop-2.7.3/logs/userlogs
#保存于hdfs
spark.eventLog.dir=hdfs://bigdata128:9000/tmp/logs/root/logs
spark.history.fs.logDirectory=hdfs://bigdata128:9000/tmp/logs/root/logs
spark.yarn.historyServer.address=spark-master:18080
启动spark:(由于脚本名和Hadoop启动脚本名一致,所以在spark安装目录中启动时指定sbin目录)
sbin/start-all.sh
出现如下,即成功(执行jps,主节点上多了master和Worker两个节点):
starting org.apache.spark.deploy.master.Master, logging to /opt/module/spark/logs/spark-root-org.apache.spark.deploy.master.Master-1-bigdata128.out
bigdata129: star