写在前面:以下流程大致是根据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

  • 参考下面的链接
  • 打开链接时先看这里
  • 上面的链接是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的安装即可,后面的可以不用看。

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

  • 本人参考自下面的链接
  • 首先在Windows下打开命令行窗口,并输入 ipconfig /all
  • 因为我连的是wifi,所以就看这里的信息就行。
  • 记住自己的【IPv4地址】,【子网掩码】和【默认网关】
  • 以我的为例,我的是【IPv4地址】192.168.0.101 【子网掩码】255.255.255.0 【默认网关】192.168.3.254
  • 7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置

  • 打开虚拟机spark1,进入root用户,输入 vim /etc/sysconfig/network 并回车,在下面加一行GATEWAY=192.168.3.254注意这个是跟你Windows默认网关是一样的,也就是我们上面记住的默认网关。
  • 按esc 和:wq!保存退出
  • 7za centos使用 centos7视频教程_7za centos使用_02

  • 再输入 vim /etc/sysconfig/network-scripts/ifcfg-ens33
  • 将BOOTPROTO改为 static,ONBOOT改为 yes,同时在最后面加三行,其中NETMASK和GATEWAY与上面我们查看Windows的内容是一样的,也就是【子网掩码】和【默认网关】。但是IPADDR有点不一样,前三个字段是你自己的【默认网关】的前三个字段,后一个字段是自己设置的,后一个字段建议跟我设置的一样,方便后续操作。
  • 7za centos使用 centos7视频教程_7za centos使用_03

  • 继续根据下图操作,其中要输入的是默认网关
  • 7za centos使用 centos7视频教程_kafka2.11安装和配置_04

  • 紧接着,我们要给ip地址192.168.3.107映射一个名字spark1 输入 vim /etc/hosts 根据下面的图片添加最后一行。
  • 7za centos使用 centos7视频教程_7za centos使用_05

  • 通过命令 service network restart 重启网卡
  • 查看虚拟机防火墙状态并关闭虚拟机的防火墙
  • 查看防火墙状态 firewall-cmd --state
  • 暂时关闭防火墙 systemctl stop firewalld.service
  • 禁止firewall开机启动 systemctl disable firewalld.service
  • 输入命令 vim /etc/selinux/config 将SELINUX修改为 disable
  • 7za centos使用 centos7视频教程_kafka2.11安装和配置_06

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

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_07


7za centos使用 centos7视频教程_7za centos使用_08

做完以上的步骤,我们就可以在虚拟机或者主机上互相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并配置环境变量

参考链接:

我是进行手动下载,不适用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
  • 注意路径问题,如果你跟我之前的操作和下载的包都是一样的话,可以忽略。
  • 7za centos使用 centos7视频教程_zookeeper3.4安装和配置_09

  • 输入 source /etc/profile 更新
  • 最后通过 java -version 就可以查看已经配置安装好的jdk啦!
  • 7za centos使用 centos7视频教程_zookeeper3.4安装和配置_10

  • 删除一些不必要的东西 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>

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_11

  • 修改配置文件 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>

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_12

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

7za centos使用 centos7视频教程_kafka2.11安装和配置_13

  • 修改配置文件 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>

7za centos使用 centos7视频教程_kafka2.11安装和配置_14

  • 修改配置文件 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

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_15

  • 下面,我们开始将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
  • 7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_16


  • 接下来,我们打开我们Windows的浏览器输入网址,打开我们的hdfs界面。
http://spark1:50070

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_17

  • 接着在spark1上启动yarn集群,并验证
start-yarn.sh
jps

7za centos使用 centos7视频教程_7za centos使用_18

  • 在spark2和spark3上通过 jps 命令查看
  • 打开我们Windows的浏览器输入网址,打开我们的yarn资源管理器界面。
http://spark1:8088/

7za centos使用 centos7视频教程_kafka2.11安装和配置_19

  • 至此,我们就完成了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

