Spark Standalone集群安装及测试案例

Spark Standalone集群安装及测试案例

一、实验环境


在这里插入图片描述

二、总体步骤


  1. 准备至少3台主机
  2. 修改主机名称及IP与主机名的映射关系(3台主机都需要操作)
  3. 做免密登录操作(3台主机都需操作),如已做过,则可删除重新生成
  4. 在作为master节点的主机上对spark进行配置
  5. 需要将master节点上配置好的spark环境拷贝到worker主机上
  6. 启动spark集群(在主机节点上执行start-all.sh)
  7. 检查是否部署成功,如下步骤:
    • 检查进程:
      主节点:Master
      从节点:Worker
    • 访问SparkUI界面:http://ip|主机名:8080
    • 注意事项:
      如果需要主机名+端口号方式访问UI的话,需要做配置
      即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
      C盘下:Window->System32->driver->etc/hosts
  8. 运行测试,演示wordcount

三、详细步骤


  1. 准备至少3台主机
    这里使用的是虚拟机,三台虚拟机主机,如下所示:
    在这里插入图片描述

  2. 修改主机名称及IP与主机名的映射关系3台主机都需要操作

    • 执行命令修改主机名称:
      hostnamectl --static set-hostname hadoop004
    • 编辑/etc/hosts文件,在文件末尾添加如下信息:
      192.168.76.129 hadoop002
      192.168.76.128 hadoop003
      192.168.76.132 hadoop004
      
             
             
              
              
        注意三台虚拟机主机配置的内容都一样
    • 做免密登录操作3台主机都需操作),如已做过,则可删除重新生成

       ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可)
       cd ~/.ssh/
       ssh-copy-id -i id_rsa.pub root@hadoop002
       ssh-copy-id -i id_rsa.pub root@hadoop003
       ssh-copy-id -i id_rsa.pub root@hadoop004
      
           
           
            
            

        注意三台主机都需要操作

      • 在Master节点的主机(hadoop002)上配置,进入到Spark的安装目录下的conf目录下

        • 修改配置文件:spark-env.sh (事先不存在需要创建或者复制得到)
          export JAVA_HOME=/training/jdk1.8.0_171
          export SPARK_MASTER_HOST=hadoop002
          export SPARK_MASTER_PORT=7077
          #history 配置历史服务
          export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
          
                 
                 
                  
                  
            注意:history目录需要事先创建
          • 修改slaves文件(事先不存在,需要创建或者复制模板文件得到),将localhost改成从节点的主机名,如下:
            复制模板文件得到:cp slaves.template slaves
            hadoop003
            hadoop004
            
                   
                   
                    
                    
            • 复制spark-defaults.conf.template为spark-defaults.conf,并添加如下内容:
              spark.eventLog.enabled           true
              spark.eventLog.dir               /training/spark-2.4.8-bin-hadoop2.7/logs
              
                     
                     
                      
                      
            • 需要将master节点上配置好的spark环境拷贝到worker主机上,执行如下命令:

              scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/
              scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
              
                   
                   
                    
                    
              • 启动spark集群,在主机节点上进入到spark的安装目录的sbin,执行:
                ./start-all.sh

              • 检查是否部署成功,如下步骤:

                扫描二维码关注公众号,回复: 16924391 查看本文章
                • 检查进程,存在以下进程说明配置成功:
                  主节点:Master
                  从节点:Worker
                • 访问SparkUI界面:http://ip|主机名:8080
                  在这里插入图片描述
                • 注意事项
                  如果需要主机名+端口号方式访问UI的话,需要做配置
                  即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
                  C盘下:Window->System32->driver->etc/hosts
              • 运行测试,演示wordcount

                • 准备测试数据:
                  在主节点(hadoop002)上的在/tools目录下新建文件word.txt,添加如下内容:
                  I love Guizhou
                  I love Guiyang
                  Guiyang is the capital of Guizhou
                  
                         
                         
                          
                          
                  • 将word.txt文件发送到从节点(hadoop003和hadoop004)对应的目录下,执行:
                    scp -r word.txt root@hadoop003:/tools/
                    scp -r word.txt root@hadoop004:/tools/
                    
                           
                           
                            
                            
                    • 启动spark-shell,进入到spark安装目录的bin目录下,执行:
                      ./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
                      启动成功后,看到如下界面:
                      在这里插入图片描述
                    • 编写并运行如下代码,回车运行
                      sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc") 
                      
                             
                             
                              
                              
                        或者执行:
                        sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
                        
                               
                               
                                
                                
                        • 查看结果文件:进入到从节点hadoop003下的/tools/results/spark/wc目录下,看到如下文件:
                          在这里插入图片描述
                          进入到_temporary目录下,看到只有一个目录名称为0的目录,进入目录0下,看到如下:
                          在这里插入图片描述
                          进入上图红色框下的目录下,看到如下问文件:
                          在这里插入图片描述
                          其中part-00000就是结果文件,查看文件内容:
                          在这里插入图片描述
                          在从节点hadoop004下执行上述相同操作,会看到结果文件为part-00001,内容如下所示:
                          在这里插入图片描述
                          至此,全部过程已完结!!!!收工了!!!

                      Spark Standalone集群安装及测试案例

                      一、实验环境


                      在这里插入图片描述

                      二、总体步骤


                      1. 准备至少3台主机
                      2. 修改主机名称及IP与主机名的映射关系(3台主机都需要操作)
                      3. 做免密登录操作(3台主机都需操作),如已做过,则可删除重新生成
                      4. 在作为master节点的主机上对spark进行配置
                      5. 需要将master节点上配置好的spark环境拷贝到worker主机上
                      6. 启动spark集群(在主机节点上执行start-all.sh)
                      7. 检查是否部署成功,如下步骤:
                        • 检查进程:
                          主节点:Master
                          从节点:Worker
                        • 访问SparkUI界面:http://ip|主机名:8080
                        • 注意事项:
                          如果需要主机名+端口号方式访问UI的话,需要做配置
                          即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
                          C盘下:Window->System32->driver->etc/hosts
                      8. 运行测试,演示wordcount

                      三、详细步骤


                      1. 准备至少3台主机
                        这里使用的是虚拟机,三台虚拟机主机,如下所示:
                        在这里插入图片描述

                      2. 修改主机名称及IP与主机名的映射关系3台主机都需要操作

                        • 执行命令修改主机名称:
                          hostnamectl --static set-hostname hadoop004
                        • 编辑/etc/hosts文件,在文件末尾添加如下信息:
                          192.168.76.129 hadoop002
                          192.168.76.128 hadoop003
                          192.168.76.132 hadoop004
                          
                                 
                                 
                                
                                
                            注意三台虚拟机主机配置的内容都一样
                        • 做免密登录操作3台主机都需操作),如已做过,则可删除重新生成

                           ssh-keygen -t rsa (执行命令后,只需连续敲三次回车键即可)
                           cd ~/.ssh/
                           ssh-copy-id -i id_rsa.pub root@hadoop002
                           ssh-copy-id -i id_rsa.pub root@hadoop003
                           ssh-copy-id -i id_rsa.pub root@hadoop004
                          
                               
                               
                              
                              

                            注意三台主机都需要操作

                          • 在Master节点的主机(hadoop002)上配置,进入到Spark的安装目录下的conf目录下

                            • 修改配置文件:spark-env.sh (事先不存在需要创建或者复制得到)
                              export JAVA_HOME=/training/jdk1.8.0_171
                              export SPARK_MASTER_HOST=hadoop002
                              export SPARK_MASTER_PORT=7077
                              #history 配置历史服务
                              export SPARK_HISTORY_OPTS="-Dspark.history.ui.port=18080 -Dspark.history.retainedApplications=30 -Dspark.history.fs.logDirectory=/training/spark-2.4.8-bin-hadoop2.7/history"
                              
                                     
                                     
                                    
                                    
                                注意:history目录需要事先创建
                              • 修改slaves文件(事先不存在,需要创建或者复制模板文件得到),将localhost改成从节点的主机名,如下:
                                复制模板文件得到:cp slaves.template slaves
                                hadoop003
                                hadoop004
                                
                                       
                                       
                                      
                                      
                                • 复制spark-defaults.conf.template为spark-defaults.conf,并添加如下内容:
                                  spark.eventLog.enabled           true
                                  spark.eventLog.dir               /training/spark-2.4.8-bin-hadoop2.7/logs
                                  
                                         
                                         
                                        
                                        
                                • 需要将master节点上配置好的spark环境拷贝到worker主机上,执行如下命令:

                                  scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop003:/training/
                                  scp -r /training/spark-2.4.8-bin-hadoop2.7/ root@hadoop004:/training/
                                  
                                       
                                       
                                      
                                      
                                  • 启动spark集群,在主机节点上进入到spark的安装目录的sbin,执行:
                                    ./start-all.sh

                                  • 检查是否部署成功,如下步骤:

                                    • 检查进程,存在以下进程说明配置成功:
                                      主节点:Master
                                      从节点:Worker
                                    • 访问SparkUI界面:http://ip|主机名:8080
                                      在这里插入图片描述
                                    • 注意事项
                                      如果需要主机名+端口号方式访问UI的话,需要做配置
                                      即在windows上进行虚拟机主机名与虚拟机IP地址映射关系
                                      C盘下:Window->System32->driver->etc/hosts
                                  • 运行测试,演示wordcount

                                    • 准备测试数据:
                                      在主节点(hadoop002)上的在/tools目录下新建文件word.txt,添加如下内容:
                                      I love Guizhou
                                      I love Guiyang
                                      Guiyang is the capital of Guizhou
                                      
                                             
                                             
                                            
                                            
                                      • 将word.txt文件发送到从节点(hadoop003和hadoop004)对应的目录下,执行:
                                        scp -r word.txt root@hadoop003:/tools/
                                        scp -r word.txt root@hadoop004:/tools/
                                        
                                               
                                               
                                              
                                              
                                        • 启动spark-shell,进入到spark安装目录的bin目录下,执行:
                                          ./spark-shell --master spark://hadoop002:7077 --executor-memory 1g --total-executor-cores 2
                                          启动成功后,看到如下界面:
                                          在这里插入图片描述
                                        • 编写并运行如下代码,回车运行
                                          sc.textFile("file:///tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("file:///tools/results/spark/wc") 
                                          
                                                 
                                                 
                                                
                                                
                                            或者执行:
                                            sc.textFile("/tools/word.txt").flatMap(_.split(" ")).map((_,1)).reduceByKey(_+_).saveAsTextFile("/tools/results/spark/wc")
                                            
                                                   
                                                   
                                                  
                                                  
                                            • 查看结果文件:进入到从节点hadoop003下的/tools/results/spark/wc目录下,看到如下文件:
                                              在这里插入图片描述
                                              进入到_temporary目录下,看到只有一个目录名称为0的目录,进入目录0下,看到如下:
                                              在这里插入图片描述
                                              进入上图红色框下的目录下,看到如下问文件:
                                              在这里插入图片描述
                                              其中part-00000就是结果文件,查看文件内容:
                                              在这里插入图片描述
                                              在从节点hadoop004下执行上述相同操作,会看到结果文件为part-00001,内容如下所示:
                                              在这里插入图片描述
                                              至此,全部过程已完结!!!!收工了!!!

                                          猜你喜欢

                                          转载自blog.csdn.net/weixin_41786879/article/details/126290651