hadoop搭建伪分布式集群

一、伪分布式

  1.新建虚拟机
  2. 修改虚拟机的静态IP
  3. 修改主机名
  4. 关闭防火墙
  5. 创建普通用户
  useradd jinghang
  passwd jinghang

 

  6. 配置普通用户具有root权限
    vim /etc/sudoers 91
    jinghang ALL=(ALL) NOPASSWD:ALL

 

    完成后:wq!

 

  7.在/opt目录下创建文件夹
    (1)在/opt目录下创建module、software文件夹
      mkdir /opt/module /opt/software
    (2) 修改module、software文件夹所有者和所属组
      chown jinghang:jinghang /opt/module /opt/software

  8.克隆虚拟机
    8.1 关机拍摄快照
    8.2 克隆虚拟机(链接克隆、完整克隆)
    8.3 修改克隆后虚拟机的ip和主机名、ip主机的映射关系(使用脚本完成)
    8.4 克隆虚拟机有两个网卡:
      vim vim /etc/udev/rules.d/70-persistent-net.rules
      1.删除 NAME="eth0"这一行
      2.修改NAME="eth1" -> NAME="eth0" (:wq!)
      3.复制ADDR地址(mac地址)
      4.进入到
        vim /etc/sysconfig/network-scripts/ifcfg-eth0
        HWADDR=赋值ADDR地址(mac地址)
        :wq!
      5.service network restart (如果失败,reboot)

  9.拖拽java和Hadoop的压缩包到 /opt/software
    sftp:/opt/software> 
      Uploading jdk-8u144-linux-x64.tar.gz to remote:/opt/software/jdk-8u144-linux-x64.tar.gz
      sftp: sent 176 MB in 4.88 seconds
      sftp:/opt/software> ls
      drwxr-xr-x 5 root root 4096 Jul 7 04:12 ..
      drwxr-xr-x 2 jinghang jinghang 4096 Jul 7 09:23 .
      -rw-rw-r-- 1 jinghang jinghang 185515842 Jul 7 09:23 jdk-8u144-linux-x64.tar.gz
    sftp:/opt/software> 
      Uploading hadoop-2.7.2.tar.gz to remote:/opt/software/hadoop-2.7.2.tar.gz
      sftp: sent 188 MB in 8.80 seconds

  10.解压压缩包到 /opt/ module

      tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module
      tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module

   11.编辑etc/profile

    Hadoop 2.7.2[jinghang@Hadoop02 hadoop-2.7.2]$ sudo vim /etc/profile

      #配置JAVA_HOME
      export JAVA_HOME=/opt/module/jdk1.8.0_144
      export PATH=$PATH:$JAVA_HOME/bin

      #配置HADOOP_HOME
      export HADOOP_HOME=/opt/module/hadoop-2.7.2
      export PATH=$PATH:$HADOOP_HOME/bin
      export PATH=$PATH:$HADOOP_HOME/sbin

    添加完环境source一下:
    [jinghang@Hadoop02 hadoop-2.7.2]$ source /etc/profile

   12.查看hadoop环境配置是否成功:
    [jinghang@Hadoop02 hadoop-2.7.2]$ hadoop version
      Hadoop 2.7.2
      Subversion Unknown -r Unknown
      Compiled by root on 2017-05-22T10:49Z
      Compiled with protoc 2.5.0
      From source with checksum d0fda26633fa762bff87ec759ebe689c
      This command was run using /opt/module/hadoop-2.7.2/share/hadoop/common/hadoop-common-2.7.2.jar

  13.查看java环境:

    [jinghang@Hadoop02 hadoop-2.7.2]$ java -version
    如果不是自己安装的版本,删除以前的版本

  14.在hadoop-2.7.2目录下:

    vim etc/hadoop/hadoop-env.sh
      修改JAVA_HOME路径 export JAVA_HOME=/opt/module/jdk1.8.0_144
    vim etc/hadoop/yarn-env.sh
      修改JAVA_HOME路径 export JAVA_HOME=/opt/module/jdk1.8.0_144
    vim etc/hadoop/mapred-env.sh
      修改JAVA_HOME路径 export JAVA_HOME=/opt/module/jdk1.8.0_144

  15.配置HDFS:

  (1)在hadoop-2.7.2目录下:vim etc/hadoop/core-site.xml
      添加设置

       <!-- 指定HDFS中NameNode的地址 -->
      <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop101:9000</value>
      </property>

    <!-- 指定Hadoop运行时产生文件的存储目录 -->
    <property>
      <name>hadoop.tmp.dir</name>
      <value>/opt/module/hadoop-2.7.2/data/tmp</value>
    </property>

  (2)在hadoop-2.7.2目录下:vim etc/hadoop/hdfs-site.xml
    添加配置
    <!-- 指定HDFS副本的数量 -->
    <property>
      <name>dfs.replication</name>
      <value>1</value>
    </property>

  16、配置YARN:  

    1、在hadoop-2.7.2目录下:vim etc/hadoop/yarn-site.xml
    添加配置
      <!-- Reducer获取数据的方式 -->
      <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
      </property>

 

      <!-- 指定YARN的ResourceManager的地址 -->
      <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>Hadoop02</value>
      </property>

 

    2、在hadoop-2.7.2目录下,重命名mapred-site.xml.template:mv etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml
    然后编辑: vim etc/hadoop/mapred-site.xml
    添加配置:
      <!-- 指定MapReduce运行在YARN上 -->
      <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
      </property>

  17、启动  

    启动HDFS
      1、启动NameNode(存储源数据)(第一次启动时格式化,以后就不要总格式化)
        格式化(如果格式化失败,必须删了data和logs目录,然后在重新格式化)
          [jinghang@Hadoop02 hadoop-2.7.2]$ bin/hdfs namenode -format
        启动NameNode
          [jinghang@Hadoop02 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start namenode
      2、启动DataNode(存储数据块)
        [jinghang@Hadoop02 hadoop-2.7.2]$ sbin/hadoop-daemon.sh start datanode
      3、查看是否启动成功:
        [jinghang@Hadoop02 hadoop-2.7.2]$ jps
        5157 NameNode
        4887 DataNode
        5245 Jps

      如果不成功去logs日志里查找错误。
      成功后可以登录http://192.168.150.201:50070/

    启动YARN(启动前必须保证NameNode和DataNode已经启动)
      1、启动ResourceManager(接收客户端请求)
        [jinghang@Hadoop02 hadoop-2.7.2]$ sbin/yarn-daemon.sh start resourcemanager
      2、启动NodeManager
        [jinghang@Hadoop02 hadoop-2.7.2]$ sbin/yarn-daemon.sh start nodemanager
      3、启动成功后可以登录yarn的网站 192.168.150.201:8088

 

 

原文地址:https://www.cnblogs.com/si-137/p/13308237.html