【Spark大數據】1.Spark2.0環境搭建

本環境是在兩台centos7的雲主機上進行搭建的。

版本之間有依賴,請查看文檔並下載對應的版本。需要的軟體包下載地址:

軟體版本

· java: jdk-8u91-linux-x64.tar.gz 官網下載可能會比較慢

· scala: scala-2.11.8.tgz官網下載,spark2.0要求scala2.11.×

· hadoop: hadoop-2.7.2.tar.gz 鏡像下載地址較快

· spark: spark-2.0.2-bin-hadoop2.7.tgz 官網下載

· IDE: ideaIU-2016.2.4.tar.gz 中文網站下載稍快一些

參考鏈接

· spark官方文檔,選擇對應版本2.0.2

· hadoop官方文檔,選擇對應版本2.7.2

· apache旗下眾多軟體鏡像下載列表 速度快

· wuchong.me/blog/2015/04

· blog.csdn.net/u01063896

· blog.chinaunix.net/uid-

一、基本配置

1.修改主機名

sudo vim /etc/hostnamen

重啟使生效

shutdown -r nown

2.配置host

vi /etc/hostn127.0.0.1 localhostn101.37.253.112 sparkproject1n101.37.26.103 sparkproject2n

重啟網路服務

service network restartn

3.測試機器之間是否能連通

ping 101.37.253.112nping 101.37.26.103n

4.SSH無密碼登錄

測試ssh能否連接本地

ssh localhostn

如果不行

sudo yum install openssh-servern

設置ssh-keygen

ssh-keygen -t rsa -P ""ncat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keysn

master主機免密碼登錄slave01和slave02主機

scp ~/.ssh/id_rsa.pub root@sparkproject1:/home/hadoop/nscp ~/.ssh/id_rsa.pub root@sparkproject2:/home/hadoop/ncat id_rsa.pub >> ~/.ssh/authorized_keysnrm id_rsa.pubn

測試免密碼登錄

ssh sparkproject1nssh sparkproject2n

二、JDK配置

1.JDK安裝配置

分別在master主機和slave01、slave02主機上安裝JDK和Scala,並加入環境變數。

檢查本機是否有jdk

yum updatenrpm -qa | grep -E ^open[jre|jdk]|j[re|dk]njava -versionnyum remove java-1.6.0-openjdknmkdir /usr/javan

2.下載jdk-8u111-linux-x64.tar.gz包,並上傳至伺服器/usr/java文件夾中。

tar -xvf jdk-8u111-linux-x64.tar.gzn

3.編輯/etc/profile文件

在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下面添加

#set JDK environmentnJAVA_HOME=/usr/java/jdk1.8.0_131nPATH=$PATH:$JAVA_HOME/binnCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarnexport JAVA_HOME PATH CLASSPATHn

執行命令使配置生效

source /etc/profilen

驗證,是否安裝成功

java -versionn

三、Scala配置

1.設置路徑並解壓

sudo mkdir /usr/lib/scalansudo tar -xvzf scala-2.11.8.tgz -C /usr/lib/scala/nsudo sun

2.添加環境變數

vi /etc/profile #增加如下設置n#set scala envnexport SCALA_HOME=/usr/lib/scala/scala-2.11.8nexport PATH=${SCALA_HOME}/bin:$PATHnsource /etc/profiln

四、Hadoop環境配置

1.Hadoop安裝配置說明

先在master主機上做安裝Hadoop,暫時不需要在slave01,slave02主機上安裝Hadoop.稍後會把master配置好的Hadoop發送給slave01,slave02.可以查看文檔Hadoop官網文檔

2.解壓並配置環境變數

tar -xzvf hadoop-2.7.4.tar.gz -C /usr/lib/hadoop/nvi /etc/profilenexport HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.4nexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopnexport YARN_HOME=/usr/lib/hadoop/hadoop-2.7.4nexport YARN_CONF_DIR=$YARN_HOME/etc/hadoopnexport PATH=$HADOOP_HOME/bin:$PATHnsource /etc/profilen

3.創建hadoop的數據目錄

mkdir -p /datancd /datanmkdir tmp #創建 tmpnmkdir hdfs #創建hdfsncd hdfs/nmkdir data #創建datanode目錄nmkdir name #創建namenode目錄nmkdir namesecondaryn

4.配置salves

這裡把DataNode的主機名寫入該文件,每行一個。這裡讓master節點主機僅作為NameNode使用。

sparkproject2n

5.配置hadoop-env.sh和yarn-env.sh

vim hadoop-env.shn# The java implementation to use.nexport JAVA_HOME=${JAVA_HOME}nexport JAVA_HOME=/usr/java/jdk1.8.0_131 # addn

配置yarn-env.sh

vim yarn-env.shn# some Java parametersn# export JAVA_HOME=/home/y/libexec/jdk1.6.0/nexport JAVA_HOME=/usr/java/jdk1.8.0_131n

6.修改core-site.xml

<configuration>n <property>n <name>fs.defaultFS</name>n <value>hdfs://sparkproject1:9000</value>n <!-- hadoop namenode 伺服器地址和埠,以域名形式 -->n </property>nn <property>n <name>dfs.namenode.checkpoint.period</name>n <value>1800</value>n <!-- editlog每隔30分鐘觸發一次合併,默認為60分鐘 -->n </property>nn <property>n <name>fs.checkpoint.size</name>n <value>67108864</value>n </property>nn <property>n <name>fs.trash.interval</name>n <value>1440</value>n <!-- Hadoop文件回收站,自動回收時間,單位分鐘,這裡設置是1天,默認值為0. -->n </property>nn <property>n <name>hadoop.tmp.dir</name>n <value>/usr/lib/hadoop/hadoop-2.7.4/data/tmp</value>n <!-- Hadoop的默認臨時路徑,這個最好配置,如果在新增節點或者其它情況下莫名其妙的DataNode啟動不了,就>刪除此文件中的tmp目錄即可。不過如果刪除了NameNode機器的此目錄,那麼就需要重新執行NameNode格式化命令。/data/hadoop/tmp這裡給的路徑不需要創建會自動生成。-->n </property>n <property>n <name>io.file.buffer.size</name>n <value>131702</value>n <!-- 流文件的緩衝區 -->n </property>n</configuration>n

7.


推薦閱讀:

一般而言常見的Spark的性能瓶頸有哪些?
國內哪些互聯網公司在用mesos,哪些互聯網公司在用yarn,兩者前景如何?
怎樣理解spark中的partition和block的關係?
如何高效閱讀 Spark 和 Hadoop 這類大型開源項目源代碼?有什麼工具可以藉助?

TAG:Hadoop | Spark | 大数据 |