设为首页 收藏本站
查看: 1049|回复: 0

[经验分享] Hadoop的介绍、搭建、环境

[复制链接]

尚未签到

发表于 2017-12-17 10:31:52 | 显示全部楼层 |阅读模式
HADOOP背景介绍
1.1 Hadoop产生背景

  • HADOOP最早起源于Nutch。Nutch的设计目标是构建一个大型的全网搜索引擎,包括网页抓取、索引、查询等功能,但随着抓取网页数量的增加,遇到了严重的可扩展性问题——如何解决数十亿网页的存储和索引问题。
  • 2003年、2004年谷歌发表的两篇论文为该问题提供了可行的解决方案。(谷歌为现代技术做了十分大的贡献!!)
  ——分布式文件系统(GFS),可用于处理海量网页的存储
  ——分布式计算框架MAPREDUCE,可用于处理海量网页的索引计算问题。
  Nutch的开发人员完成了相应的开源实现HDFS和MAPREDUCE,并从Nutch中剥离成为独立项目HADOOP,到2008年1月,HADOOP成为Apache顶级项目,迎来了它的快速发展期。
1.2 什么是HADOOP

  • HADOOP是apache旗下的一套开源软件平台(apache软件几乎都开源)
  • HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
  • HADOOP的核心组件有

    • HDFS(分布式文件系统)
    • YARN(运算资源调度系统)
    • MAPREDUCE(分布式  运算编程框架)

1.3 HADOOP在大数据、云计算中的位置和关系
  1. 云计算是分布式计算、并行计算、网格计算、多核计算、网络存储、虚拟化、负载均衡等传统计算机技术和互联网技术融合发展的产物。借助IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等业务模式,把强大的计算能力提供给终端用户。
  2. 现阶段,云计算的两大底层支撑技术为“虚拟化”和“大数据技术。
  3. 而HADOOP则是云计算的PaaS层的解决方案之一,并不等同于PaaS,更不等同于云计算本身。
1.4 Hadoop生态系统
DSC0000.png

  HDFS:分布式文件系统(hdfs、MAPREDUCE、yarn)元老级大数据处理技术框架,擅长离线数据分析
  MAPREDUCE:分布式运算程序开发框架
  HIVE:基于大数据技术(文件系统+运算框架)的SQL数据仓库工具,使用方便,功能丰富。但基于MR会有很大的延迟。
  HBASE:基于HADOOP的分布式海量数据库,离线分析和在线业务通吃, 是 Google Bigtable 的另一套开源实现。
  ZOOKEEPER:分布式协调服务基础组件,提供的功能包括:配置维护、名字服务、 分布式同步、心跳、组服务等
  Mahout:基于mapreduce/spark/flink等分布式运算框架的机器学习算法库提供可扩展的计算机学习领域的算法实现,旨在帮助开发人员更加快捷地开发智能 应用程序。
  Oozie:工作流调度框架
  Sqoop:数据导入导出工具
  Flume:日志数据采集框架
  Avro: 基于JSON的数据序列化的系统。
  Cassandra: 一套分布式,非关系型存储系统,类似Google - BigTable。
  Chukwa: 用于监控大型分布式系统的数据采集系统。
  Pig:提供一个并行执行的数据流框架。
  Spark:类似MapReduce的通用并行框架,继承了其的分布式优势,只是中间输出结果存储 于内存中,提供了相对实时性的处理能力
  Tez:新的一套分布式执行框架,主要以开发人员为最终用户构建性能更快、扩展性更强的应 用程序。
1.5Hadoop大数据项目流程图
DSC0001.png

  1) 数据采集:定制开发采集程序,或使用开源框架FLUME
  2) 数据预处理:定制开发mapreduce程序运行于hadoop集群
  3) 数据仓库技术:基于hadoop之上的Hive
  4) 数据导出:基于hadoop的sqoop数据导入导出工具
  5) 数据可视化:定制开发web程序或使用kettle等产品
  6) 整个过程的流程调度:hadoop生态圈中的oozie工具或其他类似开源产品
1.6Hadoop集群的安装
  提前准备:虚拟机的正常安装,网卡启动成功,Xshell和ftp软件。jdk的压缩包,和Hadoop的压缩包。
  HadoopMaster1     NameNode  SecondaryNameNode     192.168.242.110
  HadoopYarn       ResourceManager         192.168.242.111
  HadoopSlaver1     DataNode    NodeManager     192.168.242.112
  HadoopSlaver2     DataNode    NodeManager     192.168.242.113
  HadoopSlaver3     DataNode    NodeManager     192.168.242.114
1.6.1上传jdk安装包(用xftp上传文件)
  解压到相应目录:rpm -ivh ./xxxxx.jdk  ./user/java
  编辑环境变量:为了在各个目录下能运行JAVA代码
  vim /etc/profile
  export JAVA_HOME=/usr/java/jvm/jdk1.7.0_79
  export JRE_HOME=${JAVA_HOME}/jre

  export>  export PATH=${JAVA_HOME}/bin:$PATH
  wq后保存: source  /etc/profile 配置更新
  echo java 检验 或者 javac java-version
