本環(huán)境是在兩臺(tái)centos7的云主機(jī)上進(jìn)行搭建的。
版本之間有依賴(lài),請(qǐng)查看文檔并下載對(duì)應(yīng)的版本。需要的軟件包下載地址:
軟件版本
· java:jdk-8u91-linux-x64.tar.gz官網(wǎng)下載可能會(huì)比較慢
· scala:scala-2.11.8.tgz官網(wǎng)下載,spark2.0要求scala2.11.×
· hadoop:hadoop-2.7.2.tar.gz鏡像下載地址較快
· spark:spark-2.0.2-bin-hadoop2.7.tgz官網(wǎng)下載
· IDE:ideaIU-2016.2.4.tar.gz中文網(wǎng)站下載稍快一些
參考鏈接
·spark官方文檔,選擇對(duì)應(yīng)版本2.0.2
·hadoop官方文檔,選擇對(duì)應(yīng)版本2.7.2
·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.修改主機(jī)名
sudo vim /etc/hostname
重啟使生效
shutdown -r now
2.配置host
vi /etc/host127.0.0.1 localhost101.37.253.112 sparkproject1101.37.26.103 sparkproject2
重啟網(wǎng)絡(luò)服務(wù)
service network restart
3.測(cè)試機(jī)器之間是否能連通
ping 101.37.253.112ping 101.37.26.103
4.SSH無(wú)密碼登錄
測(cè)試ssh能否連接本地
ssh localhost
如果不行
sudo yum install openssh-server
設(shè)置ssh-keygen
ssh-keygen -t rsa -P ""cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
master主機(jī)免密碼登錄slave01和slave02主機(jī)
scp ~/.ssh/id_rsa.pub root@sparkproject1:/home/hadoop/scp ~/.ssh/id_rsa.pub root@sparkproject2:/home/hadoop/cat id_rsa.pub >> ~/.ssh/authorized_keysrm id_rsa.pub
測(cè)試免密碼登錄
ssh sparkproject1ssh sparkproject2
二、JDK配置
1.JDK安裝配置
分別在master主機(jī)和slave01、slave02主機(jī)上安裝JDK和Scala,并加入環(huán)境變量。
檢查本機(jī)是否有jdk
yum updaterpm -qa | grep -E '^open[jre|jdk]|j[re|dk]'java -versionyum remove java-1.6.0-openjdkmkdir /usr/java
2.下載jdk-8u111-linux-x64.tar.gz包,并上傳至服務(wù)器/usr/java文件夾中。
tar -xvf jdk-8u111-linux-x64.tar.gz
3.編輯/etc/profile文件
在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下面添加
#set JDK environmentJAVA_HOME=/usr/java/jdk1.8.0_131PATH=$PATH:$JAVA_HOME/binCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOME PATH CLASSPATH
執(zhí)行命令使配置生效
source /etc/profile
驗(yàn)證,是否安裝成功
java -version
三、Scala配置
1.設(shè)置路徑并解壓
sudo mkdir /usr/lib/scalasudo tar -xvzf scala-2.11.8.tgz -C /usr/lib/scala/sudo su
2.添加環(huán)境變量
vi /etc/profile #增加如下設(shè)置#set scala envexport SCALA_HOME=/usr/lib/scala/scala-2.11.8export PATH=${SCALA_HOME}/bin:$PATHsource /etc/profil
四、Hadoop環(huán)境配置
1.Hadoop安裝配置說(shuō)明
先在master主機(jī)上做安裝Hadoop,暫時(shí)不需要在slave01,slave02主機(jī)上安裝Hadoop.稍后會(huì)把master配置好的Hadoop發(fā)送給slave01,slave02.可以查看文檔Hadoop官網(wǎng)文檔
2.解壓并配置環(huán)境變量
tar -xzvf hadoop-2.7.4.tar.gz -C /usr/lib/hadoop/vi /etc/profileexport HADOOP_HOME=/usr/lib/hadoop/hadoop-2.7.4export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport YARN_HOME=/usr/lib/hadoop/hadoop-2.7.4export YARN_CONF_DIR=$YARN_HOME/etc/hadoopexport PATH=$HADOOP_HOME/bin:$PATHsource /etc/profile
3.創(chuàng)建hadoop的數(shù)據(jù)目錄
mkdir -p /datacd /datamkdir tmp #創(chuàng)建 tmpmkdir hdfs #創(chuàng)建hdfscd hdfs/mkdir data #創(chuàng)建datanode目錄mkdir name #創(chuàng)建namenode目錄mkdir namesecondary
4.配置salves
這里把DataNode的主機(jī)名寫(xiě)入該文件,每行一個(gè)。這里讓master節(jié)點(diǎn)主機(jī)僅作為NameNode使用。
sparkproject2
5.配置hadoop-env.sh和yarn-env.sh
vim hadoop-env.sh# The java implementation to use.export JAVA_HOME=${JAVA_HOME}export JAVA_HOME=/usr/java/jdk1.8.0_131 # add
配置yarn-env.sh
vim yarn-env.sh# some Java parameters# export JAVA_HOME=/home/y/libexec/jdk1.6.0/export JAVA_HOME=/usr/java/jdk1.8.0_131
6.修改core-site.xml
fs.defaultFShdfs://sparkproject1:9000dfs.namenode.checkpoint.period1800fs.checkpoint.size67108864fs.trash.interval1440hadoop.tmp.dir/usr/lib/hadoop/hadoop-2.7.4/data/tmp刪除此文件中的tmp目錄即可。不過(guò)如果刪除了NameNode機(jī)器的此目錄,那么就需要重新執(zhí)行NameNode格式化命令。/data/hadoop/tmp這里給的路徑不需要?jiǎng)?chuàng)建會(huì)自動(dòng)生成。-->io.file.buffer.size131702
7.