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
返回一個數組,數組內容爲每個單詞出現的次數