1.6.2 Hadoop的安装
  1、解压到相应目录:cd /usr/local     tar –zxvf ./hadoop-2.7.2.tar.gz
  把目录修改为hadoop   mv hadoop-2... hadoop
  2、修改hadoop-env.sh
  vim  /usr/local/hadoop/etc/hadoop/hadoop-env.sh
  修改export JAVA_HOME 语句为 export JAVA_HOME=/usr/java/default
  3、修改core-site.xml 配置端口
  cd /usr/local/hadoop/etc/hadoop
  vi core-site.xml
  <configuration>
  <property>
  <name>hadoop.tmp.dir</name>
  <value>file://usr/hadoop/hadoop-2.6.4/tmp</value>  //文件存储的目录。需要创建
  </property>
  <property>
  <name>fs.defaultFS</name>
  <value>hdfs://localhost:9000</value> //集群Master的端口号
  </property>
  </configuration>
  ###修改secondaryNamenode中的core-site.xml 配置冷备份
  <property>
  <name>fs.checkpoint.period</name>
  <value>60</value>
  </property>
  <property>
  <name>fs.checkpoint.size</name>
  <value>67108864</value>
  </property>
  <property>
  <name>fs.checkpoint.dir</name>
  <value>file:/usr/hadoop/hadoop-2.8.0/dfs/fsimage/</value> //需要把映射文件考到这个目录
  </property>
  <property>
  <name>fs.checkpoint.edits.ir</name>
  <value>file:/usr/hadoop/hadoop-2.8.0/dfs/edits/</value>
  </property>
  4、修改集群hdfs-site.xml配置
  vi  hdfs-site.xml
  <configuration>
  <property>
  <name>dfs.namenode.secondary.http-address</name>  //冷备份
  <value>HadoopMaster1 :50090</value>
  </property>
  <property>
  <name>dfs.namenode.name.dir</name>
  <value>/home/hadoop/data/name</value>//主文件的存储目录需要在相应目录创建
  </property>
  <property>
  <name>dfs.datanode.data.dir</name>
  <value>/home/hadoop/data/data</value>//data文件的存储目录需要在相应目录创建
  </property>
  <property>
  <name>dfs.replication</name>
  <value>3</value>
  </property>
  <property>
  <name>dfs.secondary.http.address</name>
  <value>hdp-node-01:50090</value>
  </property>
  </configuration>
  5、配hadoop的环境变量 把/usr/hadoop/bin和/usr/hadoop/sbin设到PATH中
  vi /etc/profile
  export PATH=$PATH:/usr/hadoop/bin:/usr/hadoop/sbin
  更新:source etc/profile
  测试hadoop命令是否可以直接执行,任意目录下敲hadoop
1.6.3Yarn的搭建
  配置计算调度系统Yarn和计算引擎Map/Reduce
  1  namenode上配置 mapred-site.xml
  <property>
  <name>mapreduce.framework.name</name>
  <value>yarn</value>
  </property>
  2 yarn-site.xml的配置
  <property>
  <name>yarn.resourcemanager.hostname</name>
  <value>master</value>
  </property>
  <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>
  3启动yarn集群start-yarn.sh
  4 jps观察启动结果
1.6.4搭建五台机器,集群
  1、关闭虚拟机,完全克隆复制5份(一个个启动 修改IP和hostname)
  分别修改虚拟机的ip vim/etc/sysconfig/network-scripts/ifcfg-env33跟之前的图对应
  修改hostname  vim /etc/hostname  对应之前的名
  2、确认互相能够ping通,用ssh登陆
  在主机创建 .shh目录
  ssh-keygen  -t rsa
  ssh-copy-id (子机IP和自己IP)一直确定完成免密,hosts修改可以改名
  3,同时修改所有虚拟机的/etc/hosts,确认使用名字可以ping通
  HadoopMaster1      192.168.242.110
  HadoopYarn       192.168.242.111
  HadoopSlaver1     192.168.242.112
  HadoopSlaver2    192.168.242.113
  HadoopSlaver3     192.168.242.114
  4,修改master上/etc/hadoop/slaves文件,每一个slave占一行(子机的名)
  HadoopSlaver1     
  HadoopSlaver2   
  HadoopSlaver3
  现在集群namenode  datanode已经可以启动了
  使用start-dfs.sh启动集群,jps并观察结果
  配置文件详细信息以后慢慢搭建时会慢慢更改。
  现在这个集群完全搭建完毕,过程较长。建议初学者一点一点搭环境。配置文件可能会有问题。后续慢慢更改。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424956-1-1.html 上篇帖子: 云计算实验报告 下篇帖子: apache hadoop 伪分布式安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表