1. 程式人生 > 實用技巧 >hadoop安裝文件

hadoop安裝文件

1. 安裝JDK

1.1 JDK安裝步驟

  1. 下載JDK安裝包(下載Linux系統的 .tar.gz 的安裝包)

    https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

  2. 更新Ubuntu源

    sudo apt-get update

  3. 將JDK壓縮包解壓到Ubuntu系統中 /usr/local/ 中

    sudo tar -zxvf jdk-8u251-linux-x64.tar.gz -C /usr/local/

  4. 將解壓的資料夾重新命名為 jdk8

    cd /usr/local/

    sudo mv jdk1.8.0_251/ jdk8

  5. 新增到環境變數

    cd /home/tarena/

    sudo gedit .bashrc

    在檔案末尾新增如下內容:

    1
    export JAVA_HOME=/usr/local/jdk8
    2
    export JRE_HOME=$JAVA_HOME/jre
    3
    export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
    4
    export PATH=.:$JAVA_HOME/bin:$PATH

    source .bashrc

  6. 驗證是否安裝成功

    java -version

    出現java的版本則證明安裝並新增到環境變數成功 java version "1.8.0_251"

2. 安裝Hadoop並配置偽分散式

2.1 Hadoop安裝配置步驟

  1. 安裝SSH

    sudo apt-get install ssh

  2. 配置免登入認證,避免使用Hadoop時的許可權問題

    ssh-keygen -t rsa (輸入此條命令後一路回車)

    cd ~/.ssh

    cat id_rsa.pub >> authorized_keys

    ssh localhost (發現並未讓輸入密碼即可連線)

    exit (退出遠端連線狀態)

  3. 下載Hadoop 2.10(374M)

    https://archive.apache.org/dist/hadoop/common/hadoop-2.10.0/hadoop-2.10.0.tar.gz

  4. 解壓到 /usr/local 目錄中,並將資料夾重新命名為 hadoop,最後設定許可權

    sudo tar -zxvf hadoop-2.10.0.tar.gz -C /usr/local/

    cd /usr/local

    sudo mv hadoop-2.10.0/ hadoop2.10

    sudo chown -R tarena hadoop2.10/

  5. 驗證Hadoop

    cd /usr/local/hadoop2.10/bin

    ./hadoop version (此處出現hadoop的版本)

  6. 設定JAVE_HOME環境變數

    sudo gedit /usr/local/hadoop2.10/etc/hadoop/hadoop-env.sh

    把原來的export JAVA_HOME=${JAVA_HOME}改為 export JAVA_HOME=/usr/local/jdk8

  7. 設定Hadoop環境變數

    sudo gedit /home/tarena/.bashrc

    在末尾追加

    3 1
    export HADOOP_HOME=/usr/local/hadoop2.10
    2
    export CLASSPATH=.:{JAVA_HOME}/lib:${HADOOP_HOME}/sbin:$PATH
    3
    export PATH=.:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

    source /home/tarena/.bashrc

  8. 偽分散式配置,修改2個配置檔案(core-site.xml 和 hdfs-site.xml)

  9. 修改core-site.xml

    sudo gedit /usr/local/hadoop2.10/etc/hadoop/core-site.xml

    新增如下內容

    10 1
    <configuration>
    2
        <property>
    3
            <name>hadoop.tmp.dir</name>
    4
            <value>file:/usr/local/hadoop2.10/tmp</value>
    5
        </property>
    6
        <property>
    7
            <name>fs.defaultFS</name>
    8
            <value>hdfs://localhost:9000</value>
    9
        </property>
    10
    </configuration>
  10. 修改hdfs-site.xml

    sudo gedit /usr/local/hadoop2.10/etc/hadoop/hdfs-site.xml

    新增如下內容

    14 1
    <configuration>
    2
        <property>
    3
            <name>dfs.replication</name>
    4
            <value>1</value>
    5
        </property>
    6
        <property>
    7
            <name>dfs.namenode.name.dir</name>
    8
            <value>file:/usr/local/hadoop2.10/tmp/dfs/name</value>
    9
        </property>
    10
        <property>
    11
            <name>dfs.datanode.data.dir</name>
    12
            <value>file:/usr/local/hadoop2.10/tmp/dfs/data</value>
    13
        </property>
    14
    </configuration>
  11. 配置YARN - 1

    cd /usr/local/hadoop2.10/etc/hadoop

    cp mapred-site.xml.template mapred-site.xml

    sudo gedit mapred-site.xml

    新增如下配置

    4 1
    <property>
    2
        <name>mapreduce.framework.name</name>
    3
        <value>yarn</value>
    4
    </property>
  12. 配置YARN - 2

    sudo gedit yarn-site.xml

    新增如下配置:

    4 1
    <property>
    2
        <name>yarn.nodemanager.aux-services</name>
    3
        <value>mapreduce_shuffle</value>
    4
    </property>
  13. 執行NameNode格式化

    cd /usr/local/hadoop2.10/bin

    ./hdfs namenode -format

    出現 Storage directory /usr/local/hadoop2.10/tmp/dfs/name has been successfully formatted 則表示格式化成功

  14. 啟動Hadoop所有元件

    cd /usr/local/hadoop2.10/sbin

    ./start-all.sh

    啟動時可能會出現警告,直接忽略即可,不影響正常使用

  15. 啟動成功後,可訪問Web頁面檢視 NameNode 和 Datanode 資訊,還可以線上檢視 HDFS 中的檔案

    http://localhost:50070

  16. 檢視Hadoop相關元件程序

    jps

    會發現如下程序

    5 1
    NameNode --- 50070
    2
    DataNode --- 50075
    3
    SecondaryNameNode --- 50090
    4
    ResourceManager --- 8088
    5
    NodeManager
  17. 測試 - 將本地檔案上傳至hdfs

    hadoop fs -put 一個本地的任意檔案 /

    hadoop fs -ls /

    也可以在瀏覽器中Utilities->Browse the file system檢視

