VMware安装centos7、JDK1.8、ssh免密登录、hadoop2.6、hive2.3、kafka2.11、scala2.13、zookeeper3.4到完成整个spark2.4.3集群搭建

本文详细介绍在CentOS 7环境下使用VMware Workstation搭建和配置Spark、Hadoop、Hive、Zookeeper、Kafka及Scala环境的全过程,包括网络配置、SSH免密码登录、各组件的下载、安装、配置及集群测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

写在前面:以下流程大致是根据b站上的视频操作的,但是由于视频是2015年的,再加上不是使用VMware Workstation,所以操作过程中会遇到一些问题,以下是我经过不断尝试后解决完成的。如果在接下来有什么看的不是很理解的,你可以先跟着做,不懂的地方可以在下面的b站视频链接里学。
  • b站视频参考地址 https://www.bilibili.com/video/av19995678/?p=24
    .
    .

很重要!!!以下用到的所有安装包(除centos7的镜像)在以下的网盘里:

链接:https://pan.baidu.com/s/1K8ipWMCEjP2tEzdH-OFvaw
提取码:drsm
.
.

一、在VMware Workstation上安装centos7

  • 参考下面的链接
    https://blog.youkuaiyun.com/babyxue/article/details/80970526
  • 打开链接时先看这里
    • 上面的链接是Workstation 12 ,建议最好安装Workstation 14,现在一般默认是Workstation 14啦!!!
    • 第6步命名的时候(虚拟机位置与命名),建议【虚拟机名称】取名为spark1,因为接下来还会再安装spark2,spark3。为了以后操作的时候方便。【位置】最好不要放在C盘。
    • 第7步【虚拟机内存】分配建议2048M,也就是2个G。以后的spark2和spark3建议1024M,也就是1个G(我的电脑内存一共8个G),如果你有12G或者更多,可以都适当翻倍。
    • 第10步【最大磁盘大小】建议20-40G。
    • iso映射文件下载地址 http://isoredirect.centos.org/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1810.iso
    • 我下的是 x86_64/CentOS-7-x86_64-DVD-1810.iso
    • 上面的参考链接只需完成整个centos7的安装即可,后面的可以不用看。

二、解决桥接模式下的配置问题

  • 本人参考自下面的链接
    https://blog.youkuaiyun.com/qq_37941471/article/details/80639937

  • 首先在Windows下打开命令行窗口,并输入 ipconfig /all

  • 因为我连的是wifi,所以就看这里的信息就行。

  • 记住自己的【IPv4地址】,【子网掩码】和【默认网关】

  • 以我的为例,我的是【IPv4地址】192.168.0.101 【子网掩码】255.255.255.0 【默认网关】192.168.3.254
    在这里插入图片描述

  • 打开虚拟机spark1,进入root用户,输入 vim /etc/sysconfig/network 并回车,在下面加一行GATEWAY=192.168.3.254注意这个是跟你Windows默认网关是一样的,也就是我们上面记住的默认网关。

  • 按esc 和:wq!保存退出
    在这里插入图片描述

  • 再输入 vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • 将BOOTPROTO改为 static,ONBOOT改为 yes,同时在最后面加三行,其中NETMASK和GATEWAY与上面我们查看Windows的内容是一样的,也就是【子网掩码】和【默认网关】。但是IPADDR有点不一样,前三个字段是你自己的【默认网关】的前三个字段,后一个字段是自己设置的,后一个字段建议跟我设置的一样,方便后续操作。
    在这里插入图片描述

  • 继续根据下图操作,其中要输入的是默认网关
    在这里插入图片描述

  • 紧接着,我们要给ip地址192.168.3.107映射一个名字spark1 输入 vim /etc/hosts 根据下面的图片添加最后一行。
    在这里插入图片描述

  • 通过命令 service network restart 重启网卡

  • 查看虚拟机防火墙状态并关闭虚拟机的防火墙

    • 查看防火墙状态 firewall-cmd --state
    • 暂时关闭防火墙 systemctl stop firewalld.service
    • 禁止firewall开机启动 systemctl disable firewalld.service
  • 输入命令 vim /etc/selinux/config 将SELINUX修改为 disable
    在这里插入图片描述

