spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)

自己使用的环境版本:

Windows10+

Ubuntu18.04 LTS +

VMware14 Pro+

Hadoop2.6.5+

Spark-2.3.0+

JAVA1.8+

scala2.11+

MobaXterm(远程连接工具)

包含,Ubuntu服务器创建、远程工具连接配置、Ubuntu服务器配置、Java环境配置、scala环境配置

       Hadoop文件配置、Hadoop格式化、启动。

       Spark安装文件配置,启动等。

①第一步:先安装好了vmware14pro之后安装Ubuntu18.04 LTS,将第一个命名为hadoop1之后的hadoop2,和hadoop3都是采取虚拟机克隆的形式进行创建(选中已经创建的虚拟机右键-》管理中-》克隆),需要注意的是克隆是创建完整克隆

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第1张图片spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第2张图片

 

建立好的虚拟机如下

通过ifconfig命令查看服务器ip地址
IP 192.168.5.130   默认主机名ubuntu
IP 192.168.5.132   默认主机名ubuntu
IP 192.168.5.133   默认主机名ubuntu
下一步会修改主机名hostname

如何查看每一个系统的ip地址具体请点击看:Ubuntu18.04查看本机IP (查看)

②Ubuntu服务器版在VMware中操作不方便需要自己下载安装一个MobaXterm自己搜索下载

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第3张图片

在点击ok连接上之后后续就可以直接在MobaXterm上操作

同样三个虚拟机建立连接

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第4张图片

③更换为清华源,具体方法:Ubuntu 18.04换 清华源

④安装vim编辑器,默认自带vi编辑器

sudo apt install vim

⑤修改Ubuntu服务器hostname主机名,主机名和ip是一一对应的。

 
#在192.168.5.130
zhangsf@ubuntu:~$ sudo vim /etc/hostname进入编辑模式  写入  hadoop1 然后重启就会发现成为:同样对第二个和第二个做同样的操作,不过一个对应为192.168.5.132  hadoop2,一个对应192.168.5.133 hadoop3

⑥增加hosts文件中ip和主机名对应字段

在Hadoop1,2,3中

zhangsf@hadoop1:~$ sudo vim /etc/hosts
192.168.5.130 hadoop1
192.168.5.132 hadoop2
192.168.5.133 hadoop3

⑦更改系统时区(将时间同步更改为北京时间)

zhangsf@hadoop1:~$ date
Wed Oct 26 02:42:08 PDT 2016
zhangsf@hadoop1:~$ sudo tzselect

根据提示选择选择不同的数字AsiaChinaBeijing Timeyes最后将Asia/Shanghai shell scripts 复制到/etc/localtime

zhangsf@hadoop1:~$ sudo cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime

zhangsf@hadoop1:~$ date
Mon Jun 11 16:36:53 CST 2018

将所需安装的安装文件拖拽至MobaXterm中对应的系统下面的文件下就可以如图左下侧

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第5张图片

 

⑧解压缩并将jdk放置/opt路径下

zhangsf@hadoop1:~$ tar -zxf jdk-8u111-linux-x64.tar.gz
zhangsf@hadoop1:~$ sudo mv jdk1.8.0_111 /opt/
[sudo] password for hadoop1:
zhangsf@hadoop1:~$

⑨配置环境变量

编写环境变量脚本并使其生效

zhangsf@hadoop1:~$ sudo vim /etc/profile.d/jdk1.8.sh输入内容:
export JAVA_HOME=/opt/jdk1.8.0_111
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

⑩验证jdk成功安装

zhangsf@hadoop1:~$ java -version
java version "1.8.0_171"
Java(TM) SE Runtime Environment (build 1.8.0_171-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.171-b11, mixed mode)

对其他机器同样操作

也可通过scp命令

#注意后面带 : 默认是/home/zhangsf路径下
zhangsf@hadoop1:~$ scp jdk-8u111-linux-x64.tar.gz hadoop2:
 

集群无秘钥登录在hadoop1,hadoop2,hadoop3中执行

sudo apt install sshsudo apt install rsynczhangsf@hadoop1:~$ ssh-keygen -t rsa //一路回车就好

Hadoop1(master角色) 执行,将~/.ssh/下的id_rsa.pub公私作为认证发放到hadoop1,hadoop2,hadoop3的~/.ssh/下

ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop1
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub hadoop32

然后在 Hadoop1 上登录其他Linux服务器不需要输入密码即成功。

#不需要输入密码
ssh hadoop2

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第6张图片

 

hadoop完全分布式集群文件配置和启动

在hadoop1上配置完成后将Hadoop包直接远程复制scp到其他Linux主机即可。

Linux主机Hadoop集群完全分布式分配

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第7张图片

 

Hadoop主要文件配置

在Hadoop1,2,3中配置Hadoop环境变量

zhangsf@hadoop1:~$ sudo vim /etc/profile.d/hadoop2.6.5.sh
export HADOOP_HOME="/opt/hadoop-2.7.3"
export PATH="$HADOOP_HOME/bin:$PATH"
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

配置 hadoop-env.sh 增加如下内容

export JAVA_HOME=/opt/jdk1.8.0_111

配置slaves文件,增加slave主机名

hadoop2
hadoop3

配置 core-site.xml


        
        
                fs.defaultFS
                hdfs://hadoop1:9000
        
        
        
         io.file.buffer.size
         131072
       
        
        
                hadoop.tmp.dir
                /home/zhangsf/hadoop/tmp
        

 

