设为首页 收藏本站
查看: 2163|回复: 0

[经验分享] spark集群详细搭建过程及遇到的问题解决(三)

[复制链接]

尚未签到

发表于 2019-1-30 13:01:29 | 显示全部楼层 |阅读模式
  上篇文章中讲完了如何配置免密码登录的问题,现在讲述下,三个节点的环境配置过程。
  所需要的hadoop-2.7.3.tar.gz 、 jdk-7u79-linux-x64.tar.gz 、 scala-2.11.6.tgz 、 spark-2.0.1-bin-hadoop2.7.tgz 可以点击这里获取,资源存放在百度云盘。
  

  首先需要在三个节点中分别创建spark目录

  

  master节点、worker1节点、worker2节点同时执行:下面以master节点为例,部分操作worker1与worker2不需要执行,不需要worker1,worker2执行的将给出注释,请仔细看清。
spark@master:~/.ssh$ cd ..
spark@master:~$ mkdir spark

  注意所创建的spark目录属于spark用户,hadoop组
spark@master:~$ cd spark/  在这里要介绍一个工具winSCP,功能是能够在windows 与ubuntu 之间传递文件,之所以不推荐使用lrzsz包中的rz 进行传递是因为rz只能够传递比较小的文件,对于大的文件,使用这个将会传递失败,有趣的是可以使用命令sudo rz 进行传递,但是,当上传之后,你可以看到所上传的文件所属的用户将变成了root,这将会导致后面配置的错误。因此,必须使用winSCP进行传递。winSCP也在刚才的百度云盘中。
  
  上图显示了winSCP工具界面,根据自己的文件目录进行上传,或者可以直接拖
  依次对上传的包进行解压,注意:在worker1和worker2中只需上传jdk-7u79-linux-x64.tar.gz 、 scala-2.11.6.tgz ,而在master中则要全部上传四个文件
spark@master:~/spark$ tar -zxvf hadoop-2.7.3   #只在master节点执行spark@master:~/spark$ tar -zxvf jdk-7u79-linux-x64.tar.gz   #三个节点都要执行spark@master:~/spark$ tar -zxvf scala-2.11.6.tgz    #三个节点都要执行spark@master:~/spark$ tar -zxvf spark-2.0.1-bin-hadoop2.7.tgz    #只在master节点执行  解压之后,为方便调用,建立软连接
spark@master:~/spark$ ln -s hadoop-2.7.3 hadoop    #只在master节点执行
spark@master:~/spark$ ln -s jdk1.7.0_79/ jdk       #三个节点都要执行
spark@master:~/spark$ ln -s scala-2.11.6 scala      #三个节点都要执行
spark@master:~/spark$ ln -s spark-2.0.1-bin-hadoop2.7 spark    #只在master节点执行

  切换到root下进行环境配置
spark@master:~/spark$ sudo su
[sudo] password for spark:
root@master:/home/spark/spark# vim /etc/profile  在文件最底部添加:
export JAVA_HOME=/home/spark/spark/jdk      #三个节点都要添加
export SCALA_HOME=/home/spark/spark/scala     #三个节点都要添加
export HADOOP_HOME=/home/spark/spark/hadoop   #三个节点都要添加
export SPARK_HOME=/home/spark/spark/spark      #三个节点都要添加
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$SCALA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$SPARK_HOME/bin  保存,使其生效,并退回到spark用户

root@master:/home/spark/spark# source /etc/profile
root@master:/home/spark/spark# exit
exit
spark@master:~/spark$  至此可以查看下java环境,scala,hadoop 环境是否已经安装成功

spark@master:~/spark$ java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)  java环境已经配置成功
spark@master:~/spark$ scala -version
Scala code runner version 2.11.6 -- Copyright 2002-2013, LAMP/EPFL  scala已经配置成功
  

  至此上述是三个节点同时执行的。
  

  接下来,master节点上的配置
spark@master:~/spark$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /home/spark/spark/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar  hadoop环境成功
  

  接下来开始配置hadoop
