![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
hadoop
文章平均质量分 79
luffy5459
程序猿一枚,喜欢瞎捣鼓。
展开
-
docker搭建hbase环境
hbase是hadoop生态中的一员,最早搭建hbase,需要先安装hadoop,然后安装zookeeper,再安装hbase。现在通过docker可以直接安装hbase,而且容器中并不需要hadoop。 安装很简单。直接拉取镜像,然后运行即可。docker run -d --name hbase -P harisekhon/hbase 通过-P参数,将容器内部所有监听的端口都映射为随机端口,我们可以看看容器状态:[root@docker ~]# docker ps...原创 2021-11-08 13:02:59 · 11602 阅读 · 10 评论 -
hbase shell命令行下常见操作
hbase是基于hadoop的列簇数据库,是nosql的一种。当我们搭建了hbase环境之后,可以通过hbase shell命令,进入hbase的命令行下,可以进行创建表,添加数据,删除数据,修改数据,删除表等等操作。1、创建表,创建表,需要创建表明,另外需要指定列簇(column family)。表名和列簇名都需要使用引号括起来。create 'stu','info'2、列出所有...原创 2019-03-15 22:01:49 · 8844 阅读 · 0 评论 -
win7通过源码编译hadoop-2.7.0
编译hadoop源代码,意义在于当我们使用eclipse进行hadoop开发时,可以直接在本地运行,而无需打包成jar,然后再提交到hadoop服务器进行运行。当然,这还需要一个可以支持hadoop对应版本的eclipse插件,即hadoop-eclipse-2.x.x.jar。 如果在linux系统上,其实很容易,没有那么多磕磕盼盼。在windows系统上编译,需要安装...原创 2018-09-30 14:06:49 · 1291 阅读 · 0 评论 -
windows部署hadoop-2.7.0
这里使用自己编译的hadoop-2.7.0版本部署在windows上,记得几年前,部署hadoop需要借助于cygwin,还需要开启ssh服务,最近发现,原来不需要借助cygwin,也无需开启ssh免密登录这些类linux的复杂流程。直接就可以sbin/start-all.cmd,开启了四个服务。第一步、准备hadoop-2.7.0,其实就是自己编译,这里不介绍,可以直接在网上...原创 2018-09-29 12:58:16 · 2514 阅读 · 0 评论 -
KafkaOffsetMonitor-assembly-0.2.1.jar使用遇到的问题
最近使用了一下最新版的kafka监控工具,按照以前的方式运行,能够打开首页,但是首页什么内容也没有,感觉像是除了什么问题,浏览器右键打开开发者模式,发现三个angularjs文件采用的是google地址,这肯定是访问不了的,404,为了使用这个版本就得修改首页引用的angularjs地址。这个地址也不是不能改,但是这个修改需要解压jar包。然后修改offsetapp目录下的index.html。...原创 2018-10-11 17:11:21 · 1384 阅读 · 2 评论 -
java操作hbase的增删改查
首先需要将hbase安装目录下lib文件夹中的jar文件全部加入到项目类路径下,另外还需要将hadoop相关jar包也加入。这里需要用到的主要API介绍一下。Configuration:HBase参数配置对象。Connection:HBase连接对象,通过ConnectionFactory工厂方法创建,需要传入一个参数配置对象。Admin:通过Admin实现创建表,删除表操作。...原创 2019-03-16 09:43:21 · 1351 阅读 · 1 评论 -
hbase1.0.0完全分布式安装
hbase是Hadoop生态系统中重要的一员,他是基于google bigtable的思想开发出来的开源列簇数据库。hbase的运行环境依赖于hdfs,zookeeper,这里介绍完全分布式安装。前提:jdk安装,ssh免秘钥登录,hadoop安装,zookeeper安装。我这里的环境:3台centos7,jdk1.8,hadoop-2.7,zookeeper-3.4.11,这里hbase采用一主...原创 2018-05-28 23:33:23 · 740 阅读 · 0 评论 -
Configured broker.id 2 doesn't match stored broker.id 1 in meta.properties
kafka伪分布式集群安装报错:Configured broker.id 2 doesn't match stored broker.id 1 in meta.properties。这种情况只有在一台机器上部署两个broker服务时才有可能发生,而且是server.properties中的log.dir配置采用默认配置/tmp/kafka-logs。当我们部署第一个broker时,会在/tmp/k...原创 2018-05-17 10:09:27 · 2951 阅读 · 3 评论 -
hadoop-3.0.1单节点安装部署
hadoop-3.0.1编译上和原来有不同的地方,部署时,也有一些需要注意的地方。安装部署过程一笔带过:a)设置免秘钥登录。b)设置jdk环境变量。c)配置编译好的hadoop环境变量,HADOOP_HOME,YARN_HOME,HADOOP_CONF_DIR,LD_LIBRARY_PATH,YARN_CONF_DIR。d)配置core-site.xml,hdfs-site.xml,mapred-...原创 2018-04-05 18:49:14 · 1262 阅读 · 2 评论 -
hadoop-3.0.1源码编译需要注意的事项
这次尝试了一下源码编译最新的hadoop3.0.1,发现了几个和原来不太一样的地方。记录下来:1、需要的jdk不再是原来的1.7,直接jdk1.8就编译通过了;2、以前安装需要安装编译依赖cmake,这次是需要cmake3,redhat7默认没有cmake3的package,需要先安装epel-release,然后安装cmake3,最后将cmake3做一个软链cmake;yum install e...原创 2018-04-05 16:42:06 · 1778 阅读 · 1 评论 -
IDEA+scala插件开发spark程序
spark由scala语言编写,开发spark程序,自然也少不了scala环境,这里介绍如何利用Intellij IDEA开发spark。1、环境准备。jdk,scala,idea这些对于本文来说都已经默认安装。2、idea中安装scala language插件。File->Settings->Plugins->Browse Repositories,搜索scala。选中Scal...原创 2018-04-04 23:44:55 · 4276 阅读 · 0 评论 -
win7源码编译hadoop-eclipse-plugin-2.7.0.jar
当你厌烦了本地编码,打包,部署到远程服务器,然后通过hadoop jar xxx.jar wordcount /input /output的方式运行mapreduce程序,那么可以考虑本地编译一个合适的hadoop-eclipse-plugin插件,进行本地运行远程mapreduce程序。减少了打包部署的步骤,还可以在eclipse中直接查看运行结果。本地编译hadoop-eclipse-pl...原创 2018-09-30 14:27:44 · 1087 阅读 · 0 评论 -
hive查询结果保存到本地
使用hive查询,结果我们通常会保存到hdfs,然后通过sqoop导出工具,将其导出到外部mysql或者其他地方,但是有时候查询结果就是一个数据,比如count(*)的结果,我们希望直接保存到一个中间变量,然后就可以直接将这个结果写入到mysql。而hive按照条件查询一般会有很多output输出,很难直接捕获到结果。但是我们可以通过将结果保存到本地文件,然后读取本地文件就可以解决这个问题了...原创 2018-10-22 15:13:58 · 7927 阅读 · 1 评论 -
c++编程实现简单mapreduce程序
hadoop提供了java版本的mapreduce编程API,我们需要自定义编写mapper和reducer,分别继承Mapper和Reducer,然后重写map和reduce方法。同时需要在main方法中构建job,然后指定mapper和reducer,最后提交任务。同时也支持c++编写mapreduce。hadoop有几种方式用c++实现mapreduce,这里介绍使用hadoop-s...原创 2019-09-21 22:25:56 · 3633 阅读 · 0 评论 -
MapReduce编程开发之倒排索引
倒排索引是词频统计的一个变种,其实也是做一个词频统计,不过这个词频统计需要加上文件的名称。倒排索引被广泛用来做全文检索。倒排索引最终的结果是一个单词在文件中出现的次数的集合,以下面的数据为例:file1.txthdfs hadoop mapreducehdfs bigdatahadoop mapreducefile2.txtmapreduce hdfshadoo...原创 2019-09-02 17:37:26 · 738 阅读 · 0 评论 -
MapReduce编程开发之数据排序
MapReduce的数据排序,其实没有很复杂的实现,默认在shuffle阶段,MapReduce就帮我们将数据排好序了,我们在Map和Reduce阶段,无需做额外的操作。 MapReduce在shuffle阶段,默认帮我们将数据做了排序,并且是做了合并,相同的数据归为一组了。在reduce的时候,我们需要注意的是:因为相同的键做了合并,为了将所有的数据输出,还需要遍历每一个键,如...原创 2019-09-02 17:29:24 · 1750 阅读 · 0 评论 -
MapReduce编程开发之求平均成绩
MapReduce计算平均成绩是一个常见的算法,本省思路很简单,就是将每个人的成绩汇总,然后做除法,在map阶段,是直接将姓名做key,分数作为value输出。在shuffle阶段,会将每个人的所有成绩做汇总,数据结构变为<name,<score1,score2...>>这样子,我们在reduce阶段就通过分数这个value-list来结算平均分。average =...原创 2019-09-02 17:36:18 · 9119 阅读 · 4 评论 -
MapReduce编程开发之数据去重
MapReduce就是一个利用分而治之的思想做计算的框架,所谓分,就是将数据打散,分成可以计算的小份,治就是将数据合并,相同键的数据合并成一个集合。MapReduce并不能解决所有的问题,因为他的数据类型是键值对,只能解决特定范围的问题。 数据去重算法,其实就是词频统计的一个变种,词频统计是统计文本中的单词出现的次数,如果一个单词出现两次,就算重复,去掉重复的办法就是保留一个副本...原创 2019-09-02 17:20:30 · 1654 阅读 · 0 评论 -
hdfs常见操作java示例
我们学习hadoop,最常见的编程是编写mapreduce程序,但是,有时候我们也会利用java程序做一些常见的hdfs操作。比如删除一个目录,新建一个文件,从本地上传一个文件到hdfs等,甚至是追加内容到hdfs文件中。这里介绍一些常见的hdfs操作的java示例,帮助我们加深对hdfs的理解。这里分为8个小部分,分别是:创建文件夹 创建文件并写入内容 查看文件内容 重命名 获取...原创 2019-08-31 09:47:49 · 661 阅读 · 0 评论 -
Eclipse开发mapreduce程序环境搭建
Eclipse作为一个常用的java IDE,其使用程度虽然比不上idea那么强大,但是对于习惯使用eclipse开发的人来说,也不失为一个可以选择的IDE。对于喜欢eclipse开发的人来说,就是想让他更加的智能化,更加的友好,比如开发mapreduce程序,我们可以利用hadoop-eclipse-plugin这个插件让eclipse能够可视化查看hdfs上的文件系统,并且可以创建ma...原创 2019-08-30 00:19:57 · 3972 阅读 · 1 评论 -
flume自定义拦截器实现定制收集日志需求
flume默认提供了timestamp,host,static,regex等几种类型的拦截器,timestamp,host,static等拦截器,其实就是在消息头中增加了时间戳,主机名,键值对信息,这些信息可以作用于信宿中。比如有时间戳的话,我们可以存储消息的时候,按照日期文件夹的形式来存放每天的日志。这些拦截器功能有时候,不一定能够满足所有用户需求,因此flume支持用户自定义拦截器,来...原创 2019-08-29 14:57:53 · 928 阅读 · 0 评论 -
flume日志收集系统常见配置
前面介绍了flume入门实例,介绍了配置netcat信源,以及memory信道,logger信宿,其实flume常见的信源信道信宿有很多,这里介绍flume常用信源的三种方式:netcat,avro,exec,信道的三种方式:memory,jdbc,file,信宿的两种方式FILE_ROLL,hdfs。理论上,这些组合在一起,可以构建十多种配置方式,这里我们就通过几个例子来展示这些配置,通...原创 2019-08-28 23:53:02 · 1058 阅读 · 0 评论 -
CDH5安装失败如何重新安装
cdh安装失败的原因可能有以下原因:1、机器内存不足,(server节点我用了6G,两个agent节点均是4G才安装成功)。2、需要的mysql驱动文件没有拷贝到指定位置。具体重新安装步骤如下:一、删除cm库mysql> drop database cm;Query OK, 45 rows affected (1.69 sec)二、删除agent节点相关信息...原创 2018-10-10 20:43:19 · 2555 阅读 · 0 评论 -
Cloudera Manager 5.12.0图文详解安装过程
这里介绍的是cdh5的离线安装方式,需要的文件提前准备好,安装过程会快一些。安装前提:机器配置内存一定要高,我这里安装的虚拟机均是redhat7:内存分别是6G,4G,4G。准备的文件:mysql-connector-java-5.1.38.jarcloudera-manager-centos7-cm5.12.0_x86_64.tar.gzmanifest.jsonCDH-5.1...原创 2018-10-09 17:13:45 · 902 阅读 · 0 评论 -
hadoop-2.8.0完全分布式环境搭建
一、机器及环境准备。1、jdk安装不用多说,安装完成配置环境变量即可。export JAVA_HOME=/usr/java/latestexport JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$JAVA_HOME/bin:$PATH运行...原创 2017-10-16 23:14:06 · 461 阅读 · 0 评论 -
kafka+flume+hdfs实时日志流系统初探
kafka+flume+hdfs搭建实时日志流系统原创 2017-06-29 23:49:26 · 9871 阅读 · 4 评论 -
redhat7源码编译hadoop2.6.0
以前在32位linux机器上编译过hadoop2.6.0,这次在redhat7 64bit上再次编译hadoop2.6.0,除必须的jdk,maven,protobuf需要安装之外,还需要安装系统依赖库gcc,gcc-c++,ncurses-devel,openssl-devel,cmake,这些依赖库的安装可以直接通过yum命令一下安装: yum install -y gcc g...原创 2017-06-23 13:04:42 · 759 阅读 · 0 评论 -
spark-1.6.0源码编译安装
环境准备spark是scala语言写的,scala运行需要jdk,如果通过maven编译,还需要maven环境,因此spark源码编译需要安装jdk,scala,apache-maven这三样环境。这里选择的是spark1.6.0,他需要的scala是2.10+,jdk7+,我的环境配置如下:验证环境:相关文件地址:链接: http://pan.baidu.com/s/1eS1j07S 密码: c...原创 2017-05-15 18:09:21 · 1731 阅读 · 4 评论 -
Hive使用入门
先介绍一些基本的命令:1、进入hive命令行,这种方式进入之后,执行操作为带有执行mapreduce的调试信息;hive --service cli --等同于直接输入hive2、进入hive命令行静默模式,不输出调试信息;hive -S --静默模式3、查看表信息,查看函数信息,查看表子段信息,每一条hiveql语句后面都要跟分号(;)结尾show tab原创 2017-03-07 21:25:48 · 837 阅读 · 0 评论 -
Hive内部表和外部表的区别
hive作为基于hdfs的数据仓库,在构建表的时候,会有内部表和外部表,这里介绍两者的异同点。原创 2017-03-08 23:20:34 · 2018 阅读 · 0 评论 -
hive:For direct MetaStore DB connections, we don't support retries at the client level
hive创建表和导入数据都没有问题,在删除表,做drop table 时报如题所示的错误。 有的文章说修改元数据库字符集为latin1,但是元数据库字符集默认创建就是latin1,修改字符集无法解决该问题。 通过更换mysql驱动jar包解决问题,我的原始jar包是mysql-connector-java-5.1.18.jar,更换为mysql...原创 2017-03-09 23:30:56 · 1385 阅读 · 0 评论 -
hive自定义函数UDF
Hive自定义函数(UDF),可以帮助用户轻松实现在hql语句中展现自定义查询结果。这里以一个简单的连接函数来实现用户自定义函数,假设表结构如下:表中只有两个简单的字段,id和name。这里实现一个将id和name用"-"连接的函数,最后输出结果。第一步、书写StringJoin类,继承UDF,实现名称为evaluate的方法;书写完成之后打包stringjoin.jar原创 2017-03-06 22:39:21 · 672 阅读 · 0 评论 -
hadoop2.6.0伪分布式环境搭建
Hadoop作为分布式大数据处理框架在数据处理应用中有广泛的应用,本文介绍在Linux环境下搭建hadoop伪分布式集群,记录下自己的学习过程。原创 2017-02-07 00:08:14 · 682 阅读 · 0 评论 -
solr5.5.5入门实例
solr是apache开源的搜索引擎,底层基于lucene,将lucene难以使用的api,通过封装,为用户提供方便的接口。solr国内下载地址:https://mirrors.cnnic.cn/apache/lucene/solr/,这里介绍windows下solr5.5.5的使用,solr5.x开始,内部集成了jetty,因此不需要额外的tomcat配合启动,这里需要安装jdk1.6+,win...原创 2017-12-10 23:27:41 · 921 阅读 · 0 评论 -
flink快速入门及采坑记录
apache flink作为第四代mapreduce计算框架,已经得到越来越多的应用,这里介绍如何快速入门,以及记录一个内存错误的问题。1、安装jdk2、下载flink,并解压。wget https://mirrors.tuna.tsinghua.edu.cn/apache/flink/flink-1.3.2/flink-1.3.2-bin-hadoop27-scala_2.11.tgz3、运行报...原创 2017-12-06 18:51:33 · 10211 阅读 · 3 评论 -
kafka集群搭建以及运行kafka监控平台kmonitor
kafka集群搭建kafka依赖zookeeper运行,在搭建kafka系统之前需要搭建zookeeper集群,这里先略过zookeeper集群搭建的过程。另外,kafka需要运行在jdk环境中,需要安装jdk,这里也不细说了。kafka集群搭建很简单,只需在各自机器上开启各自的实例即可,稍微需要注意一点的就是配置文件中指定broker-id,两个broker-id需要不一样。vi c原创 2017-11-01 13:27:34 · 4126 阅读 · 0 评论 -
ClassNotFoundException: org.apache.spark.sql.hive.thriftserver.SparkSQLCLIDriver解决办法
我们通过源码编译的spark-2.3.0来启动spark-sql进行sql操作,结果出现如下错误:Spark assembly has been built with Hive, including Datanucleus jars on classpath java.lang.ClassNotFoundException: org.apache.spark.sql.hive.thriftse...原创 2018-04-09 19:12:25 · 5757 阅读 · 0 评论 -
Hive使用JsonSerDe格式化json数据
hive默认使用分隔符如空格,分号,"|",制表符\t来格式化数据记录,对于复杂数据类型如json,nginx日志等,就没有办法拆分了,这时候需要更加强大的SerDe来处理复杂数据,如使用JsonSerDe或者使用正则表达式RegSerDe来处理。这里介绍如何利用JsonSerDe来处理json数据。1、下载最新的json-serde-1.3.8-jar-with-dependencies.jar...原创 2018-04-09 19:32:15 · 4733 阅读 · 0 评论 -
hive启动报错汇总以及解决办法
1、Relative path in absolute URI: ${system:java.io.tmpdir%7D/$%7Bsystem:user.name%7D需要将hive-site.xml配置文件中作为值使用的${system:java.io.tmpdir}/${system:user.name}全部替换为/path/to/hive/logs2、Unable to instantiate...原创 2018-04-08 23:11:30 · 4059 阅读 · 0 评论 -
windows+spark本地运行环境搭建
spark作为一个内存mapreduce框架,速度是hadoop的10倍甚至100倍。windows下可以通过简单设置,搭建本地运行环境。1、下载spark预编译版本,spark运行环境依赖jdk,scala,这里下载的最新spark版本是2.3,对应jdk1.8+scala2.11.8。java -versionjava version "1.8.0_151"Java(TM) SE Runt...原创 2018-04-04 21:47:12 · 3718 阅读 · 0 评论