Spark-1.4.0單機部署(Hadoop-2.6.0採用偽分布式)【已測】

來源:互聯網
上載者:User

標籤:hadoop   spark   jdk   

??目前手上只有一個機器,就先拿來練下手(事先伺服器上沒有安裝軟體)嘗試一下Spark的單機部署。

??幾個參數:
??JDK-1.7+
??Hadoop-2.6.0(偽分布式);
??Scala-2.10.5;
??Spark-1.4.0;
??下面是具體的配置過程

  • 安裝JDK 1.7+
    【下載網址】http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

    • 環境變數設定(最好不要採用openjdk):

      export JAVA_HOME=/usr/java/java-1.7.0_71export JRE_HOME=$JAVA_HOME/jreexport PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    • 更新重啟環境變數
      $ source /etc/profile

    • 測試
      $ java -version
  • 下載安裝scala-2.10.5
    【下載網址】http://www.scala-lang.org/download/2.10.5.html
    下載對對對應的壓縮包

    $ tar -zxf scala-2.10.5.tgz$ sudo mv scala-2.10.5 /usr/local

    配置環境變數:
    export SCALA_HOME=/usr/local/scala-2.11.4
    export PATH=$SCALA_HOME/bin:$PATH
    更新啟動環境變數
    source /etc/profile
    測試scala安裝是否成功
    $ scala -version

  • 【親測】安裝Hadoop(需要修改Hadoop的情況下,手動編譯)
    【安裝Hadoop的參考網址】http://qindongliang.iteye.com/blog/2222145

    • 安裝依賴
      sudo yum install -y autoconf automake libtool git gcc gcc-c++ make cmake openssl-devel,ncurses-devel bzip2-devel
    • 安裝Maven3.0+
      【下載網址】http://archive.apache.org/dist/maven/maven-3/3.0.5/binaries/

      • 解壓
        tar -xvf apache-maven-3.0.5-bin.tar.gz
      • 移動檔案
        mv -rf apache-maven-3.0.5 /usr/local/
      • 配置環境變數

        MAVEN_HOME=/usr/local/apache-maven-3.0.5export MAVEN_HOMEexport PATH=${PATH}:${MAVEN_HOME}/bin
      • 使生效
        source /etc/profile

      • 檢查是否安裝成功 mvn -v
    • 安裝ant1.8+
      【下載網址】http://archive.apache.org/dist/ant/binaries/

      • 環境變數

        export ANT_HOME=/usr/local/apache-ant-1.8.4export PATH=$ANT_HOME/bin:$PATH
      • 測試
        ant -version

    • 安裝 protobuf-2.5.0.tar.gz

      • 解壓
        tar xvf protobuf-2.5.0.tar.gz
      • 安裝
        cd protobuf-2.5.0
        ./configure --prefix=/usr/local/protobuf
        make
        nake install
      • 環境變數

        export PATH=$PATH:/usr/local/protobuf/binexport LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/protobuf/lib
      • 測試
        protoc --version
        如果輸出libprotoc 2.5.0表示安裝成功。

    • 安裝snappy1.1.0.tar.gz(可選選項,如果需要編譯完的Hadoop支援Snappy壓縮,需要此步驟)
      • 安裝
        ./configure --prefix=/usr/local/snappy #指定的一個安裝目錄
        make
        make install
    • 安裝hadoop-snappy
      • git
        git clone https://github.com/electrum/hadoop-snappy.git
      • 打包
        下載完成後
        cd hadoop-snappy
        執行maven打包命令
        mvn package -Dsnappy.prefix=/home/search/snappy
      • 驗證

        ?這個目錄就是編譯後的snappy的本地庫,在
        hadoop-snappy/target/hadoop-snappy-0.0.1-SNAPSHOT-tar/hadoop-snappy-0.0.1-SNAPSHOT/lib目錄下,有個hadoop-snappy-0.0.1-SNAPSHOT.jar,在hadoop編譯後,需要拷貝到$HADOOP_HOME/lib目錄下。
        ?【備忘】整個過程中使用到的包都放在/root/下面。
    • 安裝Hadoop
      • 安裝(下載hadoop-2.6.0-src.tar.gz是hadoop的源碼)
        【下載網址】http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
        【也可以直接擷取】wget http://archive-primary.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.4.1-src.tar.gz
      • 解壓
        tar -zxvf hadoop-2.6.0-cdh5.4.1-src.tar.gz
      • 解壓後進入根目錄,執行下面這個編譯命令,就能把snappy庫綁定到hadoop的本地庫裡面,這樣就可以在所有的機器上跑了
        mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=(hadoop-snappy裡面編譯後的庫地址) -Dbundle.snappy
        ?中間會報一些異常,無須關心,如果報異常退出了,就繼續執行上面這個命令,直到成功為止,一般速度會跟你的網速有關係,大概40分鐘左右,最後會編譯成功。
  • 【最終選擇】安裝Hadoop(無需修改Hadoop時直接下載編譯好的Hadoop檔案)

    • 安裝(下載已經編譯好的hadoop-2.6.0.tar.gz)
      【下載網址】http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.6.0/
    • 解壓安裝在/usr/local/
    • 改名為hadoop,即最終路徑:/usr/local/hadoop下同。
