Apache Spark 1.6 Hadoop 2.6 Mac下單機安裝配置

1、 下載資料html

1. JDK 1.6 + node

2. Scala 2.10.4web

3. Hadoop 2.6.4 shell

4. Spark 1.6 bash

 

2、預先安裝app

1. 安裝JDKssh

2. 安裝Scala 2.10.4webapp

     解壓安裝包便可oop

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

 

 

3、安裝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目錄結構,說明安裝成功

 

 

4、安裝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集羣運行狀況

相關文章
相關標籤/搜索