hadoop集群搭建

Hadoop实战之一~Hadoop概述

女生的网名这么多〃 提交于 2019-11-28 00:36:47
对技术,我还是抱有敬畏之心的。 Hadoop概述 Hadoop是一个开源分布式云计算平台,基于Map/Reduce模型的,处理海量数据的 离线分析工具 。基于Java开发,建立在HDFS上,最早由Google提出,有兴趣的同学可以从 Google三驾马车: GFS,mapreduce,Bigtable 开始了解起,这里我不详细介绍了,因为网上的资料实在是太多了。 Hadoop项目的结构如下: Hadoop中最重要的应该就是HDFS和Mapreduce了,从HDFS讲起: HDFS 主要由以下优点: 1)、支持超大文件,一般来说,一个Hadoop文件系统可以轻松的存储TB、PB级别的数据。 2)、检测和快速应对硬件故障,在大量通用的廉价硬件构建的集群上,特别是硬件故障很常见,一班的HDFS系统由成百上千台存储着数据文件的服务器组成,越多的服务器也就意味着高故障率,因此故障检测和制动恢复就是HDFS的一个设计目标。 3)、流式数据访问方式,HDFS要处理的数据规模都比较大,应用程序一次需要访问大量数据, 适用于批量处理而非用户交互式处理数据,HDFS以流式方式访问数据,注重的是数据的高吞吐量而非访问速度 。 HDFS是建立在最有效的数据处理模式是一次写多次读(write-once,read-many-times)的模式的概念之上的, 当写入操作被关闭后

[Hadoop] Hadoop学习笔记之Hadoop基础

这一生的挚爱 提交于 2019-11-28 00:36:01
1 Hadoop是什么?   Google公司发表了两篇论文:一篇论文是“The Google File System”,介绍如何实现分布式地存储海量数据;另一篇论文是“Mapreduce:Simplified Data Processing on Large Clusters”,介绍如何对分布式大规模数据进行处理。Doug Cutting在这两篇论文的启发下,基于OSS(Open Source software)的思想实现了这两篇论文中的原理,从而Hadoop诞生了。    Hadoop是一种开源的适合大数据的分布式存储和处理的平台。 作为一种大规模分布式数据处理平台,Hadoop已成为许多程序员的一项重要技能。 2 Hadoop能够做什么?   以下内容有博友 王路情 整理。   大数据时代已经到来,给我们的生活、工作、思维方式都带来变革。如何寻求大数据后面的价值,既是机遇又是挑战。不管是金融数据、还是电商数据、又还是社交数据、游戏数据… … 这些数据的规模、结构、增长的速度都给传统数据存储和处理技术带来巨大的考验。幸运的是,Hadoop的诞生和所构建成的生态系统给大数据的存储、处理和分析带来了曙光。   不管是国外的著名公司Google、Yahoo!、微软、亚马逊、 EBay、FaceBook、Twitter、LinkedIn等和初创公司Cloudera

BigData<4>_Hadoop单机安装

这一生的挚爱 提交于 2019-11-27 23:18:19
一、环境 本机Mac,设置服务器ip的名称。 vim /etc/hosts 增加服务器ip 和 名称的映射关系: 120.xx.xxx.145 hadoop000 方便记忆 利用ssh登陆服务器: Linux上,设置服务器内网ip和服务器名称的映射 「使用阿里云,搭建Hadoop时候应该用内网ip」 同样在/etc/hosts中修改,服务器名hadoop000 创建相关的文件夹 mkdir hadoop mkdir software 存放软件安装包 mkdir app 存放软件的安装目录 mkdir data 存放使用的数据 mkdir lib 存放开发的jar mkdir shell 存放项目中的脚本 mkdir maven_resp 存放使用到的maven依赖 Hadoop安装前置要求 Java 1.8 (我用的Java11) 、 ssh Java和ssh的配置略略 java -version 看到安装的版本号说明安装完成。 ssh 免密登陆配置 ssh-keygen -t rsa 一路回车,在~/.ssh/中: id_rsa 私钥 id_rsa.pub 公钥 将公钥写入authorized_keys cat id_rsa.pub >> authorized_keys chmod 600 authorized_keys 注意: a. Hadoop集群中各个节点之间的访问

(28)zookeeper集群的搭建