單機部署Hadoop(偽分布式)
  • Hadoop 的設定檔位於 /usr/local/hadoop/etc/hadoop/ 中(很多的xml檔案),偽分布式需要修改2個設定檔 core-site.xml 和 hdfs-site.xml。
  • 修改設定檔 core-site.xml (vim /usr/local/hadoop/etc/hadoop/core-site.xml)
    將當中的
<configuration></configuration>

修改為下面配置:

<configuration>    <property>        <name>hadoop.tmp.dir</name>        <value>file:/usr/local/hadoop/tmp</value>        <description>Abase for other temporary directories.</description>    </property>    <property>        <name>fs.defaultFS</name>        <value>hdfs://localhost:9000</value>    </property></configuration>
  • 修改設定檔 hdfs-site.xml(同理)
<configuration><property>    <name>dfs.replication</name>    <value>1</value></property><property>    <name>dfs.namenode.name.dir</name>    <value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property>    <name>dfs.datanode.data.dir</name>    <value>file:/usr/local/hadoop/tmp/dfs/data</value></property></configuration>

【注意】不說明的話都是目錄的起始位置都是:hadoop/

  • 配置完成後,執行 namenode 的格式化:
    bin/hdfs namenode -format
    成功的話,會看到successfully formatted的提示,且輸出資訊的倒數第5行的提示如下,Exitting with status 0 表示成功,若為 Exitting with status 1 則是出錯。若出錯,可試著加上 sudo, 既 sudo bin/hdfs namenode -format 再試試看。
  • 開啟NameNode、DataNode守護進程
    sbin/start-dfs.sh
    【注意】若你使用的是 Hadoop 2.4.1 64位,則此時可能會出現一連串的warn提示,如 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 這個提示,這些warn提示可以忽略,不會影響正常使用。
  • 查看進程
    輸入jps即可
    成功啟動則會列出如下進程: NameNode、DataNode和SecondaryNameNode
  • Hadoop-webUI
    在瀏覽器中輸入http://localhost:50070(localhost或者是伺服器ip)
    【注意】如無法訪問,先檢查防火牆是否是關閉狀態(應當是關閉狀態)。
  • 注意(配置過程中遇到)
    在這一步以及後面啟動 Hadoop 時若提示 Error: JAVA_HOME is not set and could not be found. 的錯誤,則需要在檔案 hadoop/etc/hadoop/hadoop-env.sh 中設定 JAVA_HOME 變數,即找到 export JAVA_HOME=${JAVA_HOME} 這一行,改為 export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 (就是之前設定的JAVA_HOME位置),再重新嘗試即可。
  • 關閉NameNode、DataNode守護進程
    sbin/stop-dfs.sh
單機部署Spark
  • 下載
    wget http://archive.apache.org/dist/spark/spark-1.4.0/spark-1.4.0-bin-hadoop2.6.tgz
  • 解壓並修改名字為spark
  • 環境變數
export SPARK_HOME=/usr/local/sparkexport PATH=$PATH:$SPARK_HOME/bin
  • 配置Spark環境變數
    cd $SPARK_HOME/conf
    cp spark-env.sh.template spark-env.sh
    vim spark-env.sh
    添加如下代碼:
export JAVA_HOME=/usr/java/latestexport HADOOP_HOME=/usr/local/hadoopexport HADOOP_CONF_DIR=/usr/local/hadoop/etc/hadoopexport SCALA_HOME=/usr/local/scala-2.10.5export SPARK_HOME=/usr/local/sparkexport SPARK_MASTER_IP=127.0.0.1export SPARK_MASTER_PORT=7077export SPARK_MASTER_WEBUI_PORT=8099export SPARK_WORKER_CORES=3export SPARK_WORKER_INSTANCES=1export SPARK_WORKER_MEMORY=10Gexport SPARK_WORKER_WEBUI_PORT=8081export SPARK_EXECUTOR_CORES=1export SPARK_EXECUTOR_MEMORY=1G#export SPARK_CLASSPATH=/opt/hadoop-lzo/current/hadoop-lzo.jar#export SPARK_CLASSPATH=$SPARK_CLASSPATH:$CLASSPATHexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$HADOOP_HOME/lib/native
  • 配置Slave
    cp slaves.template slaves
    vim slaves
    添加以下代碼(預設就是localhost):
localhost
  • 因為是單機ssh免登陸不再贅述
  • 啟動Spark Master
    目錄:cd $SPARK_HOME/sbin/
    ./start-master.sh
  • 啟動Spark Slave
    目錄:cd $SPARK_HOME/sbin/
    ./start-slaves.sh(注意是slaves)
  • 啟動Spark-shell(application)
    ./spark-shell –master spark://127.0.0.1:7077
  • Spark-webUI
    http://localhost:8099(localhost或者是伺服器ip)
    如下所示:
  • 關閉master和slave
    目錄:cd $SPARK_HOME/sbin/
    ./stop-master.sh
    ./stop-slaves.sh

著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

Spark-1.4.0單機部署(Hadoop-2.6.0採用偽分布式)【已測】

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.