配置 hdfs-site.xml


    
      dfs.namenode.secondary.http-address
      hadoop1:50090
    
    
      dfs.replication
      2
    
    
      dfs.namenode.name.dir
      file:/home/zhangsf/hadoop/hdfs/name
    
    
      dfs.datanode.data.dir
      file:/home/zhangsf/hadoop/hdfs/data
    

配置yarn-site.xml





     
          yarn.nodemanager.aux-services
          mapreduce_shuffle
     
     
           yarn.resourcemanager.address
           hadoop1:8032
     
     
          yarn.resourcemanager.scheduler.address
          hadoop1:8030
      
     
         yarn.resourcemanager.resource-tracker.address
         hadoop1:8031
     
     
         yarn.resourcemanager.admin.address
         hadoop1:8033
     
     
         yarn.resourcemanager.webapp.address
         hadoop1:8088
     

配置mapred-site.xml


  
    mapreduce.framework.name
    yarn
  
  
          mapreduce.jobhistory.address
          hadoop1:10020
  
  
          mapreduce.jobhistory.address
          hadoop1:19888
  

复制Hadoop配置好的包到其他Linux主机

zhangsf@hadoop1:~$ scp -r hadoop-2.6.5 hadoop2:

格式化节点

zhangsf@hadoop1:/opt/hadoop-2.6.5$ hdfs namenode -format

hadoop集群全部启动

在Hadoop1上执行

zhangsf@hadoop1:/opt/hadoop-2.6.5/sbin$ ./start-all.sh

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第8张图片

 

其他主机上

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第9张图片

 

在主机上查看,直接在浏览器中输入hadoop1 集群地址

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第10张图片

 
  • 安装scala

 

     

下载并安装scala

为了方便,在hadoop1主机上先安装,把目录打开到/opt目录下,与我的Java目录相一致。

wget https://downloads.lightbend.com/scala/2.11.7/scala-2.11.7.tgz

下载之后解压

tar -zxvf scala-2.11.7.tgzrm -rf scala-2.11.7.tgz

在此需要打开/etc/profile文件进行配置

在文件的最后插入

export SCALA_HOME=/usr/scala-2.11.7

export PATH=$PATH:$SCALA_HOME/bin

插入了之后要使得命令生效,需要的是:

source /etc/profile
检测安装是否成功scala -version

同样通过scp将文件拷贝到其他主机上

Spark安装之前的准备

文件的解压与改名

tar -zxvf spark-2.3.0-bin-hadoop2.6.tgz
rm -rf spark-2.3.0-bin-hadoop2.6.tgz

为了我后面方便配置spark,在这里我把文件夹的名字给改了

mv spark-2.3.0-bin-hadoop2.7 spark-2.3.0

配置环境变量

vi /etc/profile.d/spark-2.3.0.sh

写入

export SPARK_HOME=/opt/spark-2.3.0

export PATH=$PATH:$SPARK_HOME/bin

配置Spark环境

打开spark-2.3.0文件夹

cd spark-2.3.0

此处需要配置的文件为两个 
spark-env.shslaves

修改spark-env.sh文件

vi conf/spark-env.sh

在最尾巴加入

export JAVA_HOME=/usr/java/jdk1.8.0_141

export SCALA_HOME=/usr/scala-2.11.7

export HADOOP_HOME=/opt/hadoop-2.6.5

export HADOOP_CONF_DIR=/opt/hadoop-2.6.5/etc/hadoop

export SPARK_MASTER_IP=hadoop1

export SPARK_WORKER_MEMORY=2g

export SPARK_WORKER_CORES=2

export SPARK_WORKER_INSTANCES=1

 

或者直接

export SCALA_HOME=${SCALA_HOME}

export JAVA_HOME=${JAVA_HOME}

export SPARK_MASTER_IP=master

export SPARK_WORKER_MEMORY=500m

export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoop

变量说明 

- JAVA_HOME:Java安装目录 
- SCALA_HOME:Scala安装目录 
- HADOOP_HOME:hadoop安装目录 
- HADOOP_CONF_DIR:hadoop集群的配置文件的目录 
- SPARK_MASTER_IP:spark集群的Master节点的ip地址 
- SPARK_WORKER_MEMORY:每个worker节点能够最大分配给exectors的内存大小 
- SPARK_WORKER_CORES:每个worker节点所占有的CPU核数目 
- SPARK_WORKER_INSTANCES:每台机器上开启的worker节点的数目

修改slaves文件

vi conf/slaves

在最后面修成为

hadoop2
hadoop3

同步hadoop2hadoop3的配置

启动Spark集群

因为我们只需要使用hadoopHDFS文件系统,所以我们并不用把hadoop全部功能都启动。

只需要启动hadoop的hdfs

启动Spark

因为hadoop/sbin以及spark/sbin均配置到了系统的环境中,它们同一个文件夹下存在同样的start-all.sh文件。最好是打开spark-2.3.0,在文件夹下面打开该文件。

./sbin/start-all.sh

查看hadoop的jps,和hadoop2的jps、hadoop3的jps

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第11张图片

 

成功打开Spark集群之后可以进入SparkWebUI界面,可以通过

hadoop1:8080

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第12张图片

 

打开Spark-shell

使用

spark-shell

同时,因为shell在运行,我们也可以通过

hadoop1:4040

访问WebUI查看当前执行的任务

spark-2.3.0和Hadoop2.6.5完全分布式安装和部署——分布式集群(参考记录)_第13张图片

你可能感兴趣的:(大数据相关)