Hadoop集群搭建

![Uploading Paste_Image_223771.png . . .]
Hadoop集群搭建步骤
一、环境搭建

  1. 配置本机hostname
  2. 配置java运行环境jdk
  3. 配置ssh免密码登录
  4. 安装、配置hadoop
  5. 测试hadoop

以上过程可以分为2个大的步骤

  1. 配置系统环境以使hadoop能正常运行
  2. 配置hadoop配置文件让hadoop能正常运行

二、为什么需要配置相应的软件

  1. 本次集群搭建我们希望使用2台机器作为集群
    一台机器作为主节点,共运行namenode、SecondaryNameNode、ResourceManager 3个java守护进程
    另外一台作为slave节点,运行DataNode、NodeManager进程
    其中,master是一个资源调度的管理者,假如集群中用于成千上万的机器,master就是这些机器中的管理者,它负责怎个集群的任务调度。
    Slave作为计算节点,将会执行master指定的相应任务,并通过心跳包报告任务进度及结果等等数据。

2.在环境搭建的第一个大步骤中,配置jdk是因为hadoop是一个以java语言实现的项目,它需要运行在java环境下,比如namenode、DataNode等等进程都是一个个java进程。
在系统中如果需要查看可以使用jps命令查看。
配置ssh免密码登录时因为,hadoop的每个进程间会相互调用、并发送指令,那么你就能想到在集群工作方式中有两台独立的计算机需要通信的情况,计算机A直接给计算机B发送指令,那么计算机B需要验证计算机A发送过来的身份信息,如果只是发送一两次命令还好我们可以人为的输入身份信息,但是在hadoop集群调度的时候需要频繁的执行这样的操作.
所以配置ssh免密码登录时为了通过配置让计算机自动完成身份验证这个步骤。

三、搭建集群

  1. Jdk
    首先我们在一台机器(master)上配置jdk然后通过vm的克隆公共克隆机器为slave节点。
    拷贝你下载的jdk,通过tar –zxf 命令解压(可添加 –C 参数指定解压后文件保存路径,如果不指定默认存在压缩包路径),如下图:
Paste_Image.png

然后再通过sudo vim /etc/profil配置环境变量,如下图所示

Paste_Image.png

然后通过source /etc/profile将profile写入系统,写入后需要重启计算机,否则关闭计算机后打开其他终端环境变量不会生效,可以通过java –version和javac命令测试是否配置成功。

  1. 克隆机器
    由于我们需要两台机器作为集群,在vm中有克隆机器的功能,所以我们克隆机器作为slave节点,克隆完成后需要重新配置机器的ip地址为slave01的地址master同一局域网的ip即可,可以在master机器上通过ifconfig查看master的ip地址。
    完成后通过ifconfig查看两台机器的ip。如下图
Paste_Image.png
Paste_Image.png
  1. ssh免密码
    centos系统自带了ssh,并且自带了秘钥生成工具ssh-keygen,在终端中配置ssh免密码登录步骤如下
  1. 生成秘钥
  2. 将秘钥配置在本机,并且将需要将slave01的ssh公钥发送给master节点
    Ssh-keygen –t rsa 生成密匙
    ssh-copy-id localhost 将密匙拷贝到authorized_keys
    如图,另外一台机器同样。
Paste_Image.png

这样就可以通过ssh localhost免密码登录本机了,但是还不能从其他机器登录本机,我们就可以通过scp 命令将公钥发送给master机器将公钥写入authorized_keys再次发送给其他slave机器。如下图。

Paste_Image.png

这条命名中hadoop是你们master机器的用户名,@后面是你master机器的ip地址,:后面是你想将该文件发送到的位置,这样就将文件发送到master上面了,然后再master机器上通过cat命令将公钥追加到authorized_keys,然后在将master的authorized_keys重新发回给slave,如下图

Paste_Image.png

这样两台机器就可以相互通过ssh+ip地址的方式访问彼此了。

  1. hadoop配置文件
    在官网下载hadoop后将其解压,就可以正式配置hadoop了,机器方式需要配置解压文件中的etc/hadoop目录下的6个文件分别是:
    hadoop-env.sh 这里面修改{JAVA_HOME}为你的jdk安装路径
    core-site.xml
    hdfs-site.xml
    mapred-site.xml
    yarn-site.xml
    slaves
    附上全部配置:

    <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:8020</value>
    </property>
    <property>
    <name>hadoop.tmp.dir</name>
    <value>你想存放的临时文件路径</value>
    </property>


    <property>
    <name>dfs.replication</name>
    <value>3</value>
    </property>


    <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
    </property>


    <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
    </property>

最后将slaves中的localhost删除,并写入你的slave节点的ip地址,这样就完成了全部配置工作。然后格式化一下hadf的文件系统(多次格式化会出现集群id不一样,可以通过删除core-site.xlm中临时文件中文件)

bin/hdfs namenode –format 命令用来格式化hdfs文件系统

完成以上步骤后就可以在master上面通过运行sbin目录下的start-all.sh就可以运行hadoop了,运行成功后可以通过jps命令查看master和slave机器的进程,如图

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 目录 集群简介 服务器准备 环境和服务器设置 JDK环境安装 Hadoop安装部署 启动集群 测试 集群简介 在进...
    Singer_Au阅读 2,796评论 0 8
  • hadoop集群HA环境搭建 准备工具 VMware12安装包, 破解序列号:5A02H-AU243-TZJ49-...
    485b1aca799e阅读 2,165评论 1 1
  • 看到题目有没有一种高大上的感觉?毛线,当前是个人、是个公司都在说自己搞大数据,每天没有几个PB的数据入库,每天没有...
    丁小晶的晶小丁阅读 4,577评论 0 50
  • 为了能够在生产环境中搭建Hadoop集群,先决定在虚拟机中搭建一个测试环境,跑通整个流程。 一:安装环境 Cent...
    Kavim阅读 916评论 0 3
  • 之前的有点忘记了,这里在云笔记拿出来再玩玩.看不懂的可以留言 大家可以尝试下Ambari来配置Hadoop的相关环...
    HT_Jonson阅读 3,080评论 0 50