hadoop+spark集羣搭建

1.      安裝JDK

(1)下載Java7,本文使用jdk-7u67-linux-x64.tar.gz(若配置最新版本可使用java8)

(2)在/opt下新建文件夾jdk,將上述壓縮文件解壓到該文件夾下

可使用命令:tar vxf jdk-7u67-linux-x64.tar.gz

(3)配置環境變量

sudo gedit /etc/profile

在末尾添加:

#java

exportJAVA_HOME=/opt/jdk/jdk1.7.0_67

export JRE_HOME=/opt/jdk/jdk1.7.0_67/jre

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$PATH

(4)使profile生效

                  source /etc/profile

         (5)檢驗安裝是否成功

                   java–version

                   出現版本信息則說明安裝成功

2.      安裝Scala

(1)下載Scala,本文使用scala-2.10.5.tgz

(2)在/opt下新建文件夾scala,將上述壓縮文件解壓到該文件夾下

可使用命令:tar vxf scala-2.10.5.tgz

(3)配置環境變量

sudo gedit /etc/profile

在末尾添加:

#scala

exportSCALA_HOME=/opt/scala/scala-2.10.5

exportPATH=$SCALA_HOME/bin:$PATH

(4)使profile生效

                   source/etc/profile

         (5)檢驗安裝是否成功

                   scala–version

                   出現版本信息則說明安裝成功

3.      此時重啓計算機,若圖形界面卡在登陸界面,輸入密碼無法進入,按Ctrl+Alt+F1進入終端,執行:/usr/bin/sudo /usr/bin/vi /etc/profile,然後按dd將新增內容刪除後/usr/bin/sudo reboot重啓即可。然後按步驟1-2重新配置。

4.      安裝maven 或者 sbt 用於編譯

下載maven-3.0.5

cd /opt  
sudo mkdir maven  

sudo chmod 755 /opt/maven  
sudo tar -zvxf apache-maven-3.2.1-bin.tar.gz

配置環境變量

sudo gedit/etc/profile

末尾添加:

export MAVEN_HOME=/opt/maven/maven/apache-maven-3.0.5

export PATH=$ MAVEN_HOME/bin

5.      添加用戶組hadoop和用戶hadoop

sudo groupadd hadoop

sudo adduser hadoop會自動同名組,創建/home/hadoop/,從etc/skel/複製文件,並設定密碼和相關初始身份信息

刪除用戶:
sudo userdel test

rm -rf /home/test

使hadoop用戶獲得sudo權限:

sudo gedit /etc/sudoers

在root   ALL=(ALL)       ALL下面增加hadoop   ALL=(ALL)       ALL

6.      使hadoop用戶獲得jdk,maven,scala的權限

sudo chown –R hadoop:hadoop /opt/jdk

sudo chown –R hadoop:hadoop /opt/maven

sudo chown –R hadoop:hadoop /opt/scala

7.      配置hadoop

本文采用hadoop-2.6.0版本進行配置

(1)解壓hadoop-2.6.0.tar.gz

(2)配置環境(/etc/profile)

export HADOOP_HOME=/opt/hadoop-2.6.0

export PATH=$HADOOP_HOME/bin:$PATH

(3)配置hadoop文件(/opt/hadoop-2.6.0/etc/hadoop)

修改hadoop-env.sh,yarn-evn.sh在其中加入exportJAVA_HOME=/opt/jdk/jdk1.7.0_67

           配置mapred-env.sh

配置core-site.xml,mapred-site.xml,yarn-site.xml,hdfs-site.xml具體內容見配置文件

           配置masters和slaves

(4)測試(/opt/hadoop-2.6.0)

           格式化:./bin/hadoopnamenode –format

           啓動:./sbin/start-all.sh

           查看:jps

主機上應該啓動:Jps、NameNode、ResourceManager、SecondaryNameNode

節點計算機上應啓動:Jps、DataManager、DataNode

如果計算節點沒能啓動DataNode:

1. 先執行stop-all.sh暫停所有服務
2. 將所有Salve節點上的tmp(即 hdfs-site.xml 中指定的 dfs.data.dir 文件夾,DataNode存放數據塊的位置)、 logs 文件夾刪除 , 然後重新建立tmp , logs 文件夾
3. 將所有Salve節點上的/usr/hadoop/conf下的core-site.xml刪除,將master節點的core-site.xml文件拷貝過來,到各個Salve節點

如果需要JobHistoryServer等服務可使用sbin/hadoop_daemon.shstart JobHistoryServer啓動

8.      配置spark

(1)下載對應版本的spark:spark-1.3.1-bin-hadoop2.6.tgz

(2)解壓,設置權限

           sudo tar –xzvfspark-1.3.1-bin-hadoop2.6.tgz

           suod chown –R hadoop:hadoopspark-1.3.1-bin-hadoop2.6

(3)配置/conf/spark-env.sh和slaves

           內容見配置文件

(4)啓動

           ./sbin/start-all.sh

(5)查看jps

           管理節點:master

           計算節點:worker

9.      Spark測試

在啓動hadoop的基礎上啓動spark集羣

           ./sbin/start-all.sh

           ./bin/spark-shell --master spark://lxy(主節點名):7077

測試:

(1)sc.parallelize(1 to 1000).count() // 計數

(2)在HDFS文件系統中創建/data/目錄

hadoop fs –mkdir /data

          將README.md文件上傳至該文件夾中

                   hadoopfs –put README.md /data/

val rdd = sc.textFile(“hdfs://lxy:9000/data/README.md”)

val count = rdd.flatMap(line =>line.split(“ ”)).map(word => (word, 1)).reduceByKey(_+_)

count.collect

返回一個數組,數組內容爲每個單詞出現的次數

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章