【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旗下眾多軟體鏡像下載列表 速度快
· http://wuchong.me/blog/2015/04/04/spark-on-yarn-cluster-deploy/
· http://blog.csdn.net/u010638969/article/details/51283216
· http://blog.chinaunix.net/uid-28311809-id-4341735.html
一、基本配置
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 這類大型開源項目源代碼?有什麼工具可以藉助?