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

相关文章
相关标签/搜索