在MacOs上配置Hadoop和Spark環境

来源:http://www.cnblogs.com/wangjiyong/archive/2016/01/31/5173090.html
-Advertisement-
Play Games

在MacOs上配置hadoop和spark環境 Setting up Hadoop with Spark on MacOs Instructions 準備環境 如果沒有brew,先google怎樣安裝brew 先uninstall老版本的Hadoop brew cleanup hadoop 然後更新


在MacOs上配置hadoop和spark環境

Setting up Hadoop with Spark on MacOs

Instructions

  1. 準備環境
    如果沒有brew,先google怎樣安裝brew
    先uninstall老版本的Hadoop

    brew cleanup hadoop

    然後更新homebrew formulae

    brew update
    brew upgrade
    brew cleanup

    檢查版本信息

    brew info hadoop
    brew info apache-spark
    brew info sbt
    brew info scala

    如果以上程式沒有安裝,需要使用brew install app 進行安裝。

  2. 安裝環境 安裝hadoop

    brew install hadoop

    安裝spark

    brew install apache-spark scala sbt

  3. 設置環境變數
    使用vim編輯~/.bash_profile,將以下內容貼到最後

     # set environment variables   
     export JAVA_HOME=$(/usr/libexec/java_home)     
     export HADOOP_HOME=/usr/local/Cellar/hadoop/2.5.1    
     export HADOOP_CONF_DIR=$HADOOP_HOME/libexec/etc/hadoop   
     export SCALA_HOME=/usr/local/Cellar/apache-spark/1.1.0   
    
     # set path variables   
     export PATH=$PATH:$HADOOP_HOME/bin:$SCALA_HOME/bin     
    
     # set alias start & stop scripts   
     alias hstart=$HADOOP_HOME/sbin/start-dfs.sh;$HADOOP_HOME/sbin/start-yarn.sh   
     alias hstop=$HADOOP_HOME/sbin/stop-dfs.sh;$HADOOP_HOME/sbin/stop-yarn.sh
    
  4. Hadoop必須要使ssh生效,設置ssh

    • 配置文件路徑:

      /etc/sshd_config

    • 生成秘鑰:

      sh-3.2# sudo ssh-keygen -t rsa

        Generating public/private rsa key pair.
        Enter file in which to save the key (/var/root/.ssh/id_rsa):  輸入/var/root/.ssh/id_rsa
        Enter passphrase (empty for no passphrase): [直接回車]
        Enter same passphrase again: [直接回車]
        Your identification has been saved in /var/root/.ssh/id_rsa.
        Your public key has been saved in /var/root/.ssh/id_rsa.pub.
        key fingerprint is:
        97:e9:5a:5e:91:52:30:63:9e:34:1a:6f:24:64:75:af [email protected]
        The key's randomart image is:
        +--[ RSA 2048]----+
        |       .=.X .    |
        |       . X B .   |
        |        . = . .  |
        |         . + o   |
        |        S = E    |
        |         o . .   |
        |          o .    |
        |         + .     |
        |        . .      |
        +-----------------+
      
    • 修改配置文

      sudo vim /etc/ssh/sshd_config

        Port 22
        #AddressFamily any
        #ListenAddress 0.0.0.0
        #ListenAddress ::
        # The default requires explicit activation of protocol 1
        Protocol 2
        # HostKey for protocol version 1
        #HostKey /etc/ssh/ssh_host_key
        # HostKeys for protocol version 2
        #HostKey /etc/ssh/ssh_host_rsa_key
        #HostKey /etc/ssh/ssh_host_dsa_key
        #HostKey /etc/ssh/ssh_host_ecdsa_key
        HostKey /var/root/.ssh/id_rsa
      
        # Lifetime and size of ephemeral version 1 server key
        KeyRegenerationInterval 1h
        ServerKeyBits 1024
      
        # Logging
        # obsoletes QuietMode and FascistLogging
        SyslogFacility AUTHPRIV
        #LogLevel INFO
      
        # Authentication:
        LoginGraceTime 2m
        PermitRootLogin yes
        StrictModes yes
        #MaxAuthTries 6
        #MaxSessions 10
      
        RSAAuthentication yes
      
        PubkeyAuthentication yes
      
    • 啟動ssh服務

      which sshd //查找sshd的位置。

      Mac 上sshd的位置在 /usr/sbin/sshd

      在終端輸入sudo /usr/sbin/sshd即可啟動sshd服務。

      ssh-keygen -t rsa
      cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

  5. 配置Hadoop
    到hadoop的安裝路徑

    cd usr/local/Cellar/hadoop/2.5.1/libexec/

    編輯etc/hadoop/hadoop-env.sh

     # this fixes the "scdynamicstore" warning   
     export HADOOP_OPTS="$HADOOP_OPTS -Djava.security.krb5.realm= -Djava.security.krb5.kdc=" 
    

    編輯etc/hadoop/core-site.xml

     <configuration>
         <property>
             <name>fs.defaultFS</name>
             <value>hdfs://localhost:9000</value>
         </property>
     </configuration>
    

    編輯etc/hadoop/hdfs-site.xml

     <configuration> 
         <property> 
             <name>dfs.replication</name> 
             <value>1</value> 
         </property> 
     </configuration>
    

    編輯etc/hadoop/mapred-site.xml

     <configuration>
         <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
         </property>
     </configuration>
    

    編輯etc/hadoop/yarn-site.xml

     <configuration> 
         <property> 
             <name>yarn.nodemanager.aux-services</name> 
             <value>mapreduce_shuffle</value> 
         </property> 
     </configuration>
    
  6. 開始啟用Hadoop
    移動到Hadoop的root directory

    cd /usr/local/Cellar/hadoop/2.5.1

    格式化Hadoop HDFS

    ./bin/hdfs namenode -format

    啟動NameNode和DataNode daemon

    ./sbin/start-dfs.sh

    從網頁中查看

    http://localhost:50070/

    啟動ResourceManager和NodeManager daemon

    ./sbin/start-yarn.sh

    檢查所有的守護線程是不是已經在運行

    jps

    從網頁中查看ResourceManager

    http://localhost:8088/

    創建HDFS目錄

    ./bin/hdfs dfs -mkdir -p /user/{username}

    啟動一個MapReduce的例子

     \#calculate pi  
     ./bin/hadoop jar libexec/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.1.jar pi 10 100
    
  7. 啟動spark

    到Spark的安裝目錄

    cd /usr/local/Cellar/apache-spark/1.1.0

    啟動Spark的例子

    ./bin/run-example SparkPi

    在網頁中查看Spark任務

    http://localhost:4040/

    也可以使用Spark-submit來提交任務

     # pattern to launch an application in yarn-cluster mode
     ./bin/spark-submit --class <path.to.class> --master yarn-cluster [options] <app.jar> [options]
    
     # run example application (calculate pi)
     ./bin/spark-submit --class org.apache.spark.examples.SparkPi --master yarn-cluster libexec/lib/spark-examples-*.jar
    
  8. 結束


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡介 Chocolatey是Windows下包管理工具,可以使用 Chocolatey 來安裝應用程式。 二、安裝 1)線上安裝:參見 主頁 官網:https://chocolatey.org/ 2)離線安裝:下載腳本雙擊執行 http://files.cnblogs.com/files/274...
  • 我們知道UWP是通過不同的頁面來展示不同的內容的,那麼我們該怎麼進行頁面之間的傳值呢? 首先我們在MainPage裡面寫一個ListView來展示一些英文單詞。 1 List<English> wordList = new List<English> 2 { 3 new English { Word
  • List<Enterprise> epList = ViewBag.epList; foreach (var item in epList){ //todo ... } 當 List<Enterprise> epList = ViewBag.epList; 變為 List<EnterpriseInf
  • 鏈表的學習 在數據結構中有一種結構叫做線性表,線性表是儲存一個線性數據的表格,本文就簡要的介紹一下線性表的構成。 一、線性表的定義定義:由同種類型數據元素構成的有序數列的線性結構長度、表頭、表尾List線性表的形式有兩種:一種是數組構成的表,另一種是鏈表。所謂數組形成的表就是一個數組,如下定義所示
  • 在win10的環境下安裝scrapy,並不能直接按照官網的手冊(http://doc.scrapy.org/en/1.0/intro/install.html)一次性安裝成功,根據我自己的安裝過程中遇到的問題,特意整理了一下安裝過程 1.下載安裝python2.7.11 https://www.py...
  • PHP,一門最近幾年興起的web設計腳本語言,由於它的強大和可伸縮性,近幾年來得到長足的發展,php相比傳統的asp網站,在速度上有絕對的優勢,想mssql轉6萬條數據php如需要40秒,asp不下2分鐘.但是,由於網站的數據越來越多,我們渴求能更快速的調用數據,不必要每次都從資料庫掉,我們可以從其
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...