热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

hadoop集群搭建与注意点

一花一世界一叶一菩提。这应该是第二次学习hadoop,第一次是两年前,刚开始找工作,当时个人眼界认为ssh与移动app开发比较流行,至于ha

               一花一世界 一叶一菩提。

       这应该是第二次学习hadoop , 第一次是两年前,刚开始找工作,当时个人眼界 认为ssh 与移动app 开发比较流行,至于hadoop 是一个比较高端的东西,还有一个原因就是当时急需摆脱对父母的依赖,需要一份工作,用活自己;这两年过去了,再次从新审视大数据,感觉一切又回到起点,只不过个人心态,经历,行业环境都发生改变。

        我用hadoop 2.7.3 算是比较新版本。 http://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz  (我用浏览器,百度云下载都失败, 最后用迅雷下载成功);

         hadoop 基本知识:

                  (1)HADOOP是apache旗下的一套开源软件平台

                  (2)HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理 ;

                  (3)HADOOP的核心组件有
                                 A.HDFS(分布式文件系统)
                                B.YARN(运算资源调度系统)
                                C.MAPREDUCE(分布式运算编程框架)

           hadoop 历史:

                       (1) 当时Nutch 爬虫框架, 面对海量的网页,面临两大瓶颈: 一个海量数据存储索引问题, 另外就是网页价值计算;

                       (2)2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案: 一个是谷歌分布式存储GFS ,另外一个就是分布式计算框架MapReduce ;

                      (3) Nutch 作者以及相关开发人员,利用这两种思想,完善Nutch ,并且把hdfs 和mapReduce 独立开始,接着就有了现在hadoop ;

                     (4) 真正一战成名,是雅虎使用hadoop ,进行运营,并且开源; https://www.infoq.com/news/2010/07/yahoo-hadoop-summit 

          hadoop 重点:

                   (1) hadoop 一切重点都是围绕这两个HDFS(分布式存储)和MapReduce 分布计算框架展开;

                  (2) HDFS 分布文件系统:

                               (1) namenode :    

                                         (1) 在 HDFS 实例中的单独机器上运行的软件 ;

                                        (2)  它负责管理文件系统名称空间和控制外部客户机的访问 ;

                                        (3)  NameNode 决定是否将文件映射到 DataNode 上的复制块上 ;

                              (2) datanode :

                                      (1) 在 HDFS实例中的单独机器上运行的软件;

                                     (2) 响应来自 HDFS 客户机的读写请求, 比如: 存储,读取,删除等操作;

                 (3) MapReduce  分布式计算框架:

                               (1) 该引擎由 JobTrackers 和 TaskTrackers 组成 ;

             hadoop 特点:

                高可靠性。Hadoop按位存储和处理数据的能力值得人们信赖。

                高扩展性。Hadoop是在可用的计算机集簇间分配数据并完成计算任务的,这些集簇可以方便地扩展到数以千计的节点中。

                高效性。   Hadoop能够在节点之间动态地移动数据,并保证各个节点的动态平衡,因此处理速度非常快。
                高容错性。 Hadoop能够自动保存数据的多个副本,并且能够自动将失败的任务重新分配。
               低成本。    与一体机、商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市相比,hadoop是开源的,项目的软件成本因此会大大降低。

          hadoop 运行在大量廉价的pc机,采用冗余和心跳机制, 最大可能保证数据的完整性,已经系统正常运行。

 

 

 

 

           安装篇:

                本人用的是笔记本,8G内存,不过风扇不是很好,用久了,进很多灰尘,导致大型程序运行,cpu 变高,温度也急速提升; 在百度云,购买一组云服务器(3台,每台1G内存,每台20G空间),另绑定一个1M宽带。

              

        两台服务器,就可以组成一个集群。 不过真所谓,一生二,二生三,三生万物。  所以就弄三台服务器。

        1. 先做一些预备(时间问题,我就简单点):

                    (1) 先安装java 环境,同时在 /etc/profile 文件添加: 

                               export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141.x86_64

                               export HADOOP_HOME=/usr/local/src/hadoop-2.7.3
                               export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

                                提示: 修改上面文件后,使用命令  source /etc/profile

                    (2)     安装同步软件: rsync -avz --progress root@172.xx.kk.hh::data /usr/local/data   (下载hadoop 等一些配置文件);

                   (3)     修改 /etc/hosts 文件; 把其他服务器内网地址已经服务器名称添加上去;

                  (4)     添加一下新系统账户:  adduser  hadoop  , passwd  hadoop  输入密码;

                  (5)    ssh 免秘钥登陆:

                                 (1) #进入到我的home目录 ;

                                  (2) 

                                          ssh-keygen -t rsa (四个回车)
                                           执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
                                          将公钥拷贝到要免密登陆的目标机器上
                                           ssh-copy-id 主机名(你所安装hadoop系统的主机名,要重复多次)

      2. 下载hadoop ,修改配置:

                 (1) 修改这六个文件,然后各个服务器hadoop 配置都相同;

                (2) 操作过程中,遇到坑:

                           (1)  hadoop-env.sh 里  export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141.x86_64 ,java_home 必须填上,不然出现错误: JAVA_HOME is not set and could not be found.

             

