栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Spark组件维护

Spark组件维护

Spark组件维护
  • 1.scala安装
    • 安装 Spark
      • Spark shell 编程

1.scala安装

步骤一:解压 Scala 压缩文件并重命名
[wangheng02@master ~]# tar -zxvf /opt/software/scala-2.11.8.tgz -C /usr/local/src/
[wangheng02@master ~]# mv /usr/local/src/scala-2.11.8/ /usr/local/src/scala
分发scala到子节点
[wangheng02@master ~]# scp -r /usr/local/src/scala/ root@slave1:/usr/local/src/

[wangheng02@master ~]# scp -r /usr/local/src/scala/ root@slave2:/usr/local/src/

步骤二: 修改 scala 目录的用户权限
[wangheng02@master src]$ chown -R wangheng02.wangheng02 scala/

步骤三: 配置环境变量
[wangheng02@master ~]# vim /etc/profile
[wangheng02@slave1 ~]# vim/etc/profile
[wangheng02@slave2 ~]# vim /etc/profile
然后在键盘输入字母“i”或者“o”进入编辑模式,
export SCALA_HOME=/usr/local/src/scala
export PATH= P A T H : PATH: PATH:SCALA_HOME/bin

然后在键盘按“Esc”键退出编辑模式,并键盘输入“:wq”进行内容保存并退出,最后将该
“.bashrc”文件生效即可完成 scala 的环境配置。

切换到自己用户下
生效环境变量
[wangheng02@master root]$ source /etc/profile

步骤四: 验证 Scala 安装是否成功
如果配置了步骤三中的环境变量,可以直接在任意路径输入命令“scala -version”即可,
但是,整个实验中我们都是使用的绝对路径,所以,完成 scala 验证的命令为:
[wangheng02@master ~]$ cd /usr/local/scr/scala/bin
即可进入 bin 目录
输入 scala 进入 scala shell 交互编程界面:
[wangheng02@master bin]$ scala
scala>
然后退出 scala shell 的命令为:
scala>:quit
就可以退出 scala shell 交互编程界面。

安装 Spark

任务一:在 master 节点上安装 spark
步骤一:在 master 主节点上解压 Spark 安装包
[root@master ~]# tar -xzvf /opt/software/spark-2.4.7-bin-hadoop2.7.tgz -C /usr/local/src/

步骤二:修改 spark 目录的用户权限
[root@master ~]# chown -R wangheng02.wangheng02 /usr/local/src/spark-2.4.7-bin-hadoop2.7/

步骤三:Spark 解压后的重命名操作
[root@master ~]# mv /usr/local/src/spark-2.4.7-bin-hadoop2.7/ spark

步骤四:配置环境变量
[root@master ~]# vim /etc/profile
然后在键盘输入字母“i”或者“o”进入编辑模式,在文件中加入如下内容:
export SPARK_HOME=/usr/local/src/spark
export PATH= P A T H : PATH: PATH:SPARK_HOME/bin:$PATH

并在键盘输入“:wq”进行内容保存并退出,最后将修改过的“.bashrc”文件生效,命
令为:
[root@master ~]# su wangheng02
[wangheng02@master root]$ source /etc/profile

