引言 在上一篇中 "大數據學習系列之五 Hive整合HBase圖文詳解" : http://www.panchengming.com/2017/12/18/pancm62/ 中使用Hive整合HBase,並且測試成功了。在之前的 "大數據學習系列之一 Hadoop環境搭建(單機)" : http:/ ...
引言
在上一篇中 大數據學習系列之五 ----- 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
原創不易,轉載請標明出處,謝謝!