HDFS

Kylin集群模式部署(使用同一HBase存储)

不羁的心 提交于 2020-02-27 10:35:22
HDP版本:3.0 Kylin版本:2.6.0 前言 本文主要讲解如何部署Kylin集群,采取多个Kylin实例共享HBase存储的模式,如果需要事先了解Kylin基本概念的朋友可以 点击这里 前往。 一、安装启动Kylin 首先安装一个Kylin实例,然后再分析Kylin集群模式部署的注意点。 <!--more--> 1. 下载源码 这里使用的是Kylin-2.6.0的版本,如果需要其它版本的话,请点击 这里 cd /usr/hdp/3.0.1.0-187/ wget https://dist.apache.org/repos/dist/dev/kylin/apache-kylin-2.6.0-rc1/apache-kylin-2.6.0-bin-hadoop3.tar.gz mv apache-kylin-2.6.0-bin-hadoop3.tar.gz kylin 2. 修改配置文件 启动kylin服务时,会在Retrieving hive dependency...卡住,需要手动敲两下回车或者任意命令才可以继续往下执行,否则会一直被卡住。 觉得是由于Hive版本升级,hive命令行仅支持JDBC操作,所以需要输入用户名和密码所导致的Retrieving hive dependency...卡住。 解决办法是:修改kylin配置,将hive执行模式改为beeline。 cd

Hadoop入门

心不动则不痛 提交于 2020-02-27 07:46:06
概述 Hadoop是一个由Apache基金会所开发的 分布式系统 基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop实现了一个 分布式文件系统 (Hadoop Distributed File System),简称HDFS。HDFS有高 容错性 的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问 应用程序 的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算。 Hadoop能做什么? hadoop擅长日志分析,facebook就用Hive来进行日志分析,2009年时facebook就有非编程人员的30%的人使用HiveQL进行数据分析;淘宝搜索中的自定义筛选也使用的Hive;利用Pig还可以做高级的数据处理,包括Twitter、LinkedIn 上用于发现您可能认识的人,可以实现类似Amazon.com的协同过滤的推荐效果。淘宝的商品推荐也是!在Yahoo!的40

hdfs 创建一个新用户

隐身守侯 提交于 2020-02-27 06:44:06
需要给第三方提供hdfs用户,和上传文件的权限 1、需要先在linux 上创建一个普通用户: hn,并修改密码 sudo -u hdfs hadoop fs -mkdir /user/用户名 # sudo -u hdfs hadoop fs -mkdir /user/test sudo -u hdfs hadoop fs -chown 用户组:用户名 /user/用户名 # sudo -u hdfs hadoop fs -chown hn:hdfs /user/test 上传文件测试: hdfs dfs -put fileName /user/ 来源: oschina 链接: https://my.oschina.net/comics/blog/3171661

HDFS——小文件问题

∥☆過路亽.° 提交于 2020-02-27 06:25:13
小文件的定义 一般来说小于等于30M的文件,都叫小文件。 在HDFS中会将一个文件分成若干个block块(128M)存储,如:129M=128M+1M,就会生成2个block块,而在hadoop中的目录、文件、block都会以元数据的方式存储下来(200字节)。 在HDFS中,通常NN维护一个文件的名称,目录结构等大约是250字节。现实中,HDFS的小文件如果不做任何操作增长会很快,现在假设NN节点的内存为4G,差不多42亿字节,现在在HDFS上有一亿个小文件,那么需要250乘一亿大约是250亿字节,这样会将NN撑爆。小文件到达一定数目,就会将NN节点撑爆。就算NN能够存储,对于hive,spark计算时,小文件意味着需要更多的task和资源,同样也会将节点弄挂掉。 为什么会有小文件 批处理时造成过多的小文件 数据源有大量小文件,未做处理就直接拷贝到hadoop集群中 MR运算时reduce输出没有做很好的设置 小文件给Hadoop集群带来的瓶颈问题 在处理数据时,读取数据会有进程开启和销毁的过程,小文件过多会导致大量的网络磁盘IO的消耗。 在MapReduce过程中,会开启大量的MR任务,也就是说会造成大量的shuffle过程。也会造成大量任务处于等待资源的状态。 小文件问题的解决(合并) 源头减少小文件的产生 如果是由数据源产生大量小文件并直接拷贝到Hadoop

hadoop namenode ha--手动切换

99封情书 提交于 2020-02-27 02:45:43
hadoop namenode ha–手动切换 在参考本手册前请确保Hadoop中HDFS组件已经成功部署并正常运行,同时系统基本环境完备,包括ssh免密码登录、/etc/hosts等。 假设目前NameNode在服务器namenode1上运行,服务器namenode2作为standbynamenode,确保namenode2上至少已经安装了namenode服务。 操作过程中尽量避免使用root用户操作,这里假设使用hadoop用户操作,具体部署步骤如下: 1. 关闭所有节点上的HDFS进程,主要是namenode1上的namenode和datanode进程。 2. 修改系统配置文件core-site.xml和hdfs-site.xml hdfs-site.xml 中添加: <!-- HA Setup Head !--> <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>

MapReduce初级编程实践

