hadoop
小萌猿
本人的所有文章仅代表个人想法与经验,有问题的地方望多多指教
展开
-
hive启动报错: Hive metastore database is not initialized
解决方法:执行 schematool -dbType mysql -initSchema即可原创 2017-09-08 22:22:07 · 2820 阅读 · 0 评论 -
Hadoop主从切换失败
主节点node1,从节点node2,集群启动后node1 Active,node2 Standby,通过在node1上执行hadoop-daemon.sh stop namenode来使node2切换为Active。发现切换失败(之前一直是这样子做的),集群主从切换是依靠zookeeper的选举机制,而zookeeper的选举制度是DFSZKFailoverController进程实现,而且必须...原创 2018-12-17 15:10:22 · 1135 阅读 · 3 评论 -
namenode格式化遇到的几个问题
1、Call From node1/192.168.245.151 to node6:8485 failed on connection8485端口是journalnode的端口, 就是说连接不上journalnode,所以在几个journalnode节点分别执行hadoop-daemon.sh start journalnode打开即可2、启动Hbase时Hmaster进程报错: org.a...原创 2018-11-20 17:30:06 · 2908 阅读 · 0 评论 -
IK分词器的空指针问题
之前有在Lucene项目中使用过IK分词器的Lucene相关API,没有出现什么问题,今天使用了另一个API,出现了空指针问题,记录一下。 IKSegmenter segmenter = new IKSegmenter(reader, true); while(segmenter.next()!= null){ ...原创 2018-09-02 22:58:42 · 2572 阅读 · 0 评论 -
WritableComparator的继承
今天用MapReduce写了一个东西,一直报空指针的错误。在这儿简单Mark一下。 原因是这样的,我的程序中在Map阶段输出的key是我自定义的一个MyKey,然后在Sort阶段需要按照这个MyKey来排序。程序跑到Map达到100%就报错,空指针。所以问题肯定是处在Shuffle阶段。查了好久发现是我的Sort类写的有问题。 Sort类通过继承WritableComparator来比较两个M...原创 2018-08-28 16:06:45 · 2083 阅读 · 0 评论 -
Hadoop多磁盘配置
这里给DataNode增加一个磁盘,具体步骤如下:(假设我的磁盘路径为/dev/vdb) 一、磁盘分区:fdisk /dev/vdb (具体分区可自定义,这里只分一个主分区/dev/vdb1) 二、磁盘格式化:mkfs.ext3 /dev/vdb1 (Linux下磁盘格式为ext系列,这里,格式化为ext3) 三、挂载磁盘:mount /dev/vdb1 /mnt/test 四、添加到...原创 2018-06-02 22:44:05 · 4738 阅读 · 0 评论 -
Zookeeper在Hadoop与Storm中应用的区别
Hadoop与Storm都是典型的主从架构,但是在使用 Zookeeper时还是不太一样的。 一、对于Hadoop来说,所有的 slaves都需要向master汇报状态信息,比如:MapReduce里的Tasktracker会向Jobtracker汇报,从而,Jobtracker所在节点内存中会有Tasktracker的状态信息,同时TaskTracker会收到JobTracker的响应信息,告...原创 2018-04-19 10:36:28 · 3071 阅读 · 0 评论 -
hive启动出错:Found class jline.Terminal, but interface was expected
启动hive时报错,如下图: 原因:hadoop与hive的jline包版本不一致造成 解决:在hadoop安装路径下的share/hadoop/yarn/lib找到jline-xxx.jar 在hive路径下的lib里也找到jline-xxx.jar,会发现这两个包版本不一致,将其同步即可,用新版本的替换老版本(反之也行)...原创 2018-03-04 22:12:16 · 3570 阅读 · 0 评论 -
Hadoop运行错误:org.apache.hadoop.yarn.exceptions.YarnException
打包MapReduce程序为jar包后在Hadoop集群执行时出错: 原因:集群时间不一致造成的 解决:同步集群时间即可 同步步骤: 思路:比如集群有三台机器:node1,node2,node3,将node1作为时间服务器,其它两台与node1同步即可。 一、设置时间服务器:(node1中执行) 1、vi /etc/ntp.conf 注释掉restrict default kod...原创 2018-03-03 11:24:39 · 24076 阅读 · 1 评论 -
MapReduce处理HBase出错:XXX.jar is not a valid DFS filename
原因:Hadoop文件系统没有检查路径时没有区分是本地windows系统还是Hadoop集群文件系统 解决: 只需将Map和Reduce的init方法最后一个参数(boolean addDependencyJars)设为false(默认为true)...原创 2018-03-16 18:00:46 · 7593 阅读 · 0 评论 -
HDFS1.X的单点故障和内存受限问题
HDFS2.X提出的HA和Federation分别对应解决两个问题 –解决单点故障 HDFS HA:通过主备NameNode解决,当主NameNode出现故障时,快速切换到备NameNode上。 –解决内存受限 HDFS Federation(联邦),多个NameNode水平扩展,每一个分管一部分目录,所有的NameNode共享所有DataNode存储资源。一、先说内存受限问题,...原创 2018-02-14 20:28:12 · 2526 阅读 · 0 评论 -
MapReduce的Shuffle过程
总的来说,Shuffle是Mapper和Reducer的中间步骤,它的功能是,将Mapper输出的键值对按照key值重新进行切分和组合,并将key值满足一定条件的键值对传送给特定的Reducer去处理。可以简化Reducer的工作。 Shuffle分为Map端和Reduce端两部分 一、Map端,如下图: input: 输入数据来源于block,当然map作业直接读取的是split p...原创 2018-02-26 20:27:50 · 2210 阅读 · 0 评论 -
NameNode、SecondaryNameNode、DataNode
一、NameNode(NN) 主要功能:接受客户端的读写请求并分发给DataNode,DataNode是文件的主要存储与处理的地方。而NameNode中会保存文件的元数据(metadate),包括: 1、文件的拥有者、权限、文件名等 2、文件包含的块(block) 3、这些block保存在哪个DataNode中(DataNode启动时上报) 这个metadata信息在磁盘中存储为文件“f原创 2018-02-06 23:15:45 · 3219 阅读 · 0 评论 -
Hadoop下TreeMap的使用
最近在Hadoop下写Topk算法时,用到了TreeMap,它的API很适合该算法,比如: TreeMap原创 2017-10-03 17:17:40 · 2609 阅读 · 0 评论 -
FileSystem.open()读取 HDFS上的文件遇到的问题
FileSystem.open()方法返回的是一个FSDataInputStream对象,我是直接通过FSDataInputStream的readLine()按行读取内容的,这个方法是deprecated的,就是过期了,其实平时写代码时大部分过期函数都还是可以使用的,但是这里不行,会出现中文乱码Path path =new Path(uri.getPath());FileSystem fs =...原创 2019-01-31 20:54:14 · 4034 阅读 · 1 评论