在Windows下 进入C:\Windows\System32\drivers\etc 通过记事本打开hosts目录,将之前自己虚拟机上设置的ip写进去并命名。由于之后还要增加spark2和spark3,我现在就一并写入啦!

在这里插入图片描述
在这里插入图片描述

做完以上的步骤,我们就可以在虚拟机或者主机上互相ping对方啦!

三、 建议下载安装SecureCRT和WinSCP

  • 下载SecureCRT的好处:目的是为了可以在Windows上操作虚拟机,因为在虚拟机上操作有时会很卡。
    • 下载地址 https://www.newasp.net/soft/16364.html
  • 下载WinSCP的好处:可以提前在Windows下好需要的文件,再通过WinSCP传到虚拟机上。
    • 下载地址 https://www.newasp.net/soft/14044.html

四、配置yum

接下来我们主要是在虚拟机上操作,操作主要是在/usr/local目录下。
  • 在Windows上下载好Centos7-Base-163.repo并通过WinSCP传到虚拟机的 /usr/local 目录下,并进行如下操作。
    在这里插入图片描述
  • 通过 vim Centos7-Base-163.repo 命令打开该文件,将该文件下的gpgcheck都由1改为0
  • 继续进行如下对yum的操作
    在这里插入图片描述
    • :如果你上面的操作出现类似这样的报错出错 [Errno 14] curl#6 - “Could not resolve host: mirrors.163.com; 未知的错误”,则进行如下操作:输入vim /etc/resolv.conf在最后一行加上如图片的内容。
      在这里插入图片描述
  • 再重新操作一遍 yum clean allyum makecache 就好
  • 输入 yum install telnet ,等待telnet安装完毕
    在这里插入图片描述
  • 输入telnet发现跟下图一样的效果,说明我们的telnet就已经安装完成啦!
    在这里插入图片描述

五、安装JDK1.8并配置环境变量

参考链接:https://www.cnblogs.com/lizhewei/p/11181082.html

我是进行手动下载,不适用yum命令,原因是可以下载解压到自己想要的目录里
  • 进入官网下载对应的压缩包 ,我下载的是jdk-8u221-linux-x64.tar.gz
    https://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

  • 通过WinSCP软件将下载好的压缩包传到/usr/local下

  • 在虚拟机里输入 cd /usr/local 进入/usr/local目录操作

  • 通过 tar -zxvf jdk-8u221-linux-x64.tar.gz 解压到当前的目录,解压完毕后通过 rm -rf jdk-8u221-linux-x64.tar.gz 删除压缩包,避免占空间。

  • 接下来输入 vim /etc/profile ,在最后面加下面4行并保存

    export JAVA_HOME=/usr/local/jdk1.8.0_221
    export JRE_HOME=${JAVA_HOME}/jre
    export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
    export  PATH=${JAVA_HOME}/bin:$PATH
    
  • 注意路径问题,如果你跟我之前的操作和下载的包都是一样的话,可以忽略。
    在这里插入图片描述

  • 输入 source /etc/profile 更新

  • 最后通过 java -version 就可以查看已经配置安装好的jdk啦!
    在这里插入图片描述

  • 删除一些不必要的东西 rm -f /etc/udev/rules.d/70-persistent-ipoib.rules

六、按以上的方式同样安装spark2和spark3

  • 因为spark1我们在设置的时候是192.168.3.107
  • 所以在搭建spark2时都设置为192.168.3.108,在搭建spark2时都设置为192.168.3.109,所有虚拟机配置的时候的spark1记得都改为spark2或者spark3。其他的东西都不用改变。
  • 当三台虚拟机都安装完毕后,千万记得进行如下操作:在3台虚拟机上都要进行同样的配置。输入vim /etc/hosts将三台虚拟机的ip地址和对应的主机号都写进去保存,如下图:(千万记得3台虚拟机都要进行此操作)
    在这里插入图片描述

