1.安装mongoDB
对于没有系统性学习过Linux的,不熟悉Linux的一些命令,使用终端mongoDB配置环境等方面可能会出现一点问题,这里推荐使用一款Linux面板可以一键傻瓜式安装mongoDB,这就是宝塔面板
打开终端输入命令
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
输入 y 然后回车
安装完成后会打印宝塔面板的默认账号密码,这个要记下来(可以改)
现在已经安装好宝塔面板了,但是因为端口还没有开放,所以还不能访问它
打开你的服务器控制台(这里以阿里云为例)
添加打开8888和888端口
然后看一下你的服务器公网ip是多少,访问它的8888端口即可打开面板
在软件商店你可以傻瓜式的配置你需要的环境,tomcat,php,py都有,当然也不会少了mongoDB
mongoDB安装到此为止,接下来是spark平台的搭建
搭建spark集群
我这里是使用了两台阿里云的学生机(轻量应用服务器)搭建spark,如果没有多的服务器的话理论上一台也是可以的,但是两台方便验证分布式是否搭建成功
spark的搭建可以说是非常的麻烦,首先他是基于hadoop集群的,也就是说你需要先搭建hadoop集群之后才能搭建spark
1.hadoop集群搭建
hadoop集群的搭建是整个spark搭建过程中最为复杂的一步,我觉得我现在没有能力把这个详细的写出教程并且教别人
这里推荐一篇博客[添加链接描述](https://blog.csdn.net/pucao_cug/article/details/71698903)
这篇博客讲的是利用三台服务器搭建gadoop集群,如果你手头没有这么多服务器也是可以的,看懂了这篇博客稍微改改就可以
2.安装spark
前提环境:
1.java 自行安装
2.hadoop hadoop安装教程
3.scala 自行安装
4.zookeeper zookeeper安装教程
这里zookeeper和hadoop的安装我也是根据这两篇博客来的,理解着跟下来是不会有什么问题的
1.官网下载spark安装包:[http://spark.apache.org/downloads.html](http://spark.apache.org/downloads.html) 记得要选择基于hadoop的版本,把你的安装包上传到服务器,这里如果不会命令的话可以使用宝塔提供的图形界面上传
2.解压缩
tar zxvf spark-2.3.1-bin-hadoop2.7.tgz -C /opt/module/
mv spark-2.3.1-bin-hadoop2.7 spark-2.3.1
3.修改配置文件
(1)
[admin@node21 ~]$ cd /opt/module/spark-2.3.1/conf/
[admin@node21 conf]$ ll
total 36
-rw-rw-r-- 1 admin admin 996 Jun 2 04:49 docker.properties.template
-rw-rw-r-- 1 admin admin 1105 Jun 2 04:49 fairscheduler.xml.template
-rw-rw-r-- 1 admin admin 2025 Jun 2 04:49 log4j.properties.template
-rw-rw-r-- 1 admin admin 7801 Jun 2 04:49 metrics.properties.template
-rw-rw-r-- 1 admin admin 870 Jul 4 23:50 slaves.template
-rw-rw-r-- 1 admin admin 1292 Jun 2 04:49 spark-defaults.conf.template
-rwxrwxr-x 1 admin admin 4861 Jul 5 00:25 spark-env.sh.template
(2)复制spark-env.sh.template并重命名为spark-env.sh
两条命令
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
编辑并在文件末尾添加如下配置内容
#指定默认master的ip或主机名
export SPARK_MASTER_HOST=node21
#指定maaster提交任务的默认端口为7077
export SPARK_MASTER_PORT=7077
#指定masster节点的webui端口
export SPARK_MASTER_WEBUI_PORT=8080
#每个worker从节点能够支配的内存数
export SPARK_WORKER_MEMORY=1g
#允许Spark应用程序在计算机上使用的核心总数(默认值:所有可用核心)
export SPARK_WORKER_CORES=1
#每个worker从节点的实例(可选配置)
export SPARK_WORKER_INSTANCES=1
#指向包含Hadoop集群的(客户端)配置文件的目录,运行在Yarn上配置此项
export HADOOP_CONF_DIR=/opt/module/hadoop-2.7.6/etc/hadoop
#指定整个集群状态是通过zookeeper来维护的,包括集群恢复
export SPARK_DAEMON_JAVA_OPTS="
-Dspark.deploy.recoveryMode=ZOOKEEPER
-Dspark.deploy.zookeeper.url=node21:2181,node22:2181,node23:2181
-Dspark.deploy.zookeeper.dir=/spark"
(3)复制slaves.template成slaves,并修改配置内容
两条命令
cp slaves.template slaves
vi slaves
修改从节点
node22
node23
(4)将安装包分发给其他节点
scp -r spark-2.3.1 admin@node22:/opt/module/
scp -r spark-2.3.1 admin@node23:/opt/module/
修改node22节点上conf/spark-env.sh配置的MasterIP为SPARK_MASTER_IP=node22
4. 配置环境变量
所有节点均要配置
[admin@node21 spark-2.3.1]$ sudo vi /etc/profile
export SPARK_HOME=/opt/module/spark-2.3.1
export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin
[admin@node21 spark-2.3.1]$ source /etc/profile
5.启动集群
启动zookeeper集群
zkServer.sh start
启动hadoop集群
start-dfs.sh
start-yarn.sh
yarn-daemon.sh start resourcemanager
启动spark集群
sbin/start-all.sh
验证的话也以访问主节点http://node21:8080/来查看Web页面Master状态