spark@master:~/spark$ cd hadoop/etc/hadoop/
spark@master:~/spark/hadoop/etc/hadoop$  vim slaves  删除里面内容,并添加一下内容:

  保存即可

  依照下述命令进行文件的更改
spark@master:~/spark/hadoop/etc/hadoop$ vim hadoop-env.sh  添加或更改文件中相关的变量,本人在这个地方踩了不少坑,如果不添加,会在后面报错。


  添加完毕后,记得保存。
spark@master:~/spark/hadoop/etc/hadoop$ vim core-site.xml  添加内容到
  内容
  内容如下:


        fs.default.name
        hdfs://master:9000
        The name of the default file system.  A URI whose scheme and authority determine the FileSystem implementation.  The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem.
        
   

        hadoop.tmp.dir
        /home/spark/spark/hadoop/tmp
        A base for other temporary directories.
    spark@master:~/spark/hadoop/etc/hadoop$ vim hdfs-site.xml添加内容到
内容
内容如下:

        dfs.replication
        3
        Default block replication.The actual number of replications can be specified when the file iscreated.The default is used if replication is not specified in create time.
        
    spark@master:~/spark/hadoop/etc/hadoop$ vim yarn-site.xml添加内容到
内容
内容如下:

        yarn.resourcemanager.hostname
        master


        yarn.nodemanager.aux-services
        mapreduce_shuffle
spark@master:~/spark/hadoop/etc/hadoop$ vim mapred-site.xml
spark@master:~/spark/hadoop/etc/hadoop$ cp mapred-site.xml.template mapred-site.xml添加内容到
内容
内容如下:  然后执行cp mapred-site.xml.template mapred-site.xml

   mapreduce.framework.name
     yarn
       The runtime framework for executing MapReduce jobs.
         Can be one of local, classic or yarn.默认是local,适合单机
      
  spark@master:~/spark/hadoop/etc/hadoop$ vim yarn-site.xml添加内容到
内容
内容如下:

        yarn.resourcemanager.hostname
        master


        yarn.nodemanager.aux-services
        mapreduce_shuffle
spark@master:~/spark/hadoop/etc/hadoop$ vim yarn-env.sh  添加以下内容在文件中地开始
export JAVA_HOME=/home/spark/spark/jdk
export YARN_PID_DIR=/home/spark/spark/hadoop/tmp/pid

  保存文件,注意有些hadoop参考可能会提前将 /home/spark/spark/hadoop/tmp 文件夹建好,但在此版本中不需要提前创建,,因为在hadoop初始化时,会自动创建,若是提前创建,则有可能会在启动hadoop集群时报错!
  

  

  切换到worker1节点中

  执行
spark@worker1:~/spark$ scp -r spark@master:/home/spark/spark/hadoop ./hadoop  注意:./hadoop,代表将master中spark用户下的/home/spark/spark/hadoop复制为hadoop,此名称要跟之前在/etc/profile中设置的hadoop环境变量名称一致。
  在worker1中做下测试。
spark@worker1:~/spark$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /home/spark/spark/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar  显示成功
  

  切换到worker2节点中
spark@worker2:~/spark$ scp -r spark@master:/home/spark/spark/hadoop ./hadoop  

  在worker2下做下测试。
spark@worker2:~/spark$ hadoop version
Hadoop 2.7.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /home/spark/spark/hadoop/share/hadoop/common/hadoop-common-2.7.3.jar  显示成功
  

  

  初始化hadoop集群
spark@master:~/spark/hadoop/etc/hadoop$ hadoop namenode -format

  若红色方框中的status为0则代表初始化成功,若为1,则为失败
  启动集群
spark@master:~/spark/hadoop/etc/hadoop$ $HADOOP_HOME/sbin/start-all.sh

  然后在浏览器中输入 http://master_ip:50070/   master_ip代表master的ip地址端口号为50070
  





  至此,hadoop集群已全部安装完毕。
  
  我们将在下一篇文章中,进一步安装spark集群。。。。




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-669641-1-1.html 上篇帖子: 如何在Spark集群的work节点上启动多个Executor? 下篇帖子: Spark如何处理中文字符串
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表