七、配置集群ssh免密码登录

  • 在3台虚拟机进行如下一样的操作。
  • 先实现各台虚拟机自己的ssh免密登录
    • 输入 ssh-keygen -t rsa 一直按回车
    • 接着输入 cd /root/.ssh/
    • 再输入 cp id_rsa.pub authorized_keys
    • 此时你在对应的虚拟机输入ssh spark1或者ssh spark2或者ssh spark3,就发现不用输入密码了,这样就实现了对自己本机的ssh免密码登录。可以输入logout退出。
      在这里插入图片描述
  • 实现3台虚拟机之间的互相免密登录。
    • 首先在spark1上操作,实现对spark2和spark3的ssh免密登录
    • 输入 ssh-copy-id -i spark2 实现对spark2的ssh免密登录,中途可能要输入yes和spark2的root的密码。
    • 输入 ssh-copy-id -i spark3 实现对spark3的ssh免密登录,中途可能要输入yes和spark3的root的密码。
    • 可以输入 logout 退出ssh的登录
      在这里插入图片描述
    • 同样也根据上面的操作,在spark2和spark3虚拟机上实现对其余两台虚拟机的ssh免密登录。

八、hadoop的安装与配置

  • 本人下载的是hadoop2.6.0,为什么不下hadoop3.x呢,因为之前在上实验课的时候吃过亏,安装hadoop3.x会出现一些配置的问题导致后续的一些问题无法解决。

  • hadoop2.6的下载地址 http://archive.apache.org/dist/hadoop/core/hadoop-2.6.0/

  • 将下载好的 hadoop2.6.0.tar.gz 通过WinSCP传到虚拟机spark1的 /usr/local 下。

  • 在spark1进入 /usr/local 目录,通过 tar -zxvf hadoop2.6.0.tar.gz 命令解压,解压完毕后,通过 rm -rf tar -zxvf hadoop2.6.0.tar.gz 删除压缩包(记得是压缩包,不要把刚刚下的hadoop2.6.0删除咯),通过 mv hadoop2.6.0 hadoop 重命名,方便后续操作。

  • 搭建环境,输入 vim /etc/profile 在最末尾添加如下内容,并按esc 和:wq!保存退出

    #hadoop的配置
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    export PATH=$PATH:$HADOOP_HOME/sbin
    export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
    export HADOOP_MAPRED_HOME=$HADOOP_HOME
    export HADOOP_COMMON_HOME=$HADOOP_HOME
    export HADOOP_HDFS_HOME=$HADOOP_HOME
    export YARN_HOME=$HADOOP_HOME
    export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
    export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
    
  • 输入 source /etc/profile 更新

  • 修改配置文件 core-site.xml 此时你应该在/usr/local目录下,输入 vim hadoop/etc/hadoop/core-site.xml 并在相应的位置添加如下内容,保存并退出。

        <property>
            <name>fs.default.name</name>
            <value>hdfs://spark1:9000</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/tmp</value>
       </property>
    

    在这里插入图片描述

  • 修改配置文件 hdfs-site.xml 。输入 vim hadoop/etc/hadoop/hdfs-site.xml 在相应的位置添加吐如下代码,保存并退出。在/usr/local目录下新建一个data目录。通过命令 mkdir data

        <property>
            <name>dfs.name.dir</name>
            <value>/usr/local/data/namenode</value>
        </property>
        <property>
            <name>dfs.data.dir</name>
            <value>/usr/local/data/datanode</value>
        </property>
        <property>
            <name>dfs.tmp.dir</name>
            <value>/usr/local/data/tmp</value>
        </property>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
    

    在这里插入图片描述

  • 修改配置文件 mapred-site.xml.template 。输入 vim hadoop/etc/hadoop/mapred-site.xml.template ,添加如下内容,保存并退出。

        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    

    在这里插入图片描述

  • 修改配置文件 yarn-site.xml ,输入 vim hadoop/etc/hadoop/yarn-site.xml 添加如下内容,保存并推出。

       <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
            <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>spark1</value>
        </property>
    

    在这里插入图片描述

  • 修改配置文件 slaves ,输入 vim hadoop/etc/hadoop/slaves ,将原本内容删除,添加如图内容。保存并
    在这里插入图片描述

  • 修改配置文件 hadoop-env.sh(一般的教程没有这个步骤,我加这个步骤的原因是到后面我启动集群的时候,会出现找不到JAVA_HOME,所以再做了如下修改后,问题得到解决,hadoop集群可以正常启动),通过命令 vim hadoop/etc/hadoop/hadoop-env.sh 将JAVA_HOME的内容进行如下修改。

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

    在这里插入图片描述

  • 下面,我们开始将spark1上的hadoo目录和相关配置文件分别传到spark2和spark3上。下面以传到spark2为例。

  • 首先,进入spark1的/usr/local目录,输入如下命令将hadoop传给spark2。

    scp -r hadoop root@spark2:/usr/local
    
  • 等传送完毕后,再输入如下命令,将配置文件传送给spark2。

     scp /etc/profile root@spark2:/etc/
    
  • 接着,我们进入虚拟机spark2的/usr/local目录,创建data目录和使配置文件生效。

     mkdir data
     source /etc/profile
    
  • 这样,就搞定了spark2的hadoop集群安装和配置,接着对spark3进行同样的操作就行。(记得命令中spark2改为spark3)

  • 以上操作完毕后,在spark1上再进行如下操作。

    • 格式化namenode
      hdfs namenode -format
      
    • 启动hdfs集群
       start-dfs.sh
      
    • jps查看启动情况
      jps
      
      在这里插入图片描述
    • 在spark2和spark3分别通过 jps 命令查看启动情况。
      jps
      在这里插入图片描述
  • 接下来,我们打开我们Windows的浏览器输入网址,打开我们的hdfs界面。

    http://spark1:50070
    

    在这里插入图片描述

  • 接着在spark1上启动yarn集群,并验证

    start-yarn.sh
    jps
    

    在这里插入图片描述

  • 在spark2和spark3上通过 jps 命令查看在这里插入图片描述

  • 打开我们Windows的浏览器输入网址,打开我们的yarn资源管理器界面。

    http://spark1:8088/
    

    在这里插入图片描述

    • 至此,我们就完成了hadoop集群的安装啦~~
    • 以下提供hadoop集群,hdfs集群和yarn集群的启动和关闭命令
      启动/停止Hadoop集群:start-all.sh    stop-all.sh
      启动/停止HDFS集群:start-dfs.sh    stop-dfs.sh
      启动/停止YARN集群:start-yarn.sh    stop-yarn.sh
      

