寫在前邊的話
基本環境:
CentOS 6.5,Hadoop 2.7,Java 1.7
Hive 2.0.0,Zookeeper 3.4.8, Hbase 1.2.2
預安裝
Scala 2.11
Spark 2.0
Sqoop 1.4.6
Mahout 0.12.2
sudo tar -zxvf /home/master/下載下傳/scala-2.11.8.tar.gz -C /opt/
sudo mv scala-2.11.8/ /opt/scala
sudo vim /etc/profile 加入如下代碼:
source /etc/profile
執行 sudo scp -r /opt/scala/ slave1:/opt/scala
sudo scp -r /opt/scala/ slave2:/opt/scala
分别在各個節點上修改環境變量即可
終端直接輸入scala即可
[master@master1 opt]$ sudo tar -zxvf /home/master/下載下傳/spark-2.0.0-bin-hadoop2.7.tgz -C .
[master@master1 opt]$ sudo mv spark-2.0.0-bin-hadoop2.7/ spark
sudo vim /etc/profile ,加入
複制 :sudo cp spark-env.sh.template spark-env.sh
加入以下:
master1
slave1
slave2
sudo scp -r /opt/spark/ slave1:/opt/spark
sudo scp -r /opt/spark/ slave2:/opt/spark
并修改各個節點的環境變量
啟動master: sbin/start-master.sh
啟動salve: sbin/start-slaves.sh
如遇到權限不足問題,直接給每台機器上的spark目錄賦予 777 的權限即可
http://192.168.48.130:8080/

bin/spark-shell
sudo vim /etc/profile
sudo cp /home/master/下載下傳/mysql-connector-java-5.1.39-bin.jar /opt/sqoop/lib/
此時如果沒有啟用hbase,zookeeper等元件,将相應的資訊注釋,如果啟用了,就pass,直接進入下一步
注意路徑問題
sudo vim /etc/profile ,加入以下内容:
儲存生效:source /etc/profile
進入mahout安裝目錄,執行:bin/mahout
1:出現 sudo: command not found時
執行 export PATH=$PATH:/bin:/usr/bin:/usr/local/bin 即可
2:這裡我們發現除了spark的分布式安裝以外要把安裝包拷貝到各個節點之外,sqoop和mahout并不需要,隻需要在master主機上部署即可,我的了解是sqoop隻是進行資料傳輸的,資料可以是HDFS上的,也可以是Hive,或者Hbase上的,而本身他們已經是分布式的了,是以這裡自然不需要将其拷貝到各個節點,而mahout也一樣吧,隻要運作在分布式的平台上即可,其所依賴的資料也是在hdfs或者hive上,故也不需要将其拷貝到各個節點
3:那麼問題來了,我們是否可以将sqoop或者mahout部署到slave節點上呢?答案是肯定的吧,因為每台機器之間是可以互相通過ssh通路的,sqoop使用時可以直接加上對應的IP位址即可,而mahout就可以直接使用了