一、 下載資料 1. JDK 1.6 + 2. Scala 2.10.4 3. Hadoop 2.6.4 4. Spark 1.6 二、預先安裝 1. 安裝JDK 2. 安裝Scala 2.10.4 解壓安裝包即可 3. 配置sshd ssh-keygen -t dsa -P '' -f ~/.ss ...
一、 下載資料
1. JDK 1.6 +
2. Scala 2.10.4
3. Hadoop 2.6.4
4. Spark 1.6
二、預先安裝
1. 安裝JDK
2. 安裝Scala 2.10.4
解壓安裝包即可
3. 配置sshd
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
mac 啟動sshd
sudo launchctl load -w /System/Library/LaunchDaemons/ssh.plist
查看啟動
sudo launchctl list | grep ssh
輸出- 0 com.openssh.sshd 表示啟動成功
停止sshd服務
sudo launchctl unload -w /System/Library/LaunchDaemons/ssh.plist
三、安裝Hadoop
1. 創建Hadoop文件系統目錄
mkdir -pv hadoop/workspace
cd hadoop/workspace
mkdir tmp
mkdir -pv hdfs/data
mkdir -pv hdfs/name
添加hadoop目錄環境變數
vi ~/.bashrc
HADOOP_HOME=/Users/ysisl/app/hadoop/hadoop-2.6.4
配置hadoop,都在$HADOOP_HOME/etc/hadoop 下
1. core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
<description>HDFS URI</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/Users/ysisl/app/hadoop/workspace/tmp</value>
<description>namenode temp dir</description>
</property>
</configuration>
2. hdfs-site.xml
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/Users/ysisl/app/hadoop/workspace/hdfs/name</value>
<description>namenode上存儲hdfs名字空間元數據 </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/Users/ysisl/app/hadoop/workspace/hdfs/data</value>
<description>datanode上數據塊的物理存儲位置</description>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本個數,配置預設是3,應小於datanode機器數量</description>
</property>
</configuration>
3. copy mapred-site.xml.template to mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
4. yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>localhost:8099</value>
</property>
</configuration>
5. 格式化HDFS文件系統
$HADOOP_HOME/bin/hdfs namenode -format
6. 進入sbin/ 執行 start-all.sh
7. 執行jps 查看是否正常啟動
21472
30256 Jps
29793 DataNode
29970 SecondaryNameNode
29638 NameNode
30070 ResourceManager
30231 NodeManager
8. 打開 http://localhost:50070/explorer.html 網頁查看hadoop目錄結構,說明安裝成功
四、安裝Spark
1. 解壓spark壓縮包
tar xvzf spark.1.6.tar.gz
2. 加入環境變數
vi ~/.bashrc
SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
SPARK_HOME=/Users/ysisl/app/spark/spark-1.6.1-bin-hadoop2.6
2. 設置配置文件
cd spar-1.6.1-bin-hadoop2.6/conf
cp spark-env.sh.template spark-env.sh
vi spar-env.sh
添加如下內容
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home
export SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
export HADOOP_CONF_DIR=/Users/ysisl/app/hadoop/hadoop-2.6.4/etc/hadoop
export SPARK_MASTER_IP=localhost
export SPARK_WORKER_CORES=2
export SPARK_WORKER_MEMORY=2g
cp slaves.template slaves
預設slaves現在就主機一臺
3. 啟動 sbin/start-all.sh
jps 查看到多出一個Master,worker進程
21472
29793 DataNode
29970 SecondaryNameNode
30275 Master
30468 SparkSubmit
29638 NameNode
30070 ResourceManager
30231 NodeManager
30407 Worker
30586 Jps
4. 配置scala 、spark 、 hadoop 環境變數加入PATH ,方便執行
vi ~/.bashrc
export HADOOP_HOME=/Users/ysisl/app/hadoop/hadoop-2.6.4
export SCALA_HOME=/Users/ysisl/app/spark/scala-2.10.4
export SPARK_HOME=/Users/ysisl/app/spark/spark-1.6.1-bin-hadoop2.6
export PATH="${HADOOP_HOME}/bin:${SCALA_HOME}/bin:${SPARK_HOME}/bin:$PATH"
五. 測試運行
1. 準備一個csv文件,路徑 /Users/ysisl/app/hadoop/test.csv
2. 查看DFS文件系統結構, 執行 hadoop fs -lsr /
3. 新建目錄 , hadoop fs -mkdir /test
4. 上傳文件到目錄, hadoop fs -put /Users/ysisl/app/hadoop/test.csv /test/
5. hadoop fs -lsr / 查看已創建的目錄文件
6. 執行 spark-shell
scala > val file=sc.textFile("hdfs:/test/test.csv")
scala > val count=file.flatMap(line=>line.split(" ")).map(word=>(word,1)).reduceByKey(_+_)
scala > count.collect
7. 查看執行狀態
a. localhost:8080 ,查看spark 集群運行情況。 此埠一般與其他埠衝突
在spark-env.sh 中加入 export SPARK_MASTER_WEBUI_PORT=98080 來指定
b. http://localhost:4040/jobs/ ,查看 spark task job運行情況
c. http://localhost:50070/ hadoop集群運行情況