spark-2.2.0 集群安装部署以及hadoop集群部署

来源:互联网 发布:订单号生成算法 编辑:程序博客网 时间:2024/04/30 13:03

Spark在生产环境中,主要部署在安装Linux系统的集群中。在linux系统中安装Spark需要预先安装JDK、Scala等所需要的依赖。

由于Spark是计算框架,所以需要预先在集群内有搭建好存储数据的持久化层,如HDFS、Hive、Cassandra等,最后可以通过启动脚本运行应用。


1.安装JDK

Oracle JDK下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 
配置环境变量 
[plain] view plain copy
  1. vim ~/.bash_profile  
添加以下内容
[plain] view plain copy
  1. JAVA_HOME=/opt/jdk1.8.0_65  
  2. CLASSPATH=$JAVA_HOME/lib/  
  3. PATH=$PATH:$HOME/bin:$JAVA_HOME/bin  
执行 source ~/.bash_profile使环境变量生效

2.安装scale

下载Scala地址:http://www.scala-lang.org/download/


配置环境变量,添加以下内容

[plain] view plain copy
  1. export SCALA_HOME=/data/spark/scala-2.12.3/  
  2. export PATH=$PATH:$SCALA_HOME/bin  
执行 source ~/.bash_profile使环境变量生效
执行 scala -version ,正常输出说明成功。


3.安装hadoop

服务器
主机名IP地址JDK用户Master10.116.33.1091.8.0_65rootslave110.27.185.721.8.0_65rootslave210.25.203.671.8.0_65root
hadoop的下载地址:http://hadoop.apache.org/ 

配置hosts文件(每个节点相同操作)
vim /etc/hosts
[plain] view plain copy
  1. 10.116.33.109 Master  
  2. 10.27.185.72 Slave  
  3. 110.25.203.67 Slave2  
  4.       

ssh无密码验证配置

参考:Linux SSH 无密码登录
在master节点上必须验证是否都可以无密码登录,否则会报错。
ssh master
ssh slave1
ssh slave2

Hadoop集群搭建

解压hadoop-2.7.2.tar.gz文件后配置环境变量
vim ~/.bash_profile
[plain] view plain copy
  1. export HADOOP_HOME=/data/spark/hadoop-2.7.2  
  2. export PATH=$PATH:$HADOOP_HOME/bin  
  3. export PATH=$PATH:$HADOOP_HOME/sbin  
  4. export HADOOP_MAPRED_HOME=$HADOOP_HOME  
  5. export HADOOP_COMMON_HOME=$HADOOP_HOME  
  6. export HADOOP_HDFS_HOME=$HADOOP_HOME  
  7. export YARN_HOME=$HADOOP_HOME  
  8. export HADOOP_ROOT_LOGGER=INFO,console  
  9. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
  10. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"  
执行 source ~/.bash_profile使环境变量生效
此环境变量在个节点上都相同操作。

 修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh
[plain] view plain copy
  1. export JAVA_HOME=/opt/jdk1.8.0_65/  
即使环境变量中已经配置,此处必须修改,否则会报“AVA_HOME is not set and could not be found.”。

修改$HADOOP_HOME/etc/hadoop/slaves
[plain] view plain copy
  1. Slave1  
  2. Slave2  

修改$HADOOP_HOME/etc/hadoop/core-site.xml
[plain] view plain copy
  1. <configuration>  
  2.      <property>  
  3.          <name>fs.defaultFS</name>  
  4.          <value>hdfs://Master:9000</value>  
  5.      </property>  
  6.      <property>  
  7.         <name>io.file.buffer.size</name>  
  8.         <value>131072</value>  
  9.     </property>  
  10.     <property>  
  11.          <name>hadoop.tmp.dir</name>  
  12.          <value>/data/spark/hadoop-2.7.2/tmp</value>  
  13.     </property>  
  14. </configuration>  

修改$HADOOP_HOME/etc/hadoop/hdfs-site.xml
[plain] view plain copy
  1. <configuration>  
  2.     <property>  
  3.       <name>dfs.namenode.secondary.http-address</name>  
  4.       <value>Master:50090</value>  
  5.     </property>  
  6.     <property>  
  7.       <name>dfs.replication</name>  
  8.       <value>2</value>  
  9.     </property>  
  10.     <property>  
  11.       <name>dfs.namenode.name.dir</name>  
  12.       <value>file:/data/spark/hadoop-2.7.2/hdfs/name</value>  
  13.     </property>  
  14.     <property>  
  15.       <name>dfs.datanode.data.dir</name>  
  16.       <value>file:/data/spark/hadoop-2.7.2/hdfs/data</value>  
  17.     </property>  
  18. </configuration>  

修改$HADOOP_HOME/etc/hadoop/mapred-site.xml (cp mapred-site.xml.template   mapred-site.xml)
[plain] view plain copy
  1. <configuration>  
  2.  <property>  
  3.     <name>mapreduce.framework.name</name>  
  4.     <value>yarn</value>  
  5.   </property>  
  6.   <property>  
  7.           <name>mapreduce.jobhistory.address</name>  
  8.           <value>Master:10020</value>  
  9.   </property>  
  10.   <property>  
  11.           <name>mapreduce.jobhistory.address</name>  
  12.           <value>Master:19888</value>  
  13.   </property>  
  14. </configuration>  