九、Hive下载安装及配置

  • 只需要在spark1上安装即可,spark2和spark3不用安装!

  • 安装地址 http://mirror.bit.edu.cn/apache/hive/hive-2.3.5/

  • 我选择的是 apache-hive-2.3.5-bin.tar.gz

  • 下载完后,通过 WinSCP 传到 spark1/usr/local 目录下,在spark1上依次输入执行以下命令。

    tar -zxvf apache-hive-2.3.5-bin.tar.gz      这是解压
    rm -rf apache-hive-2.3.5-bin.tar.gz    删除压缩包,以免占空间,注意不要删了刚刚下载完成的哦
    mv apache-hive-2.3.5-bin hive   重命名
    
  • 修改环境变量

    vim /etc/profile
    

    在相应的位置增加内容,保存并退出!
    在这里插入图片描述

  • 使配置文件生效

    source /etc/profile
    
  • 接下来安装mysql,因为我们想要hive通过mysql来启动。

  • 在参考b站那个视频时,我发现输入 yum install -y mysql-server 找不到 mysql-server 的包,原因是我们之前下的 yumCentos7-Base-163.repo 这个 163 的镜像,而这个镜像内并没有 mysql-server 这个包,所以后来我参考了下面的博客,也成功安装啦~
    https://blog.youkuaiyun.com/qq_40771567/article/details/80235846

  • 博客内的操作步骤如下,大家跟着我依次操作就ok啦~~

    yum -y install wget
    然后:
    wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 
    rpm -ivh mysql-community-release-el7-5.noarch.rpm
    查看:
    ls -1 /etc/yum.repos.d/mysql-community*
    就会出现:
    /etc/yum.repos.d/mysql-community.repo
    /etc/yum.repos.d/mysql-community-source.repo //说明yum源安装成功
    最后:
    yum install mysql-server
    
  • 最后一步会多次提示你输入y/n,你一直y就行,这样我们就安装好了mysql-server啦。

  • 启动mysql的后台进程

    systemctl start mysqld.service   启动
    

    我同样也把重启和关闭的命令写在这,方便以后用。

    systemctl restart mysqld.service 
    systemctl stop mysqld.service
    
  • 设置开机自启动

    • 设置
      systemctl enable mysql
      
    • 通过下面的命令查看是否有mysql是否有自启动。
      systemctl list-unit-files |grep mysql
      
      在这里插入图片描述
    • 如果还没有则输入命令,在如图的位置添加内容,再通过 systemctl list-unit-files |grep mysql 查看。
      vim /etc/rc.local
      
      在这里插入图片描述
  • 接着安装mysql-connector-java.noarch

    yum install -y mysql-connector-java.noarch
    
  • 将connector拷贝到 /usr/local/hive/lib 目录下

    cp /usr/share/java/mysql-connector-java.jar /usr/local/hive/lib
    
  • 登录mysql数据库,在mysql数据库创建hive元数据库,并对hive进行授权。

    create database if not exists hive_metadata;
    grant all privileges on hive_metadata.* to 'hive'@'%' identified by 'hive';
    grant all privileges on hive_metadata.* to 'hive'@'localhost' identified by 'hive';
    grant all privileges on hive_metadata.* to 'hive'@'spark1' identified by 'hive';
    flush privileges;
    use hive_metadata;
    show tables;
    exit
    

    在这里插入图片描述

  • 修改配置文件 hive-site.xml

  • 此时你应该在 /usr/local 目录下

    cd hive/conf
    cp hive-default.xml.template hive-site.xml
    
    vim hive-site.xml +/javax.jdo.option.ConnectionURL
    

    在这里插入图片描述

    修改的内容:
    jdbc:mysql://spark1:3306/hive_metadata?createDatabaseIfNotExist=true
    
    vim hive-site.xml +/javax.jdo.option.ConnectionDriverName
    

    在这里插入图片描述

    修改的内容:
    com.mysql.jdbc.Driver
    
    vim hive-site.xml +/javax.jdo.option.ConnectionUserName
    

    在这里插入图片描述

    修改的内容:
    hive
    
    vim hive-site.xml +/hive.metastore.warehouse.dir
    

    在这里插入图片描述

    修改的内容:
    /user/hive/warehouse
    
  • 修改配置文件 hive-env.shhive-config.sh

    mv hive-env.sh.template hive-env.sh
    vim /usr/local/hive/bin/hive-config.sh
    

    在这里插入图片描述

    修改内容的代码如下:
    export JAVA_HOME=/usr/local/jdk1.8.0_221
    export HIVE_HOME=/usr/local/hive
    export HADOOP_HOME=/usr/local/hadoop
    
  • 保持耐心,我们继续操作,接下来的操作参考了下面的连接: https://blog.youkuaiyun.com/qq_38436939/article/details/79884225

  • 依次输入以下代码:

    cd /usr/local/hive/
    mkdir tmp
    mkdir resource
    
  • 根据图示修改

    vim conf/hive-site.xml +/hive.exec.local.scratchdir
    

    在这里插入图片描述

    vim conf/hive-site.xml +/hive.downloaded.resources.dir
    

    在这里插入图片描述

  • 最后输入 hive 就完成啦!!!
    在这里插入图片描述

