Hadoop僞分佈式系統的搭建

相關軟件下載

1、安裝虛擬機軟件VirtualBox

2、使用VirtualBox新建虛擬機並安裝Ubuntu系統

  提示:最小安裝便可java

3、建立一個新帳戶

  一、使用CTRL+ALT+T打開命令行終端,輸入命令建立新用戶

    sudo useradd -m hadoop -s /bin/bash  node

    說明:-m表示自動建立用戶目錄(/home/hadoop),hadoop是用戶名,-s表示使用/bin/bash做爲shelllinux

  二、給新用戶設置密碼

    sudo passwd hadoopweb

    說明:輸入兩次新密碼shell

  三、給新用戶增長管理員權限

    sudo adduser hadoop sudo數據庫

  四、註銷當前用戶,並以新用戶登陸

4、在Ubuntu中掛載共享文件夾

  一、「設備」->「共享文件夾」,記住共享文件夾的共享名

  二、「設備」->「安裝加強功能「

    說明:安裝好了,桌面上會出現光盤圖標VBox_GAs_5.2.18和一個虛擬盤sf_VirtualBoxShareapache

  三、進入目錄/media/hadoop/VBox_GAs_5.2.18,執行命令./VBoxLinuxAddtion.run

  四、將共享文件夾掛載到Ubuntu的一個文件夾

    (1)建立掛載的目標文件夾vim

      mkdir  ~/sharecentos

    (2)掛載bash

      格式:mount -t vboxsf 共享名 本地目錄

      mount -t vboxsf VirtualBoxShare  ~/share

      說明:VirtualBox是共享文件夾的共享名,share目錄須要事先在家目錄(~,即/home/hadoop) 下建立

  五、設置vbox共享粘貼板

    「設備」->「共享粘貼板」->「雙向「

    說明:這樣在真機和虛擬機之間能夠任意的複製和粘貼。

5、安裝一些必要的工具

  一、更新apt-get

    sudo apt-get update

    說明:apt-get是用來安裝軟件的工具

  二、安裝ssh服務

    apt-get install openssh-server

    說明: ssh是機器之間遠程登陸的服務

  三、安裝vim

    apt-get install vim 

    說明:vim是Linux下經常使用的文本編輯器,Ubuntu也有自帶的文本編輯器gedit

6、配置免密登陸

  一、禁用防火牆  

    ufw disable  

    ufw status //查看防火牆狀態

  二、生成密鑰對

    cd  ~/.ssh

    ssh-keygen  -t  rsa

    說明:一路回車,在~/.ssh目錄會生成一個兩個文件,id_rsa和id_rsa.pub

  三、將公鑰複製到localhost

    ssh-copy-id localhost

    說明:也可cat  ./id_rsa.pub >> ./authorized_keys,這樣~/.ssh目錄又會多一個文件authorized_keys

  四、登陸測試  

    ssh localhost

    說明:看是否須要輸入密碼  

  五、退出與localhost的鏈接

    exit

7、安裝並配置jdk

  一、在家目錄(~)下新建/app 文件夾

    mkdir  ~/app

     說明:後面的jdk、hadoop等都安裝在此

  二、在真機中將jdk、hadoop的安裝包複製到真機的共享文件夾中

  三、安裝jdk

    tar  -zxvf  ~/share/jdk-8u181-linux-x64.tar.gz  -C  ~/app  //解壓

    mv  ~/app/jdk1.8.0_181   ~/app/jdk   //更名

  四、配置jdk

  (1)編輯配置文件.bashrc

    vim  ~/.bashrc

      export JAVA_HOME=/home/hadoop/app/jdk
      export JRE_HOME=$JAVA_HOME/jre
      export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
      export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

  (2) 編譯配置文件

    source  ~/.bashrc

  (3)測試jdk

    java -version