3. Hive安裝

3.1 詳細安裝步驟

  1. 下載hive安裝包(2.3.7版本

    http://us.mirrors.quenda.co/apache/hive/

  2. 解壓到 /usr/local/ 目錄下

    sudo tar -zxvf apache-hive-2.3.7-bin.tar.gz -C /usr/local

  3. 給資料夾重新命名

    sudo mv /usr/local/apache-hive-2.3.7-bin /usr/local/hive2.3.7

  4. 設定環境變數

    sudo gedit /home/tarena/.bashrc 在末尾新增如下內容

    2 1
    export HIVE_HOME=/usr/local/hive2.3.7
    2
    export PATH=.:${HIVE_HOME}/bin:$PATH
  5. 重新整理環境變數

    source /home/tarena/.bashrc

  6. 下載並新增連線MySQL資料庫的jar包(8.0.19 Ubuntu Linux Ubuntu Linux 18.04

    下載連結: https://downloads.mysql.com/archives/c-j/ 解壓後找到 mysql-connector-java-8.0.19.jar 將其拷貝到 /usr/local/hive2.3.7/lib sudo cp -p mysql-connector-java-8.0.19.jar /usr/local/hive2.3.7/lib/

  7. 建立hive-site.xml配置檔案

    sudo touch /usr/local/hive2.3.7/conf/hive-site.xml

    sudo gedit /usr/local/hive2.3.7/conf/hive-site.xml 並新增如下內容

    22 1
    <configuration>
    2
            <property>
    3
                <name>javax.jdo.option.ConnectionURL</name>
    4
                <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    5
                <description>JDBC connect string for a JDBC metastore</description>
    6
            </property>
    7
            <property>
    8
                <name>javax.jdo.option.ConnectionDriverName</name>
    9
                <value>com.mysql.cj.jdbc.Driver</value>
    10
                <description>Driver class name for a JDBC metastore</description>
    11
            </property>
    12
            <property>
    13
                <name>javax.jdo.option.ConnectionUserName</name>
    14
                <value>root</value>
    15
                <description>username to use against metastore database</description>
    16
            </property>
    17
            <property>
    18
                <name>javax.jdo.option.ConnectionPassword</name>
    19
                <value>123456</value>
    20
                <description>password to use against metastore database</description>
    21
            </property>
    22
    </configuration>
  8. 在hive配置檔案中新增hadoop路徑

    cd /usr/local/hive2.3.7/conf sudo cp -p hive-env.sh.template hive-env.sh sudo gedit /usr/local/hive2.3.7/conf/hive-env.sh 新增如下內容:

    2 1
    HADOOP_HOME=/usr/local/hadoop2.10
    2
    export HIVE_CONF_DIR=/usr/local/hive2.3.7/conf
  9. hive元資料初始化

    schematool -dbType mysql -initSchema

  10. 測試hive

    hive

    hive>show databases;

    如果能夠正常顯示內容,則hive安裝並配置完畢