十、安装zookeeper 3.4.14 安装及配置

  • 下载地址: http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.14/

  • 通过WinSCP将 zookeeper-3.4.14.tar.gz 压缩包传到 spark1/usr/local 目录下。之后就在spark1的 /usr/local 目录下操作。

    tar -zxvf zookeeper-3.4.14.tar.gz
    rm -rf zookeeper-3.4.14.tar.gz
    mv zookeeper-3.4.14 zk
    
  • 配置环境变量

    vim /etc/profile
    

    在这里插入图片描述

  • 更新配置文件

    source /etc/profile
    
  • 根据下图依次操作,最后一步记得只是输入0后保存退出。
    在这里插入图片描述

  • 进行文件配置
    在这里插入图片描述
    在这里插入图片描述

    添加的内容:
    /usr/local/zk/data
    
    server.0=spark1:2888:3888
    server.1=spark2:2888:3888
    server.2=spark3:2888:3888
    
  • 这样就完成spark1虚拟机的zookeeper安装和配置啦。

  • 接下来是将配置文件和zk传输给spark2和spark3的操作。

  • 以传送给spark2为例,在spark1上输入

    scp -r zk root@spark2:/usr/local
    scp /etc/profile root@spark2:/etc
    
  • 在spark2上更新

    source /etc/profile
    
  • 再将myid文件的内容由0改成1。
    在这里插入图片描述

  • 在spark3上的操作跟spark2一样。将命令中的spark2改为spark3即可。但要将myid文件的内容改成2。

  • 三台机器都完成后,我们分别在spark1、spark2和spark3上启动zookeeper和查看状态。

    zkServer.sh start
    zkServer.sh status
    cat /usr/local/zk/data/myid
    

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述

  • 至此,我们就完成了zookeeper的安装和配置啦!

  • 最后,在每台机器上输入 jps 命令看到 QuorumPeerMain 就说明成功啦~~
    在这里插入图片描述

  • 另外,你可以输入下面的命令进入zookeeper的命令行。退出输入 quit 回车就行

    zkCli.sh
    

