引言

在上一篇中 大数据学习系列之五 ----- Hive整合HBase图文详解http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合HBase,并且测试成功了。在之前的大数据学习系列之一 ----- Hadoop环境搭建(单机) : http://www.panchengming.com/2017/11/26/pancm55/ 中成功的搭建了Hadoop的环境,本文主要讲的是Hadoop+Spark 的环境。虽然搭建的是单机版,但是改成集群版的也相当容易,这点以后会写关于Hadoop+Spark+HBase+Hive+Zookeeper 等集群的相关说明的。

一、环境选择

1,服务器选择

本地虚拟机

操作系统:linux CentOS 7

Cpu:2核

内存:2G

硬盘:40G

2,配置选择

JDK:1.8 (jdk-8u144-linux-x64.tar.gz)

Hadoop:2.8.2 (hadoop-2.8.2.tar.gz)

Scala:2.12.2 (scala-2.12.2.tgz)

Spark: 1.6 (spark-1.6.3-bin-hadoop2.4-without-hive.tgz)

3,下载地址

官网地址:

JDK:

http://www.oracle.com/technetwork/java/javase/downloads

Hadopp:

http://www.apache.org/dyn/closer.cgi/hadoop/common

Spark:

http://spark.apache.org/downloads.html

Hive on Spark (spark集成hive的版本)

http://mirror.bit.edu.cn/apache/spark/

Scala:

http://www.scala-lang.org/download

百度云:

链接:https://pan.baidu.com/s/1geT3A8N 密码:f7jb

二、服务器的相关配置

在配置Hadoop+Spark整合之前,应该先做一下配置。

做这些配置为了方便,使用root权限。

1,更改主机名

首先更改主机名,目的是为了方便管理。

查看本机的名称

输入:

hostname

更改本机名称

输入:

hostnamectl set-hostname master

注:主机名称更改之后,要重启(reboot)才会生效。

2,主机和IP做关系映射

修改hosts文件,做关系映射

输入

vim /etc/hosts

添加

主机的ip 和 主机名称

192.168.219.128 master

3,关闭防火墙

关闭防火墙,方便外部访问。

CentOS 7版本以下输入:

关闭防火墙

service   iptables stop

CentOS 7 以上的版本输入:

systemctl stop firewalld.service

4,时间设置

输入:

date

查看服务器时间是否一致,若不一致则更改

更改时间命令

date -s ‘MMDDhhmmYYYY.ss’

三、Scala环境配置

因为Spark的配置依赖与Scala,所以先要配置Scala。

Scala的配置

1, 文件准备

将下载好的Scala文件解压

输入

tar -xvf scala-2.12.2.tgz

然后移动到/opt/scala 里面

并且重命名为scala2.1

输入

mv  scala-2.12.2  /opt/scala
mv scala-2.12.2 scala2.1

2,环境配置

编辑 /etc/profile 文件

输入:

export SCALA_HOME=/opt/scala/scala2.1
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

输入 scala -version 查看是否安装成功

三、Spark的环境配置

1,文件准备

Spark有两种,下载的地址都给了,一种是纯净版的spark,一种是集成了hadoop以及hive的版本。本文使用的是第二种

将下载好的Spark文件解压

输入

tar -xvf spark-1.6.3-bin-hadoop2.4-without-hive.tgz

然后移动到/opt/spark 里面,并重命名

输入

mv  spark-1.6.3-bin-hadoop2.4-without-hive  /opt/spark
mv spark-1.6.3-bin-hadoop2.4-without-hive spark1.6-hadoop2.4-hive

2,环境配置

编辑 /etc/profile 文件

输入:

export  SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive
export PATH=.:${JAVA_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH

输入:

source  /etc/profile

使配置生效

3,更改配置文件

切换目录

输入:

cd /opt/spark/spark1.6-hadoop2.4-hive/conf

4.3.1 修改 spark-env.sh

在conf目录下,修改spark-env.sh文件,如果没有 spark-env.sh 该文件,就复制spark-env.sh.template文件并重命名为spark-env.sh。

修改这个新建的spark-env.sh文件,加入配置:

export SCALA_HOME=/opt/scala/scala2.1
export JAVA_HOME=/opt/java/jdk1.8
export HADOOP_HOME=/opt/hadoop/hadoop2.8
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export SPARK_HOME=/opt/spark/spark1.6-hadoop2.4-hive
export SPARK_MASTER_IP=master
export SPARK_EXECUTOR_MEMORY=1G



注:上面的路径以自己的为准,SPARK_MASTER_IP为主机,SPARK_EXECUTOR_MEMORY为设置的运行内存。

五、Hadoop环境配置

Hadoop的具体配置在大数据学习系列之一 ----- Hadoop环境搭建(单机)http://www.panchengming.com/2017/11/26/pancm55 中介绍得很详细了。所以本文就大体介绍一下。

注:具体配置以自己的为准。

1,环境变量设置

编辑 /etc/profile 文件 :

vim /etc/profile

配置文件:

export HADOOP_HOME=/opt/hadoop/hadoop2.8
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=.:${JAVA_HOME}/bin:${HADOOP_HOME}/bin:$PATH

2,配置文件更改

先切换到 /home/hadoop/hadoop2.8/etc/hadoop/ 目录下

5.2.1 修改 core-site.xml

输入:

vim core-site.xml

在添加:

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://master:9000</value>
</property>
</configuration>

5.2.2修改 hadoop-env.sh

输入:

vim hadoop-env.sh

将${JAVA_HOME} 修改为自己的JDK路径

export   JAVA_HOME=${JAVA_HOME}

修改为:

export   JAVA_HOME=/home/java/jdk1.8

5.2.3修改 hdfs-site.xml

输入:

vim hdfs-site.xml

在添加:

<property>
<name>dfs.name.dir</name>
<value>/root/hadoop/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/root/hadoop/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>

5.2.4 修改mapred-site.xml

如果没有 mapred-site.xml 该文件,就复制mapred-site.xml.template文件并重命名为mapred-site.xml。

输入:

vim mapred-site.xml

修改这个新建的mapred-site.xml文件,在节点内加入配置:

<property>
<name>mapred.job.tracker</name>
<value>master:9001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/root/hadoop/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

3,Hadoop启动

注:如果已经成功配置了就不用了

启动之前需要先格式化

切换到/home/hadoop/hadoop2.8/bin目录下

输入:

./hadoop  namenode  -format

格式化成功后,再切换到/home/hadoop/hadoop2.8/sbin目录下

启动hdfs和yarn

输入:

start-dfs.sh
start-yarn.sh

启动成功后,输入jsp查看是否启动成功

在浏览器输入 ip+8088 和ip +50070 界面查看是否能访问

能正确访问则启动成功

六、Spark启动

启动spark要确保hadoop已经成功启动

首先使用jps命令查看启动的程序

在成功启动spark之后,再使用jps命令查看

切换到Spark目录下

输入:

cd /opt/spark/spark1.6-hadoop2.4-hive/sbin

然后启动Spark

输入:

 start-all.sh

然后在浏览器输入

http://192.168.219.128:8080/

正确显示该界面,则启动成功

注:如果spark成功启动,但是无法访问界面,首先检查防火墙是否关闭,然后在使用jps查看进程,如果都没问题的,一般就可以访问界面。如果还是不行,那么检查hadoop、scala、spark的配置。

那么本文到此结束,谢谢阅读!

如果觉得不错,可以点击一下赞或推荐。

版权声明:

作者:虚无境

博客园出处:http://www.cnblogs.com/xuwujing

CSDN出处:http://blog.csdn.net/qazwsxpcm    

个人博客出处:http://www.panchengming.com

原创不易,转载请标明出处,谢谢!

大数据学习系列之六 ----- Hadoop+Spark环境搭建的更多相关文章

  1. 大数据学习系列之四 ----- Hadoop+Hive环境搭建图文详解(单机)

    引言 在大数据学习系列之一 ----- Hadoop环境搭建(单机) 成功的搭建了Hadoop的环境,在大数据学习系列之二 ----- HBase环境搭建(单机)成功搭建了HBase的环境以及相关使用 ...

  2. 大数据学习系列之七 ----- Hadoop+Spark+Zookeeper+HBase+Hive集群搭建 图文详解

    引言 在之前的大数据学习系列中,搭建了Hadoop+Spark+HBase+Hive 环境以及一些测试.其实要说的话,我开始学习大数据的时候,搭建的就是集群,并不是单机模式和伪分布式.至于为什么先写单 ...

  3. 大数据学习系列之二 ----- HBase环境搭建(单机)

    引言 在上一篇中搭建了Hadoop的单机环境,这一篇则搭建HBase的单机环境 环境准备 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内 ...

  4. [大数据学习研究] 3. hadoop分布式环境搭建

    1. Java安装与环境配置 Hadoop是基于Java的,所以首先需要安装配置好java环境.从官网下载JDK,我用的是1.8版本. 在Mac下可以在终端下使用scp命令远程拷贝到虚拟机linux中 ...

  5. 大数据学习(16)—— HBase环境搭建和基本操作

    部署规划 HBase全称叫Hadoop Database,它的数据存储在HDFS上.我们的实验环境依然基于上个主题Hive的配置,参考大数据学习(11)-- Hive元数据服务模式搭建. 在此基础上, ...

  6. 大数据学习系列之八----- Hadoop、Spark、HBase、Hive搭建环境遇到的错误以及解决方法

    前言 在搭建大数据Hadoop相关的环境时候,遇到很多了很多错误.我是个喜欢做笔记的人,这些错误基本都记载,并且将解决办法也写上了.因此写成博客,希望能够帮助那些搭建大数据环境的人解决问题. 说明: ...

  7. 大数据学习(19)—— Flume环境搭建

    系统要求 Java1.8或以上 内存要足够大 硬盘足够大 Agent对源和目的要有读写权限 Flume部署 我这8G内存的电脑之前搭建Hadoop.Hive和HBase已经苟延残喘了,怀疑会卡死,硬着 ...

  8. 大数据学习系列之Hadoop、Spark学习线路(想入门大数据的童鞋,强烈推荐!)

    申明:本文出自:http://www.cnblogs.com/zlslch/p/5448857.html(该博客干货较多) 1 Java基础: 视频方面:          推荐<毕向东JAVA ...

  9. 大数据学习系列之一 ----- Hadoop环境搭建(单机)

    一.环境选择 1,服务器选择 阿里云服务器:入门型(按量付费) 操作系统:linux CentOS 6.8 Cpu:1核 内存:1G 硬盘:40G ip:39.108.77.250 2,配置选择 JD ...

随机推荐

  1. 使用Identity Server 4建立Authorization Server (2)

    第一部分: http://www.cnblogs.com/cgzl/p/7780559.html 第一部分主要是建立了一个简单的Identity Server. 接下来继续: 建立Web Api项目 ...

  2. Jenkins TFS配置

    1. 在Jenkins中安装TFS插件 2. 在Build Server上安装tfs客户端程序,用来访问代码服务器获取代码, 这一部是由TFS Anywhere完成的 下载TFS Anywhere h ...

  3. ionic生成apk使用build命令下载gradle-2.2.1-all.zip卡,解决方案

    ionic生成apk使用build命令下载gradle-2.2.1-all.zip卡,解决方案 直接使用ionic build android命令,自动下载gradle-2.2.1-all.zip超慢 ...

  4. word建立统一的表格样式

    插入一个表格,一般border都是一样粗细,不美观, 这里推荐一种样式如下图(外框和首行都加粗,比较好看) 设置方法: 1.选中表格,上方出现设计选项卡 2.表格样式,点击"新建样式表&qu ...

  5. 一:Redis的7个应用场景

    Redis的7个应用场景   一:缓存——热数据 热点数据(经常会被查询,但是不经常被修改或者删除的数据),首选是使用redis缓存,毕竟强大到冒泡的QPS和极强的稳定性不是所有类似工具都有的,而且相 ...

  6. [转载] 常用 Java 静态代码分析工具的分析与比较

    转载自http://www.oschina.net/question/129540_23043 简介: 本文首先介绍了静态代码分析的基本概念及主要技术,随后分别介绍了现有 4 种主流 Java 静态代 ...

  7. [转载] Java集合框架之小结

    转载自http://jiangzhengjun.iteye.com/blog/553191 1.Java容器类库的简化图,下面是集合类库更加完备的图.包括抽象类和遗留构件(不包括Queue的实现): ...

  8. 第二篇-FPGA学习之RoadMap

    古语云:知己知彼,百战不殆.那么既然选择了FPGA之路,欲练此功,必先-- 必先了解清楚,FPGA的特点,FPGA善于/不善于解决什么类型问题,以及FPGA应用的方向,FPGA学习的要素等等. 一.F ...

  9. 【python】Python的单例模式

    原文:http://blog.csdn.net/ghostfromheaven/article/details/7671853 单例模式:保证一个类仅有一个实例,并提供一个访问他的全局访问点. 实现某 ...

  10. [转] 深刻理解Python中的元类(metaclass)

    非常详细的一篇深入讲解Python中metaclass的文章,感谢伯乐在线-bigship翻译及作者,转载收藏. 本文由 伯乐在线 - bigship 翻译.未经许可,禁止转载!英文出处:stacko ...