安裝Hadoop及Spark(Ubuntu 16.04)


安裝Hadoop及Spark(Ubuntu 16.04)

安裝JDK

  • 下載jdk(以jdk-8u91-linux-x64.tar.gz為例)

  • 新建文件夾

    sudo mkdir /usr/lib/jvm

  • 解壓下載的jdk文件並移動到新建的文件夾下

    sudo tar -xzvf jdk-8u91-linux-x64.tar.gz -C /usr/lib/jvm

  • 進入jvm文件夾並重命名解壓出來的文件夾

    cd /usr/lib/jvm
    sudo mv jdk1.8.0_91 jdk
    
  • 添加環境變量

    sudo vim /etc/profile
    # 添加如下配置
    export JAVA_HOME=/usr/lib/jvm/jdk
    export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASSPATH
    export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
    
  • 使配置生效

    source /etc/profile

  • 測試

    java -version

安裝Scala

  • 類似於jdk的安裝

  • 下載scala(以scala-2.11.8.tgz為例)

  • 解壓下載的scala文件

    sudo tar -xzvf scala-2.11.8.tgz -C /usr/local

  • 重命名

    cd /usr/local
    sudo mv scala-2.11.8 scala
    
  • 添加環境變量

    sudo vim /etc/profile
    # 在最后添加下面內容
    export SCALA_HOME=/usr/local/scala
    export PATH=$SCALA_HOME/bin:$PATH
    
  • 使配置生效

    source /etc/profile

  • 測試

    scala -version

安裝Hadoop

Spark默認使用HDFS充當持久化層,所以需要安裝Hadoop,當然也可以不安裝

參考

安裝

  • 安裝ssh

    sudo apt install openssh-server

  • 配置ssh無密登陸

    ssh-keygen -t rsa	# 一直回車
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  • 測試ssh無密登陸

    ssh localhost # 如果不提示輸入密碼則配置成功

  • 下載Hadoop(以hadoop-2.7.2.tar.gz為例)

  • 解壓

    sudo tar -xzvf hadoop-2.7.2.tar.gz -C /usr/local

  • 重命名

    cd /usr/local
    sudo mv hadoop-2.7.2 hadoop
    
  • 修改權限

    cd /usr/local
    sudo chown -R yourusername:yourusername hadoop
    
  • 配置環境變量

    sudo vim /etc/profile
    # 在最后添加下面代碼
    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    
  • 測試

    hadoop version

Hadoop偽分布式配置

  • 修改配置文件core-site.xml

    cd /usr/local/hadoop
    vim ./etc/hadoop/core-site.xml
    # 修改為如下
    <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

    cd /usr/local/hadoop
    vim ./etc/hadoop/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-env.sh

    cd /usr/local/hadoop
    vim ./etc/hadoop/hadoop-env.sh
    # 將 export JAVA_HOME=${JAVA_HOME} 更改為:
    export JAVA_HOME=/usr/lib/jvm/jdk
    
  • 執行NameNode格式化

    hdfs namenode -format

  • 運行

    start-dfs.sh

  • 測試

    jps

    有如下幾個進程

    5939 Jps
    5636 DataNode
    5493 NameNode
    5814 SecondaryNameNode
    
  • 通過瀏覽器查看

    在瀏覽器中輸入一下地址:localhost:50070

配置YARN

  • 修改配置文件mapred-site.xml

    cd /usr/local/hadoop
    cp ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
    vim ./etc/hadoop/mapred-site.xml
    # 修改為如下配置
    <configuration>
            <property>
                 <name>mapreduce.framework.name</name>
                 <value>yarn</value>
            </property>
    </configuration>
    
  • 修改配置文件yarn-site.xml

    cd /usr/local/hadoop
    vim ./etc/hadoop/yarn-site.xml
    # 修改為以下配置
    <configuration>
            <property>
                 <name>yarn.nodemanager.aux-services</name>
                 <value>mapreduce_shuffle</value>
                </property>
    </configuration>
    
  • 編寫啟動腳本

    #!/bin/bash
    # 啟動hadoop
    start-dfs.sh
    # 啟動yarn
    start-yarn.sh
    # 啟動歷史服務器,以便在Web中查看任務運行情況
    mr-jobhistory-daemon.sh start historyserver
    
  • 編寫停止腳本

    #!/bin/bash
    # 停止歷史服務器
    mr-jobhistory-daemon.sh stop historyserver
    # 停止yarn
    stop-yarn.sh
    # 停止hadoop
    stop-dfs.sh
    
  • 通過 Web 界面查看任務的運行情況

    瀏覽器中輸入地址:localhost:8088

安裝Spark

  • 下載spark(以spark-2.0.0-bin-hadoop2.7.tgz為例)

  • 解壓下載的spark文件

    sudo tar -zxf spark-2.0.0-bin-hadoop2.7.tgz -C /usr/local

  • 重命名

    cd /usr/local
    sudo mv spark-2.0.0-bin-hadoop2.7 spark
    
  • 添加環境變量

    sudo vim /etc/profile
    # 在最后添加下面內容
    export SPARK_HOME=/usr/local/spark
    export PATH=$SPARK_HOME/bin:$SPARK_HOME/sbin:$PATH
    
  • 修改一下權限

    cd /usr/local
    sudo chown -R yourusername:yourusername ./spark
    
  • 拷貝配置文件

    cd /usr/local/spark
    cp ./conf/spark-env.sh.template ./conf/spark-env.sh
    
  • 修改配置文件

    cd /usr/loca/spark
    vim ./conf/spark-env.sh
    # 添加下面一行
    export SPARK_DIST_CLASSPATH=$(/usr/local/hadoop/bin/hadoop classpath)
    export JAVA_HOME=/usr/lib/jvm/jdk
    
  • 運行簡單示例

    /usr/local/spark/bin/run-example SparkPi 2>&1 | grep "Pi is roughly"

  • 啟動Spark

    /usr/local/spark/sbin/start-all.sh

  • 編寫腳本

    啟動Hadoop以及Spark

    #!/bin/bash
    # 啟動Hadoop以及yarn
    start-dfs.sh
    start-yarn.sh
    # 啟動歷史服務器
    mr-jobhistory-daemon.sh start historyserver
    # 啟動Spark
    /usr/local/spark/sbin/start-all.sh
    

    停止Hadoop以及Spark

    #!/bin/bash
    # 停止Spark
    stop-dfs.sh
    stop-yarn.sh
    # 停止歷史服務器
    mr-jobhistory-daemon.sh stop historyserver
    # 停止Hadoop以及yarn
    /usr/local/hadoop/sbin/stop-all.sh
    
  • 通過WEB頁面查看

    瀏覽器中輸入地址:localhost:8080


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM