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

来源:互联网 发布:梯度的分水岭算法 编辑:程序博客网 时间:2024/06/05 04:08

一.部署软件准备

  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 源码包名称,成功后如下图示:
    解压后截图
  5. 设置环境变量;打开/etc/profile文件,命令行:
    sudo gedit /etc/profile,打开之后在末尾加上下面几句话(根据自己 的JDK安装目录设置):
    配置图
    记住:上述添加过程中,等号两侧千万不要加入空格,不然会出现各种不识别,无效的问题
  6. 运行命令:source /etc/profile使得上述配置立即生效
  7. 检验是否安装成功;在终端输入命令:java -version,成功则会显示JDK的版本信息,运行javac -version也是同样显示编译器版本信息,如下图:
    JDK版本信息

四.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,如下图所示:
密钥生成图
这一步在用户目录下生成一对公钥和私钥,保存在 .ssh文件夹中
遇到需要输入东西的不要care,一律回车即可
3. 将公钥添加到信任机制文件中,执行命令:
sudo cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,这一步即将本机公钥添加到了authorized_keys文件中
4. 测试是否成功;在终端输入命令:ssh localhost,测试是否可以免密码登录到本节点,退出执行exit
第一次登录可能需要执行一步添加信任列表步骤,下次即可真正实现免密码登录

五.hosts文件配置

  1. 在终端中输入命令:sudo gedit /etc/hosts,添加本地地址和主机名,如下图所示:
    hosts截图

    主机名可以通过执行命令: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的实际安装目录)
    env配置文件

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

    <configuration>    <property>        <name>fs.defaultFS</name>        <value>hdfs://master:9000</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>file:/usr/local/hadoop/tmp</value>    </property>    <property>        <name>io.file.buffer.size</name>        <value>131702</value>    </property></configuration>

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

  5. 修改hdfs-site.xml文件,配置内容如下:
<configuration>        <property>            <name>dfs.namenode.name.dir</name>            <value>file:/usr/local/hadoop/hadoop-2.6.1/hdfs/name</value>        </property>        <property>            <name>dfs.datanode.data.dir</name>            <value>file:/usr/local/hadoop/hadoop-2.6.1/hdfs/data</value>        </property>        <property>            <name>dfs.replication</name>            <value>1</value>        </property>        <property>            <name>dfs.namenode.secondary.http-address</name>            <value>master:9001</value>        </property>        <property>            <name>dfs.webhdfs.enabled</name>            <value>true</value>        </property>    </configuration>
   6.修改mapred-site.xml文件,配置内容如下:
    <configuration>      <property>         <name>mapreduce.framework.name</name>         <value>yarn</value>         <final>true</final>      </property>      <property>         <name>mapreduce.jobtracker.http.address</name>         <value>master:50030</value>      </property>      <property>         <name>mapreduce.jobhistory.address</name>         <value>master:10020</value>      </property>      <property>         <name>mapreduce.jobhistory.webapp.address</name>         <value>master:19888</value>      </property>      <property>         <name>mapred.job.tracker</name>         <value>hdfs://master:9001</value>      </property>    </configuration>
  1. 修改yarn-site.xml文件,配置内容如下:

    <configuration><!-- Site specific YARN configuration properties -->  <property>     <name>yarn.nodemanager.aux-services</name>     <value>mapreduce_shuffle</value>  </property>  <property>                                                                                         <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>     <value>org.apache.hadoop.mapred.ShuffleHandler</value>  </property>  <property>      <name>yarn.resourcemanager.address</name>      <value>master:8032</value>  </property>  <property>      <name>yarn.resourcemanager.scheduler.address</name>      <value>master:8030</value>  </property>  <property>      <name>yarn.resourcemanager.resource-tracker.address</name>      <value>master:8031</value>  </property>  <property>      <name>yarn.resourcemanager.admin.address</name>      <value>master:8033</value>  </property>  <property>      <name>yarn.resourcemanager.webapp.address</name>      <value>master:8088</value>  </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
    如果终端窗口没有报错误的话,说明格式化成功(如果出现错误可以在日志 文件中查看错误情况,然后对应解决即可),如下界面:
    格式化界面
    一般status 0代表无错误,status 1代表有错误
    格式化成功后会在本机上的hadoop的home目录/hdf下生成一个name文件夹

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

    启动界面

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

    启动成功后查看界面

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

    web界面

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

    停止集群界面

0 0
原创粉丝点击