zoukankan      html  css  js  c++  java
  • Hadoop伪分布式模式搭建


    title: Hadoop伪分布式模式搭建

    Quitters never win and winners never quit.

    运行环境:

    1. Ubuntu18.10-server版镜像:ubuntu-18.10-live-server-amd64.iso

    2. Oracle VM VirtualBox

    3. Hdoop最新版

    4. jdk1.8.0_191

    开始操作:

    1. 新建虚拟机(当然是用最新版的Ubuntu了,为了提高实用性,建议使用服务器版)

    2. 设置虚拟机的网络为默认模式(网络地址转换)或者桥接模式,建议不要使用NAT模式

    3. 设置虚拟机端口转发:(主机端口可自己设置,只要不与其他进程冲突即可)

      a. 主机9000 虚拟机22 (ssh链接专用端口,建议牢记)

      b. 主机9001 虚拟机8088 (hadoop检测端口)

    4. 启动虚拟机用SSH连接并配置好:

      启动虚拟机(建议无界面启动),打开本地终端,输入命令:

      $ ssh -p 9000 username@127.0.0.1  # username是安装镜像是设置的用户名
      

      按提示选择yes,输入密码。

      选择本地终端的理由:我的本地终端经过美化和自定义,比界面启动的黑框体验好,还有就是为了贴近实际操作环境

      # hostname 配置
      $ hostname bigdata-senior01.chybinmy.com  # 临时修改,省去重启虚拟机
      $ vim /etc/hostname  # 永久修改,为以后着想
      $ bigdata-senior01.chybinmy.com  # 将里面的主机名改为bigdata-senior01.chybinmy.com
      
      # host 配置
      $ ifconfig  # 得到当前虚拟机网络地址(inet后面的第一个地址,假设为10.42.0.32)
      # 配置Host
      $ vim /etc/hosts
      $ 10.42.0.32 bigdata-senior01.chybinmy.com  # 在文件尾部添加
      
    5. 新建hadoop用户:

      $ sudo adduser hadoop  # 新建hadoop用户,根据提示输入密码
      
    6. 切换hadoop用户:

      $ su hadoop
      
    7. 新建文件夹并将文件夹拥有者改为hadoop:

      $ sudo mkdir /opt/modules
      
      $ sudo chown -R hadoop:hadoop /opt/modules
      
    8. 下载hadoop和JDK并将它们拷贝到/opt/modules/目录下:

      $ scp -P 9990 hadoop-2.9.2.tar.gz fofade@127.0.0.1:/opt/modules  # jdk类似
      

      提示:这里可以用sftp来传文件,我使用的是ubuntu18.04文件管理器自带的sftp传输。

    9. 解压文件(hadoop和jdk):

      $ tar -zxvf hadoop-2.9.2.tar.gz  # jdk解压方法类似
      # jdk 解压后如果虚拟机没有java环境的话,
      # 需要配置java环境,请自行配置!!!
      
    10. 配置hadoop:

      a. 环境变量:

      $ vim /etc/profile
      
      $ export HADOOP_HOME="/opt/modules/hadoop-2.9.2"
      
      $ export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
      
      执行:source /etc/profile 使得配置生效
      

      b. 验证参数:

      $ echo $HADOOP_HOME  # 值为:/opt/modules/hadoop-2.5.0
      

      c. 配置 hadoop-env.sh、mapred-env.sh、yarn-env.sh文件的JAVA_HOME参数:

      $ sudo vim  ${HADOOP_HOME}/etc/hadoop/hadoop-env.sh
      
      修改JAVA_HOME参数为:
      
      $ export JAVA_HOME="/opt/modules/jdk1.8.0_181"
      

      d. 配置core-site.xml:

      $ sudo vim ${HADOOP_HOME}/etc/hadoop/core-site.xml  # 输入该命令
      
      # 在<configuration></cinfiguration>中添加以下内容
      <property>
          <name>fs.defaultFS</name>
          <value>hdfs://bigdata-senior01.chybinmy.com:8020</value>
      </property>
      <property>
          <name>hadoop.tmp.dir</name>
          <value>/opt/data/tmp</value>
      </property>
      

      e. 创建临时目录:

      $ sudo mkdir -p /opt/data/tmp  # 创建目录
      
      $ sudo chown -R hadoop:hadoop /opt/data/tmp  # 改目录拥有者
      
    11. 配置HDFS:

      a. 配置hdfs-site.xml:

      $ sudo vim ${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
      # 在<configuration></cinfiguration>中添加以下内容
      <property>
          <name>dfs.replication</name>
          <value>1</value>
      </property>
      

      b. 格式化HDFS:

      $ hdfs namenode -format
      # 格式化后,查看/opt/data/tmp目录下是否有dfs目录
      # 如果有,说明格式化成功
      

      c. 检测结果:

      # 启动NameNode
      $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start namenode
      # 启动DataNode
      $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start datanode
      # 启动SecondaryNameNode
      $ ${HADOOP_HOME}/sbin/hadoop-daemon.sh start secondarynamenode
      # 再运行:
      $ jps
      # 如果有类似下面四条结果就是成功了:
      3034 NameNode
      
      3233 Jps
      
      3193 SecondaryNameNode
      
      3110 DataNode
      
      
    12. 配置YARN:

      a. 配置mapred-site.xml:

      $ cp ${HADOOP_HOME}/etc/hadoop/mapred-site.xml.template ${HADOOP_HOME}/etc/hadoop/mapred-site.xml
      $ sudo vim ${HADOOP_HOME}/etc/hadoop/mapred-site.xml
      # 在<configuration></cinfiguration>中添加以下内容
      <property>
          <name>mapreduce.framework.name</name>
          <value>yarn</value>
      </property>
      

      b. 配置yarn-site.xml:

      $ sudo vim ${HADOOP_HOME}/etc/hadoop/yarn-site.xml
      # 在<configuration></cinfiguration>中添加以下内容
      <property>
          <name>yarn.nodemanager.aux-services</name>
          <value>mapreduce_shuffle</value>
      </property>
      <property>
          <name>yarn.resourcemanager.hostname</name>
          <value>bigdata-senior01.chybinmy.com</value>
      </property>
      

      c. 启动Resourcemanager:

      $ ${HADOOP_HOME}/sbin/yarn-daemon.sh start resourcemanager
      

      d. 启动nodemanager:

      $ ${HADOOP_HOME}/sbin/yarn-daemon.sh start nodemanager
      

      e. 检测:

      # 再运行:
      $ jps
      # 如果有类似下面六条结果就是成功了:
      3034 NameNode
      
      4439 NodeManager
      
      4197 ResourceManager
      
      4543 Jps
      
      3193 SecondaryNameNode
      
      3110 DataNode
      
    13. 检查是否成功搭建伪分布式hadoop:

      # YARN的Web客户端端口号是8088,
      # 因为我们设置了虚拟机的端口转发,
      # 所以只需要主机访问127.0.0.1:9001就可以查看
      # 只要成功访问网站则说明搭建成功
      

    搭建心得:

    1. 搭建当中最好不要重启虚拟机,如果重启了建议删除hadoop用户重新搭建

    2. 如果虚拟机没有配置java环境的话,会提示没有jps这条命令,所以你应当提前自己配置好虚拟机java环境

    3. 每次对环境进行修改后,最好使用source /etc/profile更新下配置

    4. 可以直接使用${HADOOP_HOME}/sbin/ 下的start_all.sh来快捷开始和stop_all.sh来快捷关闭hadoop服务

  • 相关阅读:
    Java基础学习笔记十二 类、抽象类、接口作为方法参数和返回值以及常用API
    Java基础学习笔记十四 常用API之基本类型包装类
    Java基础学习笔记六 Java基础语法之类和ArrayList
    Java基础学习笔记七 Java基础语法之继承和抽象类
    Java基础学习笔记八 Java基础语法之接口和多态
    Java基础学习笔记九 Java基础语法之this和super
    Java基础学习笔记十 Java基础语法之final、static、匿名对象、内部类
    Java基础学习笔记三 Java基础语法
    ssrs 里 表头 分页后显示
    CentOS 部署RabbitMQ集群
  • 原文地址:https://www.cnblogs.com/fofade/p/11307667.html
Copyright © 2011-2022 走看看