Hadoop-2.6.1伪分布式集群环境搭建

一.部署软件准备

  1. Ubuntu 15.04(这里采用的是64位系统)
  2. JDK,这里使用了jdk-8u77-linux-x64.tar.gz
  3. hadoop-2.6.1版本
  4. 一台装了Ubuntu系统的物理主机

二.安装步骤

  1. 安装JDK,完成java环境配置
  2. 配置ssh免密码登录
  3. 配置hosts文件
  4. 安装Hadoop软件,配置相关文件
  5. 格式化集群,启动集群,测试是否搭建成功

三.JDK的安装与配置

  1. 准备JDK源码包,官网下载地址:
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,下载linux版本的JDK;
  2. JDK安装目录选择(此次安装到/usr/local/java下面):打开终端,在/usr/local目录下面新建java目录,命令行:
    sudo mkdir /usr/local/java
  3. 将下载的源码包移动到java 文件夹下,命令行如下:
    sudo mv 源码包位置 /usr/local/java
  4. 进入java目录,命令:cd /usr/local/java,解压源码包,命令行:
    sudo tar zxvf 源码包名称,成功后如下图示:
    Hadoop-2.6.1伪分布式集群环境搭建_第1张图片
  5. 设置环境变量;打开/etc/profile文件,命令行:
    sudo gedit /etc/profile,打开之后在末尾加上下面几句话(根据自己 的JDK安装目录设置):
    配置图
    记住:上述添加过程中,等号两侧千万不要加入空格,不然会出现各种不识别,无效的问题
  6. 运行命令:source /etc/profile使得上述配置立即生效
  7. 检验是否安装成功;在终端输入命令:java -version,成功则会显示JDK的版本信息,运行javac -version也是同样显示编译器版本信息,如下图:
    Hadoop-2.6.1伪分布式集群环境搭建_第2张图片

四.SSH免密码登录配置
1. 安装openssh-server;系统默认安装了openssh-client,因此我们这里只需要安装openssh-server,安装命令:
sudo apt-get intsall openssh-server
切记,此步骤需要在联网状态下进行(不要问我为啥知道的)
PS:如果出现E:软件包 openssh-server 还没有可供安装的候选者,这里只需执行一下sudo apt-get update,然后在重新安装即可
2. 公钥和私钥的生成
这一步用于生成rsa公钥和私钥,执行命令:ssh-keygen -t rsa,如下图所示:
Hadoop-2.6.1伪分布式集群环境搭建_第3张图片
这一步在用户目录下生成一对公钥和私钥,保存在 .ssh文件夹中
遇到需要输入东西的不要care,一律回车即可
3. 将公钥添加到信任机制文件中,执行命令:
sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,这一步即将本机公钥添加到了authorized_keys文件中
4. 测试是否成功;在终端输入命令:ssh localhost,测试是否可以免密码登录到本节点,退出执行exit
第一次登录可能需要执行一步添加信任列表步骤,下次即可真正实现免密码登录

五.hosts文件配置

  1. 在终端中输入命令:sudo gedit /etc/hosts,添加本地地址和主机名,如下图所示:
    Hadoop-2.6.1伪分布式集群环境搭建_第4张图片

    主机名可以通过执行命令:sudo gedit /etc/hostname查看,这里机器名为hadoop

六.hadoop安装配置

  1. 下载Hadoop源码包,这里下载的为Hadoop-2.6.1版本,文件格式为tar.gz,在文件目录/usr/local/下面新建一个目录,命名为hadoop,将源码包移动到hadoop目录下面,然后执行解压命令:
    sudo tar xzvf hadoop-2.6.1.tar.gz

  2. 下面需要修改的hadoop配置文件有以下几个(都存放于hadoop系统里的etc/hadoop/目录下面):
    -hadoop-env.sh
    -core-site.xml
    -hdfs-site.xml
    -mapred-site.xml
    -yarn-site.xml
    -yarn-env.sh
    -masters

  3. 修改hadoop_env.sh文件,添加JDK支持:
    export JAVA_HOME=/usr/java/jdk1.8.0_77,如下图所示:(目录记得改为自己JDK的实际安装目录)
    Hadoop-2.6.1伪分布式集群环境搭建_第5张图片

  4. 修改core-site.xml文件,配置内容如下:

    <configuration>
        <property>
            <name>fs.defaultFSname>
            <value>hdfs://master:9000value>
        property>
        <property>
            <name>hadoop.tmp.dirname>
            <value>file:/usr/local/hadoop/tmpvalue>
        property>
        <property>
            <name>io.file.buffer.sizename>
            <value>131702value>
        property>
    configuration>

    上面的value中的文件位置值改为自己hadoop安装的实际位置

  5. 修改hdfs-site.xml文件,配置内容如下:
<configuration>
        <property>
            <name>dfs.namenode.name.dirname>
            <value>file:/usr/local/hadoop/hadoop-2.6.1/hdfs/namevalue>
        property>
        <property>
            <name>dfs.datanode.data.dirname>
            <value>file:/usr/local/hadoop/hadoop-2.6.1/hdfs/datavalue>
        property>
        <property>
            <name>dfs.replicationname>
            <value>1value>
        property>
        <property>
            <name>dfs.namenode.secondary.http-addressname>
            <value>master:9001value>
        property>
        <property>
            <name>dfs.webhdfs.enabledname>
            <value>truevalue>
        property>
    configuration>
   6.修改mapred-site.xml文件,配置内容如下:
    <configuration>

      <property>
         <name>mapreduce.framework.namename>
         <value>yarnvalue>
         <final>truefinal>
      property>
      <property>
         <name>mapreduce.jobtracker.http.addressname>
         <value>master:50030value>
      property>
      <property>
         <name>mapreduce.jobhistory.addressname>
         <value>master:10020value>
      property>
      <property>
         <name>mapreduce.jobhistory.webapp.addressname>
         <value>master:19888value>
      property>
      <property>
         <name>mapred.job.trackername>
         <value>hdfs://master:9001value>
      property>

    configuration>
  1. 修改yarn-site.xml文件,配置内容如下:

    <configuration>
    
    
      <property>
         <name>yarn.nodemanager.aux-servicesname>
         <value>mapreduce_shufflevalue>
      property>
      <property>
                                                                                             <name>yarn.nodemanager.auxservices.mapreduce.shuffle.classname>
         <value>org.apache.hadoop.mapred.ShuffleHandlervalue>
      property>
      <property>
          <name>yarn.resourcemanager.addressname>
          <value>master:8032value>
      property>
      <property>
          <name>yarn.resourcemanager.scheduler.addressname>
          <value>master:8030value>
      property>
      <property>
          <name>yarn.resourcemanager.resource-tracker.addressname>
          <value>master:8031value>
      property>
      <property>
          <name>yarn.resourcemanager.admin.addressname>
          <value>master:8033value>
      property>
      <property>
          <name>yarn.resourcemanager.webapp.addressname>
          <value>master:8088value>
      property>
    configuration>
  2. 修改yarn-env.sh,添加JDK支持,如下图:
    yarn-env.sh配置图

  3. 修改masters,slaves,配置内容如下:
    在masters文件中列出所有的master节点名称:(写上本机hostname)
    在slaves文件中列出所有的slaves节点名称:(由于是伪分布式,故这里也写上本机hostname)

七.启动hadoop集群

  1. 格式化hdfs文件系统的namenode(进入hadoop安装目录)
    –进入hadoop安装目录:cd hadoop安装目录
    –格式化:bin/hdfs namenode –format
    如果终端窗口没有报错误的话,说明格式化成功(如果出现错误可以在日志 文件中查看错误情况,然后对应解决即可),如下界面:
    Hadoop-2.6.1伪分布式集群环境搭建_第6张图片
    一般status 0代表无错误,status 1代表有错误
    格式化成功后会在本机上的hadoop的home目录/hdf下生成一个name文件夹

  2. 启动Hadoop集群,执行命令:sbin/start-all.sh,显示如下界面:

    Hadoop-2.6.1伪分布式集群环境搭建_第7张图片

    启动成功后可以在终端输入命令行查看:jps,显示如下:

    Hadoop-2.6.1伪分布式集群环境搭建_第8张图片

    由图可见,DataNode,NameNode等都启动成功,可以在浏览器页面查看Hadoop集群相关情况,输入网址:master:50070,显示如下图:

    Hadoop-2.6.1伪分布式集群环境搭建_第9张图片

  3. 关闭hadoop集群,执行命令:sbin/stop-all.sh,显示如下图:

    Hadoop-2.6.1伪分布式集群环境搭建_第10张图片

你可能感兴趣的:(Hadoop)