在相应的位置增加内容,保存并退出!

7za centos使用 centos7视频教程_hadoop2.6安装和配置_20

  • 使配置文件生效
source /etc/profile
  • 接下来安装mysql,因为我们想要hive通过mysql来启动。
  • 在参考b站那个视频时,我发现输入 yum install -y mysql-server 找不到 mysql-server 的包,原因是我们之前下的 yumCentos7-Base-163.repo 这个 163 的镜像,而这个镜像内并没有 mysql-server 这个包,所以后来我参考了下面的博客,也成功安装啦~
  • 博客内的操作步骤如下,大家跟着我依次操作就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

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_21

  • 修改配置文件 hive-site.xml
  • 此时你应该在 /usr/local 目录下
cd hive/conf
cp hive-default.xml.template hive-site.xml
vim hive-site.xml +/javax.jdo.option.ConnectionURL

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_22

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

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_23

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

7za centos使用 centos7视频教程_kafka2.11安装和配置_24

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

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_25

修改的内容:
/user/hive/warehouse
  • 修改配置文件 hive-env.shhive-config.sh
mv hive-env.sh.template hive-env.sh
vim /usr/local/hive/bin/hive-config.sh

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_26

修改内容的代码如下:
export JAVA_HOME=/usr/local/jdk1.8.0_221
export HIVE_HOME=/usr/local/hive
export HADOOP_HOME=/usr/local/hadoop
  • 保持耐心,我们继续操作,接下来的操作参考了下面的连接:
  • 依次输入以下代码:
cd /usr/local/hive/
mkdir tmp
mkdir resource
  • 根据图示修改
vim conf/hive-site.xml +/hive.exec.local.scratchdir

7za centos使用 centos7视频教程_hadoop2.6安装和配置_27

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

7za centos使用 centos7视频教程_kafka2.11安装和配置_28

  • 最后输入 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

7za centos使用 centos7视频教程_kafka2.11安装和配置_29

  • 更新配置文件
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

7za centos使用 centos7视频教程_hadoop2.6安装和配置_30

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_31


7za centos使用 centos7视频教程_kafka2.11安装和配置_32

  • 至此,我们就完成了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
  • 注意: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

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_33

  • 保存并退出,更新并查看scala是已安装完成
source /etc/profile
scala -version

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_34

  • 这样,我们就在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

7za centos使用 centos7视频教程_7za centos使用_35


- 在 spark3上进行如下操作

vim /usr/local/kafka/config/server.properties

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_36

  • 这样,我们三台虚拟机的kafka就搭建好了。下面我们分别启动三台虚拟机的kafka集群。三台虚拟机分别执行以下命令。(记得启动kafka一定要在kafka的目录下)
cd /usr/local/kafka
bin/kafka-server-start.sh config/server.properties &
jps

7za centos使用 centos7视频教程_spark2.x(2.4.3)安装和配置_37

  • 测试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

7za centos使用 centos7视频教程_zookeeper3.4安装和配置_38


再输入下面的命令

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

7za centos使用 centos7视频教程_kafka2.11安装和配置_39

  • 在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

7za centos使用 centos7视频教程_hadoop2.6安装和配置_40

  • 之后在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

7za centos使用 centos7视频教程_hadoop2.6安装和配置_41

修改的内容:
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

7za centos使用 centos7视频教程_kafka2.11安装和配置_42

修改的内容:
# 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

7za centos使用 centos7视频教程_hadoop2.6安装和配置_43

  • 这样,我们就完成了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

7za centos使用 centos7视频教程_hadoop2.6安装和配置_44

  • 接着在spark2和spark3上输入jps查看
  • 最后通过我们的浏览器,输入网址http://spark1:8080/ 就打开了spark8080端口。
  • 我们在spark1输入如下命令,看spark-shell能否启动。
cd /usr/local
spark-shell

7za centos使用 centos7视频教程_7za centos使用_45

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