hadoop开发环境搭建

Hive 系列(二)—— Linux 环境下 Hive 的安装部署

别等时光非礼了梦想. 提交于 2019-11-28 02:43:34
一、安装Hive 1.1 下载并解压 下载所需版本的 Hive,这里我下载版本为 cdh5.15.2 。下载地址: http://archive.cloudera.com/cdh5/cdh/5/ # 下载后进行解压 tar -zxvf hive-1.1.0-cdh5.15.2.tar.gz 1.2 配置环境变量 # vim /etc/profile 添加环境变量: export HIVE_HOME=/usr/app/hive-1.1.0-cdh5.15.2 export PATH=$HIVE_HOME/bin:$PATH 使得配置的环境变量立即生效: # source /etc/profile 1.3 修改配置 1. hive-env.sh 进入安装目录下的 conf/ 目录,拷贝 Hive 的环境配置模板 flume-env.sh.template cp hive-env.sh.template hive-env.sh 修改 hive-env.sh ,指定 Hadoop 的安装路径: HADOOP_HOME=/usr/app/hadoop-2.6.0-cdh5.15.2 2. hive-site.xml 新建 hive-site.xml 文件,内容如下,主要是配置存放元数据的 MySQL 的地址、驱动、用户名和密码等信息: <?xml version="1.0"?> <?xml

Hdfs详解

你。 提交于 2019-11-28 01:22:31
一.Hdfs简介    hdfs是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件,并且是分布式的,由很多服务器联合起来实现其功能,集群中的服务器各自负责角色;   重要特征:   1.HDFS中的文件在物理上是分块存储(block),块的大小可以通过配置参数( dfs.blocksize)来规定,默认大小在hadoop2.x版本中是128M,老版本中是64M   2.HDFS文件系统会给客户端提供一个统一的抽象目录树,客户端通过路径来访问文件,形如:hdfs://namenode:port/dir-a/dir-b/dir-c/file.data   3.目录结构及文件分块信息(元数据)的管理由namenode节点承担——namenode是HDFS集群主节点,负责维护整个hdfs文件系统的目录树,以及每一个路径(文件)所对应的block块信息(block的id,及所在的datanode服务器) 4.文件的各个block的存储管理由datanode节点承担---- datanode是HDFS集群从节点,每一个block都可以在多个datanode上存储多个副本(副本数量也可以通过参数设置dfs.replication) 5.HDFS是设计成适应一次写入,多次读出的场景,且不支持文件的修改 二.Hdfs的shell(命令行客户端)操作  

HDFS详解

我与影子孤独终老i 提交于 2019-11-28 01:21:55
HDFS基本概念 1、HDFS设计思想 分而治之 :将大文件、大批量文件,分布式存放在大量服务器上, 以便于采取 分而治之 的方式对海量数据进行运算分析 2、概念和特性 概念:HDFS是一个 分布式 的 文件系统 。 特性: (1)HDFS 中的 文件在 物理上是 分块存储( block ) ,块的大小可以通过配置参数 ( dfs.blocksize ) 来规定,默认大小在 hadoop2.x 版本中是 128M ,老版本中是 64M (2)HDFS 文件系统会 给客户端提供一个 统一的抽象目录树 ,客户端通过路径来访问文件 ,形如: hdfs://namenode:port/dir-a/dir-b/dir-c/file.data (3) 目录结构及文件分块信息 ( 元数据 ) 的管理由 namenode 节点承担 —— namenode 是 HDFS 集群主节点,负责维护整个 hdfs 文件系统的目录树,以及每一个路径(文件)所对应的 block 块信息( block 的 id ,及所在的 datanode 服务器) (4) 文件的各个 block 的存储管理由 datanode 节点承担 ---- datanode 是 HDFS 集群从节点,每一个 block 都可以在多个 datanode 上存储多个副本(副本数量也可以通过参数设置 dfs.replication ) (5

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集群中各个节点之间的访问

Windows下单机安装Spark开发环境

好久不见. 提交于 2019-11-27 14:51:16
机器:windows 10 64位。 因Spark支持java、python等语言,所以尝试安装了两种语言环境下的spark开发环境。 1、Java下Spark开发环境搭建 1.1、jdk安装 安装oracle下的jdk,我安装的是jdk 1.7,安装完新建系统环境变量JAVA_HOME,变量值为“C:\Program Files\Java\jdk1.7.0_79”,视自己安装路劲而定。 同时在系统变量Path下添加C:\Program Files\Java\jdk1.7.0_79\bin和C:\Program Files\Java\jre7\bin。 1.2 spark环境变量配置 去http://spark.apache.org/downloads.html网站下载相应hadoop对应的版本,我下载的是 spark-1.6.0-bin-hadoop2.6.tgz ,spark版本是1.6,对应的hadoop版本是2.6 解压下载的文件,假设解压 目录为:D:\spark-1.6.0-bin-hadoop2.6。将D:\spark-1.6.0-bin-hadoop2.6\bin添加到系统Path变量,同时新建SPARK_HOME变量,变量值为:D:\spark-1.6.0-bin-hadoop2.6 1.3 hadoop工具包安装 spark是基于hadoop之上的

分布式存储系统-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 挂掉,

面试问题

守給你的承諾、 提交于 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

hadoop伪分布模式配置

核能气质少年 提交于 2019-11-26 17:39:35
1. 伪分布配置 实验条件:1台ubuntu服务器,jdk版本1.8.X,Hadoop 版本1.2.X 1.1 ssh localohost 如果不输入口令就无法用ssh登陆localhost,即ssh免密登陆,则执行下面的命令,产生公私钥对, 将私钥放入authorized_keys $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 坑1 ssh端口不对 ssh默认端口是22,但是服务器往往基于安全考虑会修改默认端口,这里要注意,如果修改了ssh端口, 则需要修改默认端口,或者再加一个ssh端口 ps:跟另一个服务器管理员互相该端口和配置文件 1.2 配置/cong/core-site.xml 设置hdfs的tmp目录,hadoop会默认把data和name目录放在tmp中 hdfs默认端口号地址,临时文件存放目录信息 <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local