大數據學習系列之六 ----- Hadoop+Spark環境搭建

引言

在上一篇中 大數據學習系列之五 ----- 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 等集羣的相關說明的。html

1、環境選擇

1,服務器選擇

本地虛擬機
操做系統:linux CentOS 7
Cpu:2核
內存:2G
硬盤:40Gjava

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)node

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/downloadlinux

百度雲:
連接:https://pan.baidu.com/s/1geT3A8N 密碼:f7jbapache

2、服務器的相關配置

在配置Hadoop+Spark整合以前,應該先作一下配置。
作這些配置爲了方便,使用root權限。vim

1,更改主機名

首先更改主機名,目的是爲了方便管理。
查看本機的名稱
輸入:瀏覽器

hostname

更改本機名稱
輸入:服務器

hostnamectl set-hostname master

注:主機名稱更改以後,要重啓(reboot)纔會生效。oracle

2,主機和IP作關係映射

修改hosts文件,作關係映射
輸入jsp

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’

3、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 查看是否安裝成功

這裏寫圖片描述

3、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爲設置的運行內存。

5、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

在<configuration>添加:


dfs.name.dir
/root/hadoop/dfs/name
Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.


dfs.data.dir
/root/hadoop/dfs/data
Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.


dfs.replication
2


dfs.permissions
false
need not permissions

#### 5.2.4 修改mapred-site.xml

若是沒有 mapred-site.xml 該文件,就複製mapred-site.xml.template文件並重命名爲mapred-site.xml。 
輸入:

vim mapred-site.xml

修改這個新建的mapred-site.xml文件,在<configuration>節點內加入配置:


mapred.job.tracker
master:9001


mapred.local.dir
/root/hadoop/var


mapreduce.framework.name
yarn

### 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 界面查看是否能訪問
能正確訪問則啓動成功


## 6、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 原創不易,轉載請標明出處,謝謝!

相關文章
相關標籤/搜索