十一、安装及配置kafka_2.11-2.3.0

  • 先将需要的三个安装包下载好,然后通过 WinSCP 上传到 spark1/usr/local 目录下。三个安装包及下载地址如下。(我下的差不多都是很新的版本)

    • kafka_2.11-2.3.0.tgz
      https://www.apache.org/dyn/closer.cgi?path=/kafka/2.3.0/kafka_2.11-2.3.0.tgz
      在这里插入图片描述
    • scala-2.13.0.tgz
      https://www.scala-lang.org/download/2.13.0.html
      在这里插入图片描述
    • slf4j-v_1.7.25.zip
      https://www.oschina.net/news/82981/slf4j-1-7-25
      在这里插入图片描述
  • 注意:slf4j-v_1.7.25.zip 安装完后,将 slf4j-v_1.7.25.zip 解压到当前文件夹,找到 slf4j-nop-1.5.6.jar 这个文件,等等只需要通过WinSCP传这个文件到spark1的/usr/local目录下,而不是传slf4j-v_1.7.25.zip整个压缩包。

  • 安装配置scala

    • 在spark1上依次执行以下操作

      tar -zxvf scala-2.13.0.tgz
      rm -rf scala-2.13.0.tgz
      mv scala-2.13.0 scala
      vim /etc/profile
      

      在这里插入图片描述

    • 保存并退出,更新并查看scala是已安装完成

      source /etc/profile
      scala -version
      

      在这里插入图片描述

    • 这样,我们就在spark1上安装完成scala啦!然后在spark2和spark3上同样进行scala的安装。下面以在spark2上的安装为例。

    • 进入spark1的 /usr/local 目录输入如下命令

      scp -r scala root@spark2:/usr/local
      scp -r /etc/profile root@spark2:/etc
      
    • 进入spark2输入以下命令,更新传过来的配置文件。

      source /etc/profile
      scala -version
      
    • 这样就完成了scala在spark2上的安装,接下来根据上面操作,完成scala在spark3的安装配置。注意,将命令行中的spark2改为spark3。

  • 安装配置kafka

    • 在spark1上依次执行以下命令
      tar -zxvf kafka_2.11-2.3.0.tgz
      rm -rf kafka_2.11-2.3.0.tgz
      mv kafka_2.11-2.3.0 kafka
      cd kafka/config/
      vim server.properties 
      
      在这里插入图片描述
      在这里插入图片描述
  • 将 slf4j-nop-1.5.6.jar 移动到kafka/libs 目录下

    cd /usr/local
    mv slf4j-nop-1.5.6.jar kafka/libs/
    
  • 这样,我们就在spark1完成了上述kafka的安装和配置,接下来也要在spark2和spark3上安装配置kafka。

    • spark1/usr/local 目录下上依次执行以下命令
    scp -r kafka root@spark2:/usr/local
    scp -r kafka root@spark3:/usr/local
    
    • 在spark2上进行如下操作
     vim /usr/local/kafka/config/server.properties 
    

    在这里插入图片描述
    - 在 spark3上进行如下操作
    vim /usr/local/kafka/config/server.properties
    在这里插入图片描述

  • 这样,我们三台虚拟机的kafka就搭建好了。下面我们分别启动三台虚拟机的kafka集群。三台虚拟机分别执行以下命令。(记得启动kafka一定要在kafka的目录下)

    cd /usr/local/kafka
    bin/kafka-server-start.sh config/server.properties &
    jps
    

    在这里插入图片描述

    • 测试kafka集群
    • 在spark1上输入如下命令
    bin/kafka-topics.sh --zookeeper 192.168.3.107:2181,192.168.3.108:2181,192.168.3.109:2181 --create --replication-factor 1 --partitions 1 --topic demo1
    

    在这里插入图片描述
    再输入下面的命令

    bin/kafka-console-producer.sh --broker-list 192.168.3.107:2181,192.168.3.108:2181,192.168.3.109:2181 --topic demo1
    

    在这里插入图片描述

  • 在SecureCRT新开另一个spark1的窗口
    在这里插入图片描述
    在spark1(1)中输入如下命令,记得要进入kafka目录。

    cd /usr/local/kafka
    bin/kafka-console-consumer.sh --bootstrap-server 192.168.3.107:2181,192.168.3.108:2181,192.168.3.109:2181 --topic demo1 --from-beginning
    

    在这里插入图片描述

  • 之后在spark1输入消息,在spark1(1)就可以收得到啦~

  • 下面提供一些常用命令

    kafka开启命令
    bin/kafka-server-start.sh config/server.properties &
    kafka关闭命令
    bin/kafka-server-stop.sh stop
    
    查看所以的topic
    bin/kafka-topics.sh --zookeeper 192.168.3.107:2181 --list
    删除要删除的topic
    bin/kafka-topics.sh --zookeeper 192.168.3.107:2181 --delete --topic demo1
    