时间秒杀一切 提交于 2020-02-27 02:36:56
1. 实验目的和要求 1.1 实验目的 通过实验掌握基本的MapReduce编程方法; 掌握用MapReduce解决一些常见的数据处理问题,包括数据去重、数据排序和数据挖掘等。 1.2 实验软硬件环境 操作系统:Linux(建议Ubuntu16.04) Hadoop版本:2.7.1 1.3 实验要求 (一)编程实现文件合并和去重操作 对于两个输入文件,即文件A和文件B,请编写MapReduce程序,对两个文件进行合并,并剔除其中重复的内容,得到一个新的输出文件C。下面是输入文件和输出文件的一个样例供参考。 输入文件A的样例如下: 20170101 x 20170102 y 20170103 x 20170104 y 20170105 z 20170106 x 输入文件B的样例如下: 20170101 y 20170102 y 20170103 x 20170104 z 20170105 y 根据输入文件A和B合并得到的输出文件C的样例如下: 20170101 x 20170101 y 20170102 y 20170103 x 20170104 y 20170104 z 20170105 y 20170105 z 20170106 x 在hdfs中创建input文件夹,创建f1,f2文件,上传文件到hdfs中input文件夹中,查看上传结果, 编译代码: 运行代码成功界面

MapReduce源码分析

*爱你&永不变心* 提交于 2020-02-27 02:28:56
mapreduce计算流程: 首先将block块切片,每个切片对应一个任务. 切片的目的 是将block数量和map任务数量解耦. map读取切片数据,默认按行读取,作为键值对交给map方法,其中key是当前读取的行在文件中的字节偏移量,value就是读取的当前行. map开始计算,自定义的逻辑 map将输出的kv首先写道环形缓冲区,在写之前计算分区号(默认按照key得hash值对reduce的个数取模) 环形缓冲区默认100MB,阈值80%,如果写入得kv对达到了80%则发生溢写,溢写到磁盘,如果溢写的文件数量达到了3个,则发生map端归并操作,此时如果指定了combiner,则按照combiner压缩数据. 当一个map任务完成之后,所有得reduce向其发生http get请求,下载他们所属的分区数据,此过程称为shuffle,洗牌. 当所有map任务运行结束,开始reduce任务 在reduce任务开始之前,如果有时间则进行shuffle文件的归并并落磁盘,如果没有时间,则直接归并按组发送给reduce方法,reduce迭代计算 reduce计算结束后将结果写道HDFS. 作业提交流程 1.客户端向RM取号 2.客户端检查作业输入输出,计算切片,解析配置信息 3.客户端将jar包\配置信息以及切片信息上传到HDFS 4.客户端向RM发送提交作业的请求 5.RM调度一个NM

Hadoop2.X主要模块默认端口及作用

◇◆丶佛笑我妖孽 提交于 2020-02-27 02:16:46
Hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着Hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。 这里包含我们使用到的组件: HDFS , YARN , HBase , Hive , ZooKeeper : 组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 dfs.datanode.http.address http服务的端口 HDFS DataNode 50475 dfs.datanode.https.address https服务的端口 HDFS DataNode 50020 dfs.datanode.ipc.address ipc服务的端口 HDFS NameNode 50070 dfs.namenode.http-address http服务的端口 HDFS NameNode 50470 dfs.namenode.https-address https服务的端口 HDFS NameNode 8020 fs.defaultFS 接收Client连接的RPC端口,用于获取文件系统metadata信息。 HDFS

hadoop集群的各部分一般都会使用到多个端口,有些是daemon之间进行交互之用,有些是用于RPC访问以及HTTP访问。而随着hadoop周边组件的增多,完全记不住哪个端口对应哪个应用,特收集记录如此,以便查询。这里包含我们使用到的组件:HDFS, YARN, Hbase, Hive, ZooKeeper:

自闭症网瘾萝莉.ら 提交于 2020-02-27 02:14:41
组件 节点 默认端口 配置 用途说明 HDFS DataNode 50010 dfs.datanode.address datanode服务端口,用于数据传输 HDFS DataNode 50075 dfs.datanode.http.address http服务的端口 HDFS DataNode 50475 dfs.datanode.https.address https服务的端口 HDFS DataNode 50020 dfs.datanode.ipc.address ipc服务的端口 HDFS NameNode 50070(9870) dfs.namenode.http-address http服务的端口 HDFS NameNode 50470 dfs.namenode.https-address https服务的端口 HDFS NameNode 8020 fs.defaultFS 接收Client连接的RPC端口,用于获取文件系统metadata信息。 HDFS journalnode 8485 dfs.journalnode.rpc-address RPC服务 HDFS journalnode 8480 dfs.journalnode.http-address HTTP服务 HDFS ZKFC 8019 dfs.ha.zkfc.port ZooKeeper

Hadoop 2.2 YARN分布式集群搭建配置流程

人盡茶涼 提交于 2020-02-27 01:09:19
搭建环境准备:JDK1.6,SSH免密码通信 系统:CentOS 6.3 集群配置:NameNode和ResourceManager在一台服务器上,三个数据节点 搭建用户:YARN Hadoop2.2下载地址: http://www.apache.org/dyn/closer.cgi/hadoop/common/ 步骤一:上传Hadoop 2.2 并解压到/export/yarn/hadoop-2.2.0 外层的启动脚本在sbin目录 内层的被调用脚本在bin目录 Native的so文件都在lib/native目录 配置程序文件都放置在libexec 配置文件都在etc目录,对应以前版本的conf目录 所有的jar包都在share/hadoop目录下面 步骤二:配置环境变量    在~/.bashrc文件中添加以下配置: export JAVA_HOME=/export/servers/jdk1.6.0_25/ export HADOOP_DEV_HOME=/export/yarn/hadoop-2.2.0 export HADOOP_MAPARED_HOME=${HADOOP_DEV_HOME} export HADOOP_COMMON_HOME=${HADOOP_DEV_HOME} export HADOOP_HDFS_HOME=${HADOOP_DEV_HOME}