本文目录一览:
spark集群安装
本文将继续配置我的虚拟机,此文章需要基于hadoop平台安装成功才可spark集群,如需参考请点击链接: ,我的虚拟机的情况也在此篇文章说明了,jdk及hadoop是安装spark集群的依赖环境,此处不再赘述了。spark所选版本3.0.3,而spark 3.0+是基于scala 2.12版本编译的,所以还需要安装scala2.12。
很明显,是由于读取不到java的环境变量,于是我在当前目录的.bashrc文件中配置了,成功启动,想不通为什么会这样,全局变量中设置的环境变量怎么就不生效呐?姑且把它当成spark的遗留小问题吧,等我想起来再来探寻答案!!!
Hadoop与spark集群安装
jdk:jdk1.8.0
hadoop:hadoop-2.10.1
spark:spark-3.0.1
将jdk解压缩
之后在/etc/profile里面添加环境变量
注意每次都要source /etc/profile
解压Hadoop
并配置环境变量,将Hadoop的路径写入~/.bashrc
需要source ~/.bashrc
修改hostname,
sudo vim /etc/hostname
修改hosts的名字
sudo vim /etc/hosts
以下是master的hostname和hosts
slave1和slave2的hostname也需要改。
配置免密登录
ssh-keygen -t rsa # 一直按回车就可以
cat ./id_rsa.pub ./authorized_keys
需要修改Hadoop安装目录下/etc/hadoop中的5个配置文件。slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml
configuration
property
namefs.defaultFS/name
valuehdfs://master:9000/value
/property
property
namehadoop.tmp.dir/name
valuefile:/home/zkx/hadoop-2.10.1/tmp/value
descriptionAbase for other temporary directories./description
/property
/configuration
这文件记录备份相关。我们有2个 slave 节点,因此可以将 dfs.replication 的值设为 2
configuration
property
namedfs.namenode.secondary.http-address/name
valuemaster:50090/value
/property
property
namedfs.replication/name
value2/value
/property
property
namedfs.namenode.name.dir/name
valuefile:/home/zkx/hadoop-2.10.1/tmp/dfs/name/value
/property
property
namedfs.datanode.data.dir/name
valuefile:/home/zkx/hadoop-2.10.1/tmp/dfs/data/value
/property
/configuration
如果是mapred-site.xml.template ,此时需要重命名
configuration
property
namemapreduce.framework.name/name
valueyarn/value
/property
property
namemapreduce.jobhistory.address/name
valuemaster:10020/value
/property
property
namemapreduce.jobhistory.webapp.address/name
valuemaster:19888/value
/property
/configuration
configuration
!-- Site specific YARN configuration properties --
property
nameyarn.resourcemanager.hostname/name
valuemaster/value
/property
property
nameyarn.nodemanager.aux-services/name
valuemapreduce_shuffle/value
/property
/configuration
先删除logs和tmp里的文件
之后压缩
tar -zcf ~/hadoop.master.tar.gz ./hadoop-2.10.1
使用scp命令发送到slave1和slave2
scp ./hadoop.master.tar.gz zkx@slave1:/home/zkx
之后解压
master节点格式化
hdfs namenode -format # 首次运行需要执行初始化,之后不需要
启动和结束脚本在sbin目录下
start-all.sh
mr-jobhistory-daemon.sh start historyserver #启动历史服务器
jps 查看master和slave
worker是spark的,不用参考
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.10.1.jar pi 100 1000
结果如下
解压压缩包
目录如下
修改conf下的spark-env.sh
export SPARK_DIST_CLASSPATH=$(/home/zkx/hadoop-2.10.1/bin/hadoop classpath)
export JAVA_HOME=/home/zkx/jdk1.8.0_241
SPARK_MASTER_HOST=master
SPARK_MASTER_PORT=7077
修改slaves
之后将整个目录压缩,scp发送到slave上,解压
启动spark
./sbin/start-all.sh
之后打开浏览器输入maste的spark的URL,节点的端口是8080。
可以看到有三个worker
如何安装spark集群
安装 其实就是解压,配置 /etc/profile环境变量
export SPARK_HOME=/data1/spark/spark
export SCALA_HOME=/data1/spark/scala-2.9.3
export PATH=$PATH:$SPARK_HOME/bin:$SCALA_HOME/bin
配置spark的conf下的spark-env.sh
export JAVA_HOME=/usr/java/default
export SCALA_HOME=/data1/spark/scala-2.9.3
export SPARK_MASTER_IP=192.168.0.1
export SPARK_MASTER_WEBUI_PORT=8080
export SPARK_WORKER_WEBUI_PORT=8000
export YARN_CONF_DIR=/data/hadoop/hadoop-2.0/etc/hadoop
配置slaves(ip根据需要修改)
192.168.0.2
192.168.0.3
分发spark目录和scala目录到几台服务器相同路径下
4,启动
进入主节点的spark目录的bin下stop-all.sh是停掉集群,start-all.sh启动集群,jps可以在主节点看到master进程,slave节点看到worker进程
5, 运行程序,运行例子进入spark目录下
分布式运行
./run-example org.apache.spark.examples.SparkPi spark://192.168.0.1:7077
./run-example org.apache.spark.examples.SparkLR spark://192.168.0.1:7077
本地运行
./run-example org.apache.spark.examples.SparkPi local
./run-example org.apache.spark.examples.SparkLR local
如何搭建Spark集群
1. 安装环境简介 硬件环境spark集群服务器:两台四核cpu、4G内存、500G硬盘的虚拟机。 软件环境:64位Ubuntu12.04 LTS;主机名分别为spark1、spark2spark集群服务器,IP地址分别为1**.1*.**.***/***。JDK版本为1.7。集群上已经成功部署了Hadoop2.2,详细的部署过程可以参见另一...