8、安裝hadoop

  一、安裝hadoop

    tar  -zxvf  ~/share/hadoop-2.7.3.tar.gz  -C  ~/app  //解壓

    mv  ~/app/hadoop-2.7.3   ~/app/hadoop  //更名

  二、配置hadoop

    (1)配置環境變量

      vim ~/.bashrc,添加或修改如下語句:

        export HADOOP_HOME=/app/hadoop //添加
        export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin //修改

      source  ~/.bashrc //編譯生效

    (2)配置hadoop-env.sh

      vim ~/app/hadoop/etc/hadoop/hadoop-env.sh

        找到export JAVA_HOME=${JAVA_HOME}這一行,將其修改成:
        export JAVA_HOME=/home/hadoop/app/jdk

    (3)配置core-site.xml   

      <configuration>
        <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
        </property>
        <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/hadoop/app/hadoop/tmp</value>  <!--該目錄須要手動建立 -->
        </property>
      </configuration>

    (4)配置hdfs-site.xml    

      <configuration>
        <property>

          <!--配置塊的副本數 -->
          <name>dfs.replication</name>
          <value>1</value>
        </property>
      </configuration>

    (5)配置mapred-site.xml

      說明:需將mapred-site.xml.template複製成mapred-site.xml,並配置內容以下:

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

    (6)配置yarn-site.xml

      <configuration>

        <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
        </property>
      </configuration>

9、運行hadoop

  一、格式化namenode

    hadoop namenode -format

    說明:

      首次運行須格式化,之後運行就不須要這一步。

      格式化後會在core-site.xml中hadoop.tmp.dir所指定的目錄中生成name文件夾。

  二、運行hadoop

    cd ~/app/hadoop/sbin

    ./start-all.sh

  三、查看進程:

    jps     

      14262 NameNode
      15976 NodeManager
      14385 DataNode
      15884 ResourceManager
      14601 SecondaryNameNode
      16120 Jps
     若是出現以上進程,說明hadoop環境搭建成功,分佈式系統啓動完成。  

  四、webUI查看

    http://localhost:50070   //查看hdfs

    http://localhost:8088  //查看mapreduce做業狀況

10、測試wordcount程序

  一、生成單詞文件

    mkdir  ~/tmp
    echo 'hello world hello hadoop' >  ~/tmp/word1.txt
    echo 'hive run on hadoop' >  ~/tmp/word2.txt  

  二、上傳至hdfs

    (1)在hdfs上新建輸入數據的目錄
      hdfs dfs -mkdir /input
    (2)上傳文件

      hdfs dfs -put  /tmp/word*.txt  /input

  三、運行hadoop自帶的單詞計數程序  

    hadoop jar  ~/app/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /input output

  四、查看結果

    hdfs dfs -cat /user/hadoop/output/part-r-00000
    能夠看到每一個單詞出現的次數

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------

hive內嵌模式的安裝

  一、解壓

    tar -zxvf ~/share/apache-hive-2.1.0-bin.tar.gz -C  ~/app

  二、設置環境變量

    vim ~/.bashrc

      HIVE_HOME=/home/hadoop/app/hive

      export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

  三、配置hive-env.sh

    cd ~/app/hive/conf

    cp hive-env.sh.template hive-env.sh

    vim hive-env.sh     

      HADOOP_HOME=/home/hadoop/app/hadoop

   四、配置hive-site.xml

    cd ~/app/hive/conf

    cp hive-site.xml.template hive-site.xml

    vim hive-site.xml      

      <property>

        <name>hive.querylog.location</name>

         <value>/home/centosm/hive/hivelog</value>

        <description>Location of Hive run time structured log file</description>

      </property> 

      <property>
        <name>hive.exec.local.scratchdir</name>
        <value>/home/hadoop/app/hive/hivelog</value>
        <description>Local scratch space for Hive jobs</description>
      </property>
      <property>
        <name>hive.downloaded.resources.dir</name>
        <value>/home/hadoop/app/hive/hivelog</value>
        <description>Temporary local directory for added resources in the remote file system.</description>
      </property>

    五、初始化derby數據庫

      cd ~/app/hive/bin

      schematool -initSchema -dbType derby

    六、運行hive

      $HADOOP_HOME/sbin/start-all.sh  //先啓動hadoop

      $HIVE_HOME/bin/hive  //啓動hive

 

 附:

-------------------------------------------------------------------------------------------------

一、Ubuntu 遭遇 沒法打開鎖文件 /var/lib/dpkg/lock - open (13: 權限不夠)

sudo rm /var/lib/dpkg/lock

sudo rm /var/cache/apt/archive/lock

相關文章
相關標籤/搜索