ubuntu hadoop 全分布式集群搭

3 篇文章 0 订阅
3 篇文章 0 订阅

                                   ubuntu hadoop 全分布式集群搭建

1 集群介绍

1.1 Hadoop简介

    Hadoop是Apache软件基金会旗下的一个开源分布式计算平台。以Hadoop分布式文件系统(HDFS,Hadoop Distributed Filesystem)和MapReduce(Google MapReduce的开源实现)为核心的Hadoop为用户提供了系统底层细节透明的分布式基础架构。

    对于Hadoop的集群来讲,可以分成两大类角色:Master和Salve。一个HDFS集群是由一个NameNode和若干个DataNode组成的。其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件系统的访问操作;集群中的DataNode管理存储的数据。MapReduce框 架是由一个单独运行在主节点上的JobTracker和运行在每个集群从节点的TaskTracker共同组成的。主节点负责调度构成一个作业的所有任 务,这些任务分布在不同的从节点上。主节点监控它们的执行情况,并且重新执行之前的失败任务;从节点仅负责由主节点指派的任务。当一个Job被提交 时,JobTracker接收到提交作业和配置信息之后,就会将配置信息等分发给从节点,同时调度任务并监控TaskTracker的执行。

    从上面的介绍可以看出,HDFS和MapReduce共同组成了Hadoop分布式系统体系结构的核心。HDFS在集群上实现分布式文件系统,MapReduce在集群上实现了分布式计算和任务处理。HDFS在MapReduce任务处理过程中提供了文件操作和存储等支持,MapReduce在HDFS的基础上实现了任务的分发、跟踪、执行等工作,并收集结果,二者相互作用,完成了Hadoop分布式集群的主要任务。

1.2 环境说明

        测试环境一共3台:
      192.168.75.67 master1
      192.168.75.68 master2
      192.168.75.69 master3
      三台机器参数:4VCPU 8GB 内存 200G硬盘
       linux 操作系统版本:



1.3 网络配置

       Hadoop集群要按照1.2小节表格所示进行配置。下面的例子我们将以Master机器为例,即主机名为"master1",IP为"192.168.75.67"进行一些主机名配置的相关操作。其他的Slave机器以此为依据进行修改。
  •    修改主机名

    本例子将主机名定位master1
        
  •    配置hosts文件(必须)
       "/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostName和IP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。
  
    进行连接测试:
      
    master3的连接测试与上述master2的测试一致。

2、SSH无密码验证配置

     Hadoop运行过程中需要管理远端Hadoop守护进程,在Hadoop启动以后,NameNode是通过SSH(Secure Shell)来启动和停止各个DataNode上的各种守护进程的。这就必须在节点之间执行指令的时候是不需要输入密码的形式,故我们需要配置SSH运用 无密码公钥认证的形式,这样NameNode使用SSH无密码登录并启动DataName进程,同样原理,DataNode上也能使用SSH无密码登录到 NameNode。

2.1 安装和启动SSH协议

安装ssh、rsync。

安装SSH协议
apt-get install ssh 
apt-get install rsync 

(rsync是一个远程数据同步工具,可通过LAN/WAN快速同步多台主机间的文件);确保所有的服务器都安装,上面命令执行完毕,各台机器之间可以通过密码验证相互登陆。

2.2 配置Master无密码登录所有Salve

1)SSH无密码原理 

     Master(NameNode | JobTracker)作为客户端,要实现无密码公钥认证,连接到服务器Salve(DataNode | Tasktracker)上时,需要在Master上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到所有的Slave上。当Master通过 SSH连接Salve时,Salve就会生成一个随机数并用Master的公钥对随机数进行加密,并发送给Master。Master收到加密数之后再用 私钥解密,并将解密数回传给Slave,Slave确认解密数无误之后就允许Master进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密 码。重要过程是将客户端Master复制到Slave上。

2)Master机器上生成密码对 

         

 ssh-keygen -t rsa -P ' ' -f ~/.ssh/id_rsa

这条命令是生成其无密码密钥对,询问其保存路径时直接回车采用默认路径。生成的密钥对:id_rsa和id_rsa.pub,默认存储在"~/.ssh"目录下。接着在Master节点上做如下配置,把id_rsa.pub追加到授权的key里面去。


验证是否成功。

ssh localhost


 
 
 

3) 设置SSH配置

    把公钥复制所有的Slave机器上。使用下面的命令格式进行复制公钥:scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器IP:~/
例如:
 这里要把公钥复制到所有的slave机器上(本例子就是master2、master3)
2)追加到授权文件"authorized_keys" 
  到目前为止Master.Hadoop的公钥也有了,文件夹".ssh"也有了,且权限也修改了。这一步就是把master1的公钥追加到master2的授权文件"authorized_keys"中去。使用下面命令进行追加并修改"authorized_keys"文件权限:
   
 5)在master1使用SSH无密码登录master2
      

3.1 安装hadoop

  •         下载并且解压hadoop压缩包(本文用到的hadoop版本是hadoop-1.2.1),下载后进行解压,解压的命令是:
     
       tar -zvxf hadoop-1.2.1.tar.gz
  • Hadoop的安装路径添加到"/etc/profile"中 
  • 运行source /etc/profile

   3.2 配置hadoop

   1) 配置hadoop-env.sh

   Hadoop配置文件在conf目录下,之前的版本的配置文件主要是Hadoop-default.xml和Hadoop-site.xml。由于 Hadoop发展迅速,代码量急剧增加,代码开发分为了core,hdfs和map/reduce三部分,配置文件也被分成了三个core- site.xml、hdfs-site.xml、mapred-site.xml。core-site.xml和hdfs-site.xml是站在 HDFS角度上配置文件;core-site.xml和mapred-site.xml是站在MapReduce角度上配置文件。

  2)配置core-site.xml文件 

     首先在hadoop安装目录下创建tmp文件夹
         
  修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号。
     
 <?xml version="1.0"?>
   <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
   
  <!-- Put site-specific property overrides in this file. -->
   
  <configuration>
       <property>
           <name>hadoop.tmp.dir</name>
      <value>/root/gy/hadoop-1.2.1/tmp</value>
      </property>
       <property>
          <name>fs.default.name</name>
            <value>hdfs://master1:9000</value>
      </property>
 </configuration>


3)配置hdfs-site.xml文件
  
<?xml version="1.0"?>
   <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
   
  <!-- Put site-specific property overrides in this file. -->
   
   <configuration>
      <property>
          <name>dfs.replication</name>
          <value>2</value>
      </property>
  </configuration>


   4)配置mapred-site.xml文件 
         
     5)配置masters文件
           
      将每台hadoop机器上的masters文件内容填入主节点名称
     
     6) 配置slaves文件
    
      


      值得说明和注意的是:一定一定要把每台机器上的配置都是一样的,意思是说上述的master1 master2 master3 的core-site.xml 、hdfs-site.xml、mapred-site.xml必须是一样。

     4. 启动和验证

1)格式化HDFS文件系统 
  
 2)启动hadoop    
  •      关闭防火墙

  • 启动hadoop                                                                                                                                                                调用命令:start-all.sh

  • 检查一下是否安装正确                                                                                                                                                  
  •   主节点启动了Namenode和JobTracker,说明安装正确了,大功告成!                                                                                                                                                                                           
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值