六月ゝ 毕业季﹏ 提交于 2019-11-27 19:18:32
搭建一个3机器的集群,即zookeeper要安装在3台主机中,每台主机要安装好jdk。 1.上传zookeeper文件并解压 2.修改环境变量 vi /etc/profile 添加内容: export ZOOKEEPER_HOME=/home/hadoop/zookeeper-3.4.5 export PATH=$PATH:$ZOOKEEPER_HOME/bin 重新编译文件: source /etc/profile 注意: 3 台 zookeeper 都需要修改 3.修改zookeeper的配置文件 cd zookeeper-3.4.5/conf cp zoo_sample.cfg zoo.cfg # 拷贝一份 zoo_sample.cfg ,命名为 zoo.cfg vi zoo.cfg zoo.cfg文件的内容如下: tickTime:心跳检测的周期 initLimit:初始化花费多少个心跳时间 syncLimit:发出请求到获取响应间的最大时差,若超出该时差就认为请求没有得到对方的响应,对方可能挂了 dataDir:数据目录,保存数据 clientPort:客户端访问zookeeper的端口 添加内容: dataDir=/home/hadoop/zookeeper-3.4.5/data dataLogDir=/home/hadoop/zookeeper-3.4.5/log

分布式存储系统-HDFS

浪尽此生 提交于 2019-11-27 10:30:27
HDFS作为分布式文件管理系统,Hadoop的基础。HDFS体系机构包括:NameNode、DataNode、SecondaryNameNode。Hadoop shell上传的文件是存放在DataNode的block中,通过linux shell只能看到block,不能看到文件。 以下是本章的重点: 分布式文件系统与HDFS HDFS体系结构与基本概念 HDFS的shell操作 搭建eclipse开发环境 Java接口及常用api Hadoop的RPC机制 Hadoop读写数据的过程分析 1.分布式文件系统与HDFS DFS:Distributed File System 分布式文件管理系统:数据量越来越多,在一个操作系统管辖的范围存不下,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文件。分布式文件管理系统就是一种允许文件通过网络在 多台主机 上分享的文件系统,可让 多机器 上的 多用户 分享文件和存储空间。 HDFS只是DFS中的一种,适应于 一次写、多次查询 的情况,不支持并发写情况,小文件不合适。HDFS:把客户端的大文件存放在很多节点的数据块中,记住三个关键词:文件、节点、数据块。 更简单的一点来说:HDFS就是windows中存在的文件系统。 2. HDFS的shell操作 HDFS是存取数据的分布式文件系统

网站日志统计案例分析与实现

情到浓时终转凉″ 提交于 2019-11-27 08:29:57
1.概要 到这一步,若是按照前面到文章一步走来,不出意外,我想hadoop平台环境应该搭建OK了。下面我以自己工作中实际的案例来梳理一下整个流程。同时参考一些其他的文章来分析,由于很多网站的日志KPI都大同小异,故有些指标直接在文中赘述了。 2.流程 背景 前言 目录 日志分析概述 需求分析 源码 2.1 背景   从2011年开始,中国进入大数据时代如火如荼,以Hadoop为代表的套件,占据了大数据处理的广阔地盘。开源界及厂商,所有数据软件,纷纷向Hadoop靠拢。Hadoop也从小规模的试点和使用,变成了大数据开发的标准。在Hadoop原有技术基础之上,出现了Hadoop家族产品,通过大数据概念的不断创新,推进了Hadoop的发展速度。   如今,Hadoop2.x的出现,使很多企业纷纷主动去接受Hadoop这个平台,因此,作为IT界的开发人员,了解并掌握Hadoop的技能,成为开发人员必备的一项技能。也是今后主流的一种趋势。   注:Hadoop2.x的出现为何引起这么大大反响,这里不做赘述。 2.2 前言   Web日志包含着网站最重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值等。一般中型的网站(10w的PV以上),每天会产生1G以上的Web日志文件。大型或超大型的网站,可能每小时就产生10G的数据量。 对于日志的这种规模的数据

Hadoop-HDFS分布式环境

百般思念 提交于 2019-11-27 06:26:42
HDFS 简单介绍 HDFS 的英文全称是Hadoop Distributed File System,顾名思义,就是 Hadoop 分布式文件系统,是根据 Google 的 GFS 的论文,由 Doug Cutting 使用 Java 开发的开源项目。 HDFS 本身是 H adoop 项目的一部分,为 Hadoop 提供了底层的数据存储,以供上层的各种实际应用使用(如 Map/Reduce )。 HDFS 是典型的 Master/Slave 集群架构,由一个 NameNode 和多个 DataNode 组成, NameNode 只能是一个,扮演着 Master 的角色,负责对具体存储块的元数据进行保存,如某个存储块具体保存在哪个 DataNode 上; DataNode 可以为多个,扮演着 Slave 的角色,负责对具体的存储块进行保存,一个相同的存储块根据配置可以保存到多个 DataNode 上,以保持数据的高可用性。客户端与 HDFS 交互时,典型的,会先询问 NameNode 具体的存储块在哪个 DataNode 上,然后客户端会直接联系相应的 DataNode ,来获取或写入数据。各个 DataNode 会定时发送心跳至 NameNode ,以便 NameNode 了解 DataNode 的可用状态及存储状态,这样可以保证某一个 DataNode 挂掉,