任务二:修改 Spark 参数
步骤一:修改 spark-env.sh
进入 Spark 的配置文件目录“conf”:
[wangheng02@master root]$ cd /usr/local/src/spark/conf/
将已有的文件“spark-env.sh.template”复制出来并命名为 spark-evn.sh:
[hadoop@master conf]$ cp /usr/local/src/spark/conf/spark-env.sh.template /usr/local/src/spark/conf/spark-env.sh
[hadoop@master conf]$ vim /usr/local/src/spark/conf/spark-env.sh
然后将下面所示内容加入到文件“spark-env.sh”中:
export JAVA_HOME=/usr/local/src/java
export HADOOP_HOME=/usr/local/src/hadoop
export SCALA_HOME=/usr/local/src/scala
export SPARK_MASTER_IP=master
export SPARK_MASTER_PORT=7077
export SPARK_DIST_CLASSPATH=$(/usr/local/src/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/src/hadoop/etc/hadoop
export SPARK_YARN_USER_ENV=“CLASSPATH=/usr/local/src/hadoop/etc/hadoop”
export YARN_CONF_DIR=/usr/local/src/hadoop/etc/hadoop

步骤二:配置 slaves 文件
在 master 节点上安装好后,需建立 master 节点与 slave1 和 slave2 节点的链接关系,所
以需将 spark 中的 conf 目录下的 slaves.template 文件重命名为 slaves
[wangheng02@master conf]$ cp /usr/local/src/spark/conf/slaves.template /usr/local/src/spark/conf/slaves

然后通过 vi 编辑器进入 slaves 文件
[wangheng02@master conf]$ vim slaves
其中,master、slave1、slave2 分别为主节点名和两从节点名

任务三:在两个 slaves 从节点上安装 Spark
步骤一:将 master 主节点上的 Spark 安装目录和.bashrc 环境变量复制到两个 slaves 从节点上
[wangheng02@master conf]$ scp -r /usr/local/src/spark/ @slave1:/usr/local/src/
[wangheng02@master conf]$ scp -r /usr/local/src/spark/ @slave2:/usr/local/src/
[wangheng02@master conf]$ scp /etc/profile root@slave1:/etc/
[wangheng02@master conf]$ scp /etc/profile root@slave2:/etc/

切换到slave1,slave2,生效环境变量
[wangheng02@slave1 ~]$ source /etc/profile
[wangheng02@slave2 ~]$ source /etc/profile

任务四:运行示例
步骤一:启动 Hadoop 集群
[wangheng02@master ~]$ zkServer.sh start
[wangheng02@slave1 ~]$ zkServer.sh start
[wangheng02@slave2 ~]$ zkServer.sh start
[hadoop@master spark]$ cd /usr/local/src/hadoop/sbin/
[hadoop@master sbin]$ ./start-all.sh

步骤二:以集群模式运行 SparkPi 实例程序
在 master 节点上启动 SparkPi 实例程序,如下所示:
[wangheng02@master sbin]$ cd /usr/local/src/spark/
切换到hadoop下配置文件 yarn-site.xml

[wangheng02@master spark]$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn --deploy-mode client --driver-memory 512M --executor-memory 512M --executor-cores 1 examples/jars/spark-examples_2.11-2.4.7.jar 40

Spark shell 编程

任务一:在 Yarn 集群管理器上运行 spark-shell
[wangheng02@master spark]$ cd /usr/local/src/spark/bin/
[wangheng02@master bin]$ ./spark-shell --master yarn --deploy-mode client

任务二:在 spark-shell 上运行一个 WordCount 案例
步骤一:通过加载文件新建一个 RDD
[wangheng02@master ~]$ cd /usr/local/src/spark
[wangheng02@master spark]$ hdfs dfs -put README.md /

通过加载 README.md 文件新建一个 RDD:
scala> val textFile=sc.textFile("/README.md")

步骤二:对 RDD 进行 actions 和 transformations 操作
下面我们就来演示 actions 动作操作中的 first()和 count()两个操作,如下所示

scala> textFile.first() #查看 textFile 中的第一条数据
scala> textFile.count() #统计 textFile 中的单词总数

接着演示 transformations 转换操作,运行代码如下所示:
scala> val wordcount=textFile.flatMap(line=>line.split(",")).map(word=>(word,1)).reduceByKey(+)

其中,reduceByKey(+)是 reduceByKey((x,y)=>x+y)的简化写法,同样是寻找相同
key 的数据,当找到这样的两条记录时会对其 value 求和,只是不指定将两个 value 存入 x
和 y 中,同样只保留求和之后的数据作为 value。反复执行这个操作直至每个 key 只留下
一条记录。以上四种方式等价。然后通过 collect 操作将远程数据通过网络传输到本地进行
词频统计:

scala> wordcount.collect()

collect()方法得到的结果是一个 list,然后可以通过 foreach()方法遍历 list 中的每一个
元组数据并返回其结果,如下所示:
scala> wordcount.collect().foreach(println)

注意:在 spark shell 交互式编程环境下,如果代码一行放不下,可以在圆点后回车,
在下一行继续输入
结束之后退出 spark-shell
scala>:q

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/316129.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号