spark-hadoop集群搭建与测试(2019.02.20) 完全分布式

电脑配置  内存最少8G

如果你的电脑有固态,我们就可以起飞了。。。

 

使用到的工具:

VMware-workstation-full-14.1.1.exe

ubuntu-18.04.1.0-live-server-amd64.iso

jdk1.8.0_161.tar.gz

hadoop-2.7.7.tar.gz

scala-2.11.12.tgz

spark-2.4.0-bin-hadoop2.7.tgz

 

别去找了,给你们准备好了:spark-hadoop集群搭建全套工具

下载地址: https://download.csdn.net/download/qq_36405484/10964797

另一个集群搭建文档(网上下载的):建议配合食用

链接:https://pan.baidu.com/s/1YnVN2REn0sPg02Yc3GJBUw 
提取码:93uz 

 

我在VMware-workstation中搭建了三台虚拟机

ubuntu1              192.168.142.131

ubuntu2              192.168.142.132

ubuntu3              192.168.142.133

 

ubuntu1安装:jdkhadoopscalaspark

ubuntu2安装:jdkhadoopscalaspark

ubuntu3安装:jdkhadoopscalaspark

 

因主机名已在其他配置中使用,不方便更改

ubuntu1作为master

ubuntu2ubuntu3作为worker

 

windows系统中指定三台虚拟机对应的ip地址,方便后期测试

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第1张图片

按照下图所示在hosts文件最后添加即可

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第2张图片

 

cmd测试配置是否成功:

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第3张图片

 

避免出现错误,linux中所有操作在root用户下执行

在三台虚拟机修改 /etc/hosts (三台虚拟机都要做这一步)

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第4张图片

 

在各个节点安装ssh并配置免密码登录(此处自行百度,嗯 我懒)

 

jdkhadoopscalaspark解压位置 /usr/local

先对一台虚拟机进行配置,配置完成后再使用scp命令拷贝到其他两台虚拟机(切记不要直接用SecureFX类似的工具直接把文件夹复制过去,这样很不友好)

scp命令详细表述:https://www.cnblogs.com/webnote/p/5877920.html

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第5张图片

 

jdk配置:

修改 /etc/profile 在最后添加如图所示(注意点和冒号,不要写错了)

export JAVA_HOME=/usr/local/jdk1.8.0_161

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH

export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin

export PATH=$PATH:${JAVA_PATH}

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第6张图片

使用命令使更改生效:source /etc/profile

 

测试jdk是否安装成功:

java       javac     java -version

三个命令都执行一遍,有信息反馈就成功了。

搭建hadoop集群

修改/etc/profile文件

文件最后添加

export HADOOP_HOME=/usr/local/hadoop-2.7.7

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

使用命令使更改生效:source /etc/profile

 

验证是否成功:

执行命令 hadoop version

如图所示则成功

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第7张图片

 

配置hadoop

配置前首先在hadoop安装目录下创建以下文件夹:

mkdir tmp

mkdir dfs

mkdir dfs/data

mkdir dfs/name

修改hadoop-env.sh

指定jdk安装目录

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第8张图片

 

修改yarn-env.sh

指定java安装目录

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第9张图片

 

修改mapred-env.sh

指定java安装目录

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第10张图片

 

修改slaves,将各个worker节点的hostname加进去

vim slaves

ubuntu2

ubuntu3

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第11张图片

 

修改core-site.xml

   

            fs.defaultFS

            hdfs://ubuntu1:9000

   

   

            hadoop.tmp.dir

            /usr/local/hadoop-2.7.7/tmp

   

   

            hadoop.native.lib

            true

   

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第12张图片

 

修改hdfs-site.xml

   

      dfs.namenode.secondary.http-address

      ubuntu1:50090

   

   

            dfs.replication

            2

   

   

            dfs.namenode.name.dir

            /usr/local/hadoop-2.7.7/dfs/name

   

   

            dfs.datanode.data.dir

            /usr/local/hadoop-2.7.7/dfs/data

   

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第13张图片

 

修改mapred-site.xml

   

        mapreduce.framework.name

        yarn

   

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第14张图片

 

