写在前面:以下流程大致是根据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
- 打开虚拟机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 all 和 yum 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
- 注意路径问题,如果你跟我之前的操作和下载的包都是一样的话,可以忽略。
- 输入 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 的包,原因是我们之前下的 yum 是 Centos7-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
- 修改配置文件 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.sh 和 hive-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
- 保持耐心,我们继续操作,接下来的操作参考了下面的连接:
- 依次输入以下代码:
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
- 注意: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
- 这样,我们就完成了所有的安装啦~~哭哇哇!!!终于搞定了!!!!