十二、安装spark2.4.3

  • 安装包的下载地址
    https://www.apache.org/dyn/closer.lua/spark/spark-2.4.3/spark-2.4.3-bin-hadoop2.6.tgz

  • 因为我之前下载安装配置的hadoop是2.6版本的,所以我下的spark对应的hadoop也是2.6的。

  • 下载完后,将 spark-2.4.3-bin-hadoop2.6.tgz 通过WinSCP传到 spark1/usr/local 目录下。

  • spark1/usr/local 依次进行如下命令

    tar -zxvf spark-2.4.3-bin-hadoop2.6.tgz
    rm -rf spark-2.4.3-bin-hadoop2.6.tgz
    mv spark-2.4.3-bin-hadoop2.6 spark
    vim /etc/profile
    

    在这里插入图片描述

    修改的内容:
    export SPARK_HOME=/usr/local/spark
    :$SPARK_HOME/bin
    export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
    
  • 更新配置

    source /etc/profile
    
  • 修改配置文件 spark-env.sh

    cd spark/conf/
    mv spark-env.sh.template spark-env.sh
    vim spark-env.sh 
    

    在这里插入图片描述

    修改的内容:
    # spark environment variables
    export JAVA_HOME=/usr/local/jdk1.8.0_221
    export SCALA_HOME=/usr/local/scala
    export SPARK_MASTER_IP=192.168.3.107
    export SPARK_WORKER_MEMORY=1g
    export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
    
  • 保存并退出!

  • 配置 slaves

    mv slaves.template slaves
    vim slaves
    
    • 将localhost改为spark2和spark3

    在这里插入图片描述

  • 这样,我们就完成了spark在虚拟机spark1上的安装,接下来就是通过scp命令,实现在虚拟机spark2

  • 和spark3上的安装。

  • 在spark1上进行如下命令

    cd /usr/local
    scp -r spark root@spark2:/usr/local/
    scp -r spark root@spark3:/usr/local/
    scp -r /etc/profile root@spark2:/etc
    scp -r /etc/profile root@spark3:/etc
    
  • 在spark2和spark3上输入如下命令更新配置

    source /etc/profile
    
  • 这样就完成了spark集群的安装和配置,最后,我们来启动spark。(启动spark要进入到spark/sbin目录下)

  • 只需要在spark1启动就行。jp

    cd /usr/local/spark/sbin/
    ./start-all.sh
    jps
    

    在这里插入图片描述

  • 接着在spark2和spark3上输入jps查看
    在这里插入图片描述
    在这里插入图片描述

  • 最后通过我们的浏览器,输入网址http://spark1:8080/ 就打开了spark8080端口。
    在这里插入图片描述

  • 我们在spark1输入如下命令,看spark-shell能否启动。

    cd /usr/local
    spark-shell
    

    在这里插入图片描述

  • 这样,我们就完成了所有的安装啦~~哭哇哇!!!终于搞定了!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值