hadoop环境搭建官方文档(一)伪分布式搭建

浪尽此生 提交于 2019-11-27 02:38:12
首先学习hadoop集群搭建,最好的方法还是去多看官方文档里面包含各种环境搭建的过程和原因。 官方文档: https://hadoop.apache.org/docs/r2.5.2/ 下载hadoop2.5.0 : http://archive.apache.org/dist/hadoop/common/ (这里有hadoop历史上的所有的版本,不过2.5.0版本是相对很稳定的版本,比较适合学习) 首先说明,hadoop环境搭建共分为四种方式:( 安装hadoop之前需要安装jdk并且配置环境变量 ) 一.本地模式 Local (Standalone) Mode 本地模式不需要对hadoop进行配置,只要解压就可以了,下面是官方文档对hdfs的一些操作实现。 $ mkdir input $ cp etc/hadoop/*.xml input $ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar grep input output 'dfs[a-z.]+' $ cat output/* 二.伪分布式 Pseudo-Distributed Mode 1.首先配置hdfs文件系统 配置之前先设置三个配置文件中的java_home的环境变量 etc/hadoop/mapred-env.sh

腾讯云+阿里云 搭建hadoop + hbase

时间秒杀一切 提交于 2019-11-27 02:30:25
目录 服务器配置 hadoop hbase JAVA测试 历时两天,踩了无数坑最后搭建成功。。。 准备 两台服务器都安装jdk1.8(最好装在相同路径)。 hadoop 下载 hbase 下载 这里使用hadoop-2.7.3和hbase1.2.4 服务器配置 以下1-3步骤中两台服务器都要配置 1、修改hostname 主节点修改成master 从节点修改成slave1 使用命令:vim /etc/hostname master # or slave1 重启服务器:reboot 2、修改服务器hosts 假如主节点是阿里云。则在阿里配置 命令: vi /etc/hosts ip master ip1 slave1 其中 ip=阿里的内网ip;ip1=腾讯的外网ip 在腾讯配置 ip master ip1 slave1 其中 ip=阿里的外网ip;ip1=腾讯的内网ip。 3、安装jdk1.8,并配置环境变量 4、ssh配置(master主机) 输入命令生成密匙对 ssh-keygen -t rsa 一路回车 上述命令将在/root/.ssh目录下生成公钥文件id_rsa.pub。将此文件拷贝到.ssh目录下的authorized_keys: cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys 使用ssh登录本机

面试问题

守給你的承諾、 提交于 2019-11-27 01:23:32
358 、你们的集群规模? 开发集群:10台(8台可用)8核cpu 359 、你们的数据是用什么导入到数据库的?导入到什么数据库? 处理之前的导入:通过hadoop命令导入到hdfs文件系统 处理完成之后的导出:利用hive处理完成之后的数据,通过sqoop导出到mysql数据库中,以供报表层使用。 360 、你们业务数据量多大?有多少行数据?(面试了三家,都问这个问题) 开发时使用的是部分数据,不是全量数据,有将近一亿行(8、9千万,具体不详,一般开发中也没人会特别关心这个问题) 361 、你们处理数据是直接读数据库的数据还是读文本数据? 将日志数据导入到hdfs之后进行处理 362 、你们写hive的hql语句,大概有多少条? 不清楚,我自己写的时候也没有做过统计 363 、你们提交的job任务大概有多少个?这些job执行完大概用多少时间?(面试了三家,都问这个问题) 没统计过,加上测试的,会与很多 364 、hive跟hbase的区别是? 365 、你在项目中主要的工作任务是? 利用hive分析数据 366 、你在项目中遇到了哪些难题,是怎么解决的? 某些任务执行时间过长,且失败率过高,检查日志后发现没有执行完就失败,原因出在hadoop的job的timeout过短(相对于集群的能力来说),设置长一点即可 367 、你自己写过udf函数么?写了哪些? 这个我没有写过 368