修改$HADOOP_HOME/etc/hadoop/yarn-site.xml
[plain] view plain copy
  1. <configuration>  
  2.      <property>  
  3.          <name>yarn.nodemanager.aux-services</name>  
  4.          <value>mapreduce_shuffle</value>  
  5.      </property>  
  6.      <property>  
  7.          <name>yarn.resourcemanager.address</name>  
  8.          <value>Master:8032</value>  
  9.      </property>  
  10.      <property>  
  11.          <name>yarn.resourcemanager.scheduler.address</name>  
  12.          <value>Master:8030</value>  
  13.      </property>  
  14.      <property>  
  15.          <name>yarn.resourcemanager.resource-tracker.address</name>  
  16.          <value>Master:8031</value>  
  17.      </property>  
  18.      <property>  
  19.          <name>yarn.resourcemanager.admin.address</name>  
  20.          <value>Master:8033</value>  
  21.      </property>  
  22.      <property>  
  23.          <name>yarn.resourcemanager.webapp.address</name>  
  24.          <value>Master:8088</value>  
  25.      </property>  
  26. </configuration>  

复制Master节点的hadoop文件夹到Slave1和Slave2上。
[plain] view plain copy
  1. scp -r hadoop-2.7.2 slave1:/data/spark/  
  2. scp -r hadoop-2.7.2 slave2:/data/spark/  

在Master节点启动集群,启动之前格式化一下namenode:

  hadoop namenode -format

启动:

  $HADOOP_HOME/sbin/start-all.sh

检查,各节点执行 jps
NameNode显示
DataNode显示
Hadoop管理界面
http://Master:8088/
服务器主机名没有修改,只是hosts文件配置节点名称,导致后续各种任务执行失败,主要是无法通过主机名获取服务器IP地址。
症状包括: mapreduce   ACCEPTED 无法Running

4.安装spark

Spark的下载地址:http://spark.apache.org/ 
本例spark版本spark-2.2.0-bin-hadoop2.7.tgz
配置环境变量内容
[plain] view plain copy
  1. export SPARK_HOME=/data/spark/spark-2.2.0-bin-hadoop2.7  
  2. export PATH=$PATH:$SPARK_HOME/bin  

进入$SPARK_HOME/conf目录,拷贝 cp spark-env.sh.template spark-env.sh ; cp slaves.template slaves
配置spark-env.sh文件,添加以下内容
[plain] view plain copy
  1. export SCALA_HOME=/data/spark/scala-2.12.3/   
  2. export JAVA_HOME=/opt/jdk1.8.0_65    
  3. export SPARK_MASTER_IP=10.116.33.109    
  4. export SPARK_WORKER_MEMORY=128m    
  5. export HADOOP_CONF_DIR=/data/spark/hadoop-2.7.2/etc/hadoop  
  6. export SPARK_DIST_CLASSPATH=$(/data/spark/hadoop-2.7.2/bin/hadoop classpath)  
  7.   
  8. export SPARK_LOCAL_IP=10.116.33.109  
  9. export SPARK_MASTER_HOST=10.116.33.109  
SPARK_MASTER_HOST必须配置,否则Slave节点会报错“Caused by: java.io.IOException: Failed to connect to localhost/127.0.0.1:7077”

修改$SPARK_HOME/conf/slaves,添加如下内容:
[plain] view plain copy
  1. Master  
  2. Slave1  
  3. Slave2  

将配置好的spark文件复制到Slave1和Slave2节点。
[plain] view plain copy
  1. scp $SPARK_HOME root@Slave1:$SPARK_HOME  
  2. scp $SPARK_HOME root@Slave2:$SPARK_HOME  

在Master节点启动集群
$SPARK_HOME/sbin/start_all.sh 

查看集群是否启动成功:
jps 
Master节点新增Master进程


Slave节点新增Worker进程






版权声明:本文为博主原创文章,未经博主允许不得转载。
阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 脚被虫子咬肿痒怎么办 虫子咬的红肿怎么办 被虫子咬了怎么办 虫子咬了过敏怎么办 给跳蚤咬了怎么办 家里床上有跳蚤怎么办 被虫子咬起水泡怎么办 蚊虫叮咬红肿痒怎么办 被猴子抓破皮了怎么办 被猴子咬了怎么办 纹嘴唇起泡了怎么办 嘴角两边有皱纹怎么办 内下眼角皱纹怎么办 嘴巴周围长皱纹怎么办 额头上的皱纹怎么办 脸上皮肤暗沉怎么办 htc手机无法开机怎么办 水泡型手癣不治怎么办 水泡皮掉了怎么办 小腿被烧脱皮怎么办 手上水泡破了怎么办 烫伤后老是出水怎么办 脚掌磨出水泡怎么办 鞋子磨脚起水泡怎么办 脚上走路磨出泡怎么办 脚趾头磨了水泡怎么办 脚后跟水泡破了怎么办 被烫伤了起水泡怎么办 手被烫伤起水泡怎么办 脚磨出血泡破了怎么办 脚底磨了水泡怎么办 走路磨脚起水泡怎么办 脚磨起泡了怎么办 脚趾头打了水泡怎么办 走路磨出水泡怎么办 脚脱皮起水泡痒怎么办 荨麻疹脸上肿了怎么办 脚底板走路起泡怎么办 脚起水泡痒怎么办偏方 有水泡的脚气怎么办 走路多脚底水泡怎么办