基于Hadoop的spark环境搭建
已有环境情况
Hadoop HA
Java
软件版本
Hadoop 2.7.2
Java 1.8.0_301
Scala 2.11.8
Spark 2.1.0
下载地址
Scala下载地址:Index of /dist/spark
Spark下载地址:Index of /dist/spark
安装
下载好的安装包,进行解压
解压命令如下:tar -zxvf 压缩包 -C 解压所至的目录
tar -zxvf scala-2.11.8.tgz -C /usr/local
tar -zxvf spark-2.1.0-bin-without-hadoop.tgz -C /usr/local
重命名
cd /usr/local进入到刚刚解压到的目录
mv scala-2.11.8/ scala
mv spark-2.1.0-bin-without-hadoop spark
配置环境变量
vim ~/.bashrc
将scala和spark添加至环境变量,如下
添加完成后需要source生效
检查scala配置完成,使用以下命令查看其版本号
scala -version
配置spark相关配置文件
复制模板文件
先进入spark目录下的conf目录
cd /usr/local/spark/conf
将原有的模板文件复制一份并重命名
cp spark-env.sh.template spark-env.sh
cp slaves.template slave
修改spark-env.sh设置相关配置
增加以下内容
spark-env.sh增加内容如下
export SCALA_HOME=/usr/local/scala
export JAVA_HOME=/home/ghh/java
export SPARK_HOME=/usr/local/spark
export SPARK_MASTER_IP=192.168.226.101
export SPARK_MASTER_PORT=7077
export SPARK_MASTER_WEBUI_PORT=8080 #spark的web访问端口默认是8080,防止可能存在端口冲突,可以修改端口号为其他的
export SPARK_WORKER_CORES=1
export SPARK_WORKER_INSTANCES=1
export SPARK_EXECUTOR_MEMORY=512M
export SPARK_WORKER_MEMORY=1G
export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
export HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoop
以上配置的路径需要根据自己的实际安装情况来更改
配置slaves文件
将三台集群主机名添加进去(已与IP地址进行映射过)
分发
向集群中的其他服务器发送,将scala,spark以及环境变量的配置整体分发至另外两台主机
利用scp -r及scp命令将相关文件分发下去
scp -r /usr/local/spark /usr/local/scala/ ghh@hadoop02:/usr/local/
scp -r /usr/local/spark /usr/local/scala/ ghh@hadoop03:/usr/local/
scp ~/.bashrc ghh@hadoop02:/home/ghh/
scp ~/.bashrc ghh@hadoop03:/home/ghh/
分别在另外两台主机进行source .bashrc使.bashrc的相关变量配置生效
启动spark集群
在主节点hadoop01启动spark
首先进入spark目录下的sbin目录
ls可以看到很多相关的命令
我们需要执行start-all.sh
./start-all.sh 或sh start-all.sh
或者执行以下命令也能启动spark集群
start-master.sh && start-slaves.sh
关闭集群
stop-master.sh && stop-slaves.sh
验证spark集群
分别在三台节点上执行jps命令,查看进程
通过查看进程可以看到出现了Master和Worker进程,说明已经完成
也可以通过查web界面检验是否启动
查看WEB UI界面
访问web页面:主节点主机IP:端口号
spark默认端口号8080
即本机的web页面是:192.168.226.101:8080
如果有端口冲突,端口号可以在spark/conf/spark-env.sh文件修改设置