第二个:core-site.xml

 



fs.defaultFS
hdfs://主机名:9000



hadoop.tmp.dir
/home/hadoop/hadoop-2.4.1/tmp


第三个:hdfs-site.xml


dfs.replication
2



dfs.secondary.http.address
主机名:50090      

 

第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml


mapreduce.framework.name
yarn


第五个:yarn-site.xml


yarn.resourcemanager.hostname
(存放namenode)主机名



yarn.nodemanager.aux-services
mapreduce_shuffle

               

 

      3. 开启软件:

             (1) 去主主机(你打算存储namenode 这台),初始化namenode , 执行命令  hadoop namenode -format ;

              (2)开启datanode , 执行命令  start-all.sh , 这脚本会自动通过ssh 把其他服务器hadoop datanode 启动;

                                     (1) stop-all.sh 停止所有的datanode 服务;

       hadoop 自带web 应用,可以查看到 hadoop 运行状况,  http://xxx.ff.xxx.kk:50070/dfshealth.html#tab-overview

    时间不早了,就到这里。 你可能还会遇到其他问题。

 

 

 

 

 

 

 

       

 

      


推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 如何提高PHP编程技能及推荐高级教程
    本文介绍了如何提高PHP编程技能的方法,推荐了一些高级教程。学习任何一种编程语言都需要长期的坚持和不懈的努力,本文提醒读者要有足够的耐心和时间投入。通过实践操作学习,可以更好地理解和掌握PHP语言的特异性,特别是单引号和双引号的用法。同时,本文也指出了只走马观花看整体而不深入学习的学习方式无法真正掌握这门语言,建议读者要从整体来考虑局部,培养大局观。最后,本文提醒读者完成一个像模像样的网站需要付出更多的努力和实践。 ... [详细]
  • Sleuth+zipkin链路追踪SpringCloud微服务的解决方案
    在庞大的微服务群中,随着业务扩展,微服务个数增多,系统调用链路复杂化。Sleuth+zipkin是解决SpringCloud微服务定位和追踪的方案。通过TraceId将不同服务调用的日志串联起来,实现请求链路跟踪。通过Feign调用和Request传递TraceId,将整个调用链路的服务日志归组合并,提供定位和追踪的功能。 ... [详细]
  • mui框架offcanvas侧滑超出部分隐藏无法滚动如何解决
    web前端|js教程off-canvas,部分,超出web前端-js教程mui框架中off-canvas侧滑的一个缺点就是无法出现滚动条,因为它主要用途是设置类似于qq界面的那种格 ... [详细]
  • Maven构建Hadoop,
    Maven构建Hadoop工程阅读目录序Maven安装构建示例下载系列索引 序  上一篇,我们编写了第一个MapReduce,并且成功的运行了Job,Hadoop1.x是通过ant ... [详细]
  • Hadoop源码解析1Hadoop工程包架构解析
    1 Hadoop中各工程包依赖简述   Google的核心竞争技术是它的计算平台。Google的大牛们用了下面5篇文章,介绍了它们的计算设施。   GoogleCluster:ht ... [详细]
  • 对于开源的东东,尤其是刚出来不久,我认为最好的学习方式就是能够看源代码和doc,測试它的样例为了方便查看源代码,关联导入源代 ... [详细]
  • 我们在之前的文章中已经初步介绍了Cloudera。hadoop基础----hadoop实战(零)-----hadoop的平台版本选择从版本选择这篇文章中我们了解到除了hadoop官方版本外很多 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 本文介绍了在sqoop1.4.*版本中,如何实现自定义分隔符的方法及步骤。通过修改sqoop生成的java文件,并重新编译,可以满足实际开发中对分隔符的需求。具体步骤包括修改java文件中的一行代码,重新编译所需的hadoop包等。详细步骤和编译方法在本文中都有详细说明。 ... [详细]
  •     这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cy ... [详细]
  • Flink使用java实现读取csv文件简单实例首先我们来看官方文档中给出的几种方法:首先我们来看官方文档中给出的几种方法:第一种:Da ... [详细]
  • MR程序的几种提交运行模式本地模型运行1在windows的eclipse里面直接运行main方法,就会将job提交给本地执行器localjobrunner执行-- ... [详细]
  • 伸缩性|发生_分布式文件系统设计,该从哪些方面考虑?
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了分布式文件系统设计,该从哪些方面考虑?相关的知识,希望对你有一定的参考价值。点击上方关注“ ... [详细]
author-avatar
噬天1986
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有