修改yarn-site.xml

       

                yarn.resourcemanager.hostname

                ubuntu1

       

       

                yarn.nodemanager.aux-services

                mapreduce_shuffle

       

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第15张图片

 

启动并验证hadoop集群

格式化hdfs系统

hadoop namenode –format

该命令会启动,格式化,然后关闭namenode

 

启动hdfs: sbin/start-dfs.sh

使用jps验证hdfs是否启动成功:

ubuntu1

ubuntu2

 

通过地址检查hdfs是否启动成功

http://ubuntu1:50070

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第16张图片

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第17张图片

 

启动yarn: sbin/start-yarn.sh

使用jps验证yarn是否启动成功

ubuntu1

ubuntu2

通过地址检查yarn是否启动成功:

http://ubuntu1:8088

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第18张图片

 

http://ubuntu2:8042

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第19张图片

 

启动jobhistory server:

使用jps验证jobhistory

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第20张图片

通过地址检查jobhistory server是否启动成功

http://ubuntu1:19888

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第21张图片

 

 

安装scala

修改文件/etc/profile

在文件最后添加

export SCALA_HOME=/usr/local/scala-2.11.12

export PATH=$PATH:$SCALA_HOME/bin

执行命令使文件生效 source /etc/profile

验证scala是否安装成功:scala -version

 

spark集群搭建

修改文件 /etc/profile

在文件最后添加

export SPARK_HOME=/usr/local/spark-2.4.0-bin-hadoop2.7

export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin

执行命令使文件生效 source /etc/profile

 

配置spark:

1.修改slaves文件,若没有slaves文件可以cp slaves.template slaves创建

在文件最后添加worker节点的hostname

ubuntu2

ubuntu3

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第22张图片

 

2. 配置spark-env.sh,若没有该文件可以cp spark-env.sh.template spark-env.sh创建,添加如下内容

export JAVA_HOME=/usr/local/jdk1.8.0_161

export SCALA_HOME=/usr/local/scala-2.11.12

export HADOOP_HOME=/usr/local/hadoop-2.7.7

export HADOOP_CONF_DIR=/usr/local/hadoop-2.7.7/etc/hadoop

export SPARK_MASTER_IP=ubuntu1

export SPARK_WORKER_MEMORY=1g

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第23张图片

 

3. 配置spark-defaults.conf,若没有该文件可以cp spark-defaults.conf.template spark-defaults.conf创建,添加如下内容

  spark.eventLog.enabled           true

  spark.eventLog.dir                hdfs://ubuntu1:9000/historyserverforspark

  spark.yarn.historyServer.address   ubuntu1:18080

  spark.history.fs.logDirectory        hdfs://ubuntu1:9000/historyserverforspark

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第24张图片

 

4.启动并验证spark集群

Spark只是一个计算框架,并不提供文件系统功能,故我们需要首先启动文件系统hadoop

注:此时hadoop集群已经处于启动状态,所以现在只需要启动spark集群,启动spark集群,常见的做法是在master节点上执行start-all.sh

使用jpsmasterworker节点上验证spark集群是否正确启动:

ubuntu1

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第25张图片

ubuntu2

 

通过地址查看spark集群是否启动成功:

http://ubuntu1:8080

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第26张图片

 

spark安装目录下执行命令 hdfs dfs -mkdir -p /historyserverforspark

 

执行命令sbin/start-history-server.sh

 

执行命令jps

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第27张图片

 

通过地址栏查看 http://ubuntu1:50070

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第28张图片

 

通过地址栏查看 http://ubuntu1:18080

spark-hadoop集群搭建与测试(2019.02.20) 完全分布式_第29张图片

 

 

声明:这篇集群搭建文档是依照同行编写的文档做了一下更新,文档开头已提供下载地址(原作者地址找不到了)

大家可以对比着这两篇文档进行集群搭建。

 

至此,spark-hadoop集群基础搭建全部完成,文档中肯定有考虑不足的地方,望同学们见谅,文档中未涉及到的部分,或者和其他同行有不同的地方,还望同学们对比一下,找到最佳方案。

 

有问题,问度娘,大家一起努力。

你可能感兴趣的:(spark-hadoop集群搭建与测试(2019.02.20) 完全分布式)