- 浏览: 2146394 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (682)
- 软件思想 (7)
- Lucene(修真篇) (17)
- Lucene(仙界篇) (20)
- Lucene(神界篇) (11)
- Solr (48)
- Hadoop (77)
- Spark (38)
- Hbase (26)
- Hive (19)
- Pig (25)
- ELK (64)
- Zookeeper (12)
- JAVA (119)
- Linux (59)
- 多线程 (8)
- Nutch (5)
- JAVA EE (21)
- Oracle (7)
- Python (32)
- Xml (5)
- Gson (1)
- Cygwin (1)
- JavaScript (4)
- MySQL (9)
- Lucene/Solr(转) (5)
- 缓存 (2)
- Github/Git (1)
- 开源爬虫 (1)
- Hadoop运维 (7)
- shell命令 (9)
- 生活感悟 (42)
- shell编程 (23)
- Scala (11)
- MongoDB (3)
- docker (2)
- Nodejs (3)
- Neo4j (5)
- storm (3)
- opencv (1)
最新评论
-
qindongliang1922:
粟谷_sugu 写道不太理解“分词字段存储docvalue是没 ...
浅谈Lucene中的DocValues -
粟谷_sugu:
不太理解“分词字段存储docvalue是没有意义的”,这句话, ...
浅谈Lucene中的DocValues -
yin_bp:
高性能elasticsearch ORM开发库使用文档http ...
为什么说Elasticsearch搜索是近实时的? -
hackWang:
请问博主,有用solr做电商的搜索项目?
Solr中Group和Facet的用法 -
章司nana:
遇到的问题同楼上 为什么会返回null
Lucene4.3开发之第八步之渡劫初期(八)
最近,要在沙箱的环境装一个hadoop的集群,用来建索引所需,装hadoop已经没啥难的了,后面,散仙会把重要的配置信息,贴出来,本次装的hadoop版本是hadoop1.2的版本,如果不知道怎么装的,可以参考这篇文章,安装的具体步骤,散仙在这里不在重述,重点在于hadoop-nd,hadoop-dd,tmp目录的配置,下面是配置文件的示例:
core-site.xml的配置:
hdfs-site.xml的配置:
mapred-site.xml的配置:
hadoop-env.sh,看情况配置,第一次安装需要配置JDK的路径
下面说重点问题:
集群,安装完毕后,
(1)先使用jps命令,查看所有的hadoop进程是否,启动正常,如果没有全部启动,需要查看,对应的log信息。
(2)如果进程都正常,可以访问对应的端口信息,在Web上查看集群页面信息
(3)如果页面上也正常,这时候,我们需要跑一个基准测试来真正的校验下,集群的计算情况,基准测试主要测试两个方面,一个是生成文件,测的是Map的运行情况,一个是排序输出,测的是Reduce的运行情况,针对hadoop1.2.x的版本我们可以使用如下的命令进行基准测试,注意需要进入到hadoop的根目录:
生成数据文件
1,hadoop jar hadoop-examples-1.2.1.jar teragen 10000000 input
排序输出
2, hadoop jar hadoop-examples-1.2.1.jar terasort input output
如果是hadoop2.x,需要使用如下方式跑基准:
(1)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter rand
(2)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar sort rand sort-rand
第一个命令会在rand 目录的生成没有排序的数据。第二个命令会读数据,排序,然后写入rand-sort 目录
基准测试,正是验证hadoop集群是否工作正常的一个非常重要的手段,散仙,运行之后,发现生成文件时,没有问题,而使用排序的基准时,发现reduce卡死现象,map100%之后,reduce一直不动,内存,Cpu等资源是充足的,然后看查看log,发现读取的映射地址有问题,在web页面上查看reduce的执行情况,发现解析地址错误:
注意上图做下面的地址,正常的情况,这个链接应该是本机IP的某个地址下的,但现在解析成这样,肯定获取不到数据,在reduce阶段,要拉取所有节点上的数据,进行排序,如果拉取中,出现网络异常,那么程序一直阻塞,重试,导致reduce阶段,失败,或出现运行缓慢的情况下,找到大致原因后,回到linux上,查看主机名,/etc/hosts的配置
,并使用ping命令,ping自己的主机名,或者在hosts文件里,相对应的主机名,并查看DNS的解析名,是否正常,确定无误后,把hosts文件,同步到集群上的其他机器上,确保一致,然后关掉集群,重启格式化,重启,再跑次,基准测试,运行正常:
hadoop的任务启动后,可使用hadoop job -list命令,来查看当前正在执行的MR任务,如果想要强制,停掉正在执行的MR任务,可以使用hadoop job -kill 任务名 即可
总结:
关于散仙这个异常的原因,就是因为hosts文件的配置的映射名,太多了,并且本机的host名没有配置,和其他的机器上的hosts文件也不大一致,导致了上述问题的发生,出现问题时,我们就从日志下手,找到相关的蛛丝马迹然后一点点解决,
如果关闭hadoop集群,关不掉,可以试试如下的命令,强制kill:
core-site.xml的配置:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://h1:8020</value> </property> <property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.BZip2Codec,org.apache.hadoop.io.compress .SnappyCodec</value> <final>true</final> </property> </configuration> ~
hdfs-site.xml的配置:
<configuration> <property> <name>fs.default.name</name> <value>hdfs://h1:8020</value> </property> <property> <name>dfs.block.size</name> <value>134217728</value> </property> <property> <name>dfs.namenode.handler.count</name> <value>10</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>/home/search/hadoop-nd</value> </property> <property> <name>dfs.data.dir</name> <value>/home/search/hadoop-dd</value> </property> <property> <name>dfs.tmp.dir</name> <value>/home/search/tmp</value> </property> <property> <name>dfs.web.ugi</name> <value>search,search</value> </property> <property> <name>dfs.balance.bandwidthPerSec</name> <value>10485760</value> </property> <property> <name>dfs.support.append</name> <value>true</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> </configuration>
mapred-site.xml的配置:
<configuration> <property> <name>mapred.job.tracker</name> <value>h1:8021</value> </property> <property> <name>mapred.tasktracker.map.tasks.maximum</name> <value>2</value> </property> <property> <name>mapred.tasktracker.reduce.tasks.maximum</name> <value>2</value> </property> <property> <name>mapred.map.child.java.opts</name> <value>-Xmx512M</value> </property> <property> <name>mapred.reduce.child.java.opts</name> <value>-Xmx512M</value> </property> </configuration> ~
hadoop-env.sh,看情况配置,第一次安装需要配置JDK的路径
下面说重点问题:
集群,安装完毕后,
(1)先使用jps命令,查看所有的hadoop进程是否,启动正常,如果没有全部启动,需要查看,对应的log信息。
(2)如果进程都正常,可以访问对应的端口信息,在Web上查看集群页面信息
(3)如果页面上也正常,这时候,我们需要跑一个基准测试来真正的校验下,集群的计算情况,基准测试主要测试两个方面,一个是生成文件,测的是Map的运行情况,一个是排序输出,测的是Reduce的运行情况,针对hadoop1.2.x的版本我们可以使用如下的命令进行基准测试,注意需要进入到hadoop的根目录:
生成数据文件
1,hadoop jar hadoop-examples-1.2.1.jar teragen 10000000 input
排序输出
2, hadoop jar hadoop-examples-1.2.1.jar terasort input output
如果是hadoop2.x,需要使用如下方式跑基准:
(1)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter rand
(2)./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar sort rand sort-rand
第一个命令会在rand 目录的生成没有排序的数据。第二个命令会读数据,排序,然后写入rand-sort 目录
基准测试,正是验证hadoop集群是否工作正常的一个非常重要的手段,散仙,运行之后,发现生成文件时,没有问题,而使用排序的基准时,发现reduce卡死现象,map100%之后,reduce一直不动,内存,Cpu等资源是充足的,然后看查看log,发现读取的映射地址有问题,在web页面上查看reduce的执行情况,发现解析地址错误:
注意上图做下面的地址,正常的情况,这个链接应该是本机IP的某个地址下的,但现在解析成这样,肯定获取不到数据,在reduce阶段,要拉取所有节点上的数据,进行排序,如果拉取中,出现网络异常,那么程序一直阻塞,重试,导致reduce阶段,失败,或出现运行缓慢的情况下,找到大致原因后,回到linux上,查看主机名,/etc/hosts的配置
,并使用ping命令,ping自己的主机名,或者在hosts文件里,相对应的主机名,并查看DNS的解析名,是否正常,确定无误后,把hosts文件,同步到集群上的其他机器上,确保一致,然后关掉集群,重启格式化,重启,再跑次,基准测试,运行正常:
[search@apsaras-server5 ~/hadoop]$ hadoop jar hadoop-examples-1.2.1.jar terasort input output 14/10/28 15:23:29 INFO terasort.TeraSort: starting 14/10/28 15:23:29 INFO mapred.FileInputFormat: Total input paths to process : 2 14/10/28 15:23:29 WARN snappy.LoadSnappy: Snappy native library is available 14/10/28 15:23:29 INFO util.NativeCodeLoader: Loaded the native-hadoop library 14/10/28 15:23:29 INFO snappy.LoadSnappy: Snappy native library loaded 14/10/28 15:23:29 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library 14/10/28 15:23:29 INFO compress.CodecPool: Got brand-new compressor Making 1 from 100000 records Step size is 100000.0 14/10/28 15:23:30 INFO mapred.FileInputFormat: Total input paths to process : 2 14/10/28 15:23:30 INFO mapred.JobClient: Running job: job_201410281520_0002 14/10/28 15:23:31 INFO mapred.JobClient: map 0% reduce 0% 14/10/28 15:23:41 INFO mapred.JobClient: map 25% reduce 0% 14/10/28 15:23:42 INFO mapred.JobClient: map 75% reduce 0% 14/10/28 15:23:51 INFO mapred.JobClient: map 100% reduce 0% 14/10/28 15:23:55 INFO mapred.JobClient: map 100% reduce 16% 14/10/28 15:23:58 INFO mapred.JobClient: map 100% reduce 66% 14/10/28 15:24:01 INFO mapred.JobClient: map 100% reduce 72% 14/10/28 15:24:04 INFO mapred.JobClient: map 100% reduce 75% 14/10/28 15:24:07 INFO mapred.JobClient: map 100% reduce 79% 14/10/28 15:24:11 INFO mapred.JobClient: map 100% reduce 82% 14/10/28 15:24:14 INFO mapred.JobClient: map 100% reduce 86% 14/10/28 15:24:17 INFO mapred.JobClient: map 100% reduce 89% 14/10/28 15:24:20 INFO mapred.JobClient: map 100% reduce 92% 14/10/28 15:24:23 INFO mapred.JobClient: map 100% reduce 96% 14/10/28 15:24:26 INFO mapred.JobClient: map 100% reduce 99% 14/10/28 15:24:27 INFO mapred.JobClient: map 100% reduce 100% 14/10/28 15:24:29 INFO mapred.JobClient: Job complete: job_201410281520_0002 14/10/28 15:24:29 INFO mapred.JobClient: Counters: 31 14/10/28 15:24:29 INFO mapred.JobClient: Job Counters 14/10/28 15:24:29 INFO mapred.JobClient: Launched reduce tasks=1 14/10/28 15:24:29 INFO mapred.JobClient: SLOTS_MILLIS_MAPS=74679 14/10/28 15:24:29 INFO mapred.JobClient: Total time spent by all reduces waiting after reserving slots (ms)=0 14/10/28 15:24:29 INFO mapred.JobClient: Total time spent by all maps waiting after reserving slots (ms)=0 14/10/28 15:24:29 INFO mapred.JobClient: Rack-local map tasks=3 14/10/28 15:24:29 INFO mapred.JobClient: Launched map tasks=8 14/10/28 15:24:29 INFO mapred.JobClient: Data-local map tasks=5 14/10/28 15:24:29 INFO mapred.JobClient: SLOTS_MILLIS_REDUCES=45667 14/10/28 15:24:29 INFO mapred.JobClient: File Input Format Counters 14/10/28 15:24:29 INFO mapred.JobClient: Bytes Read=1000024576 14/10/28 15:24:29 INFO mapred.JobClient: File Output Format Counters 14/10/28 15:24:29 INFO mapred.JobClient: Bytes Written=1000000000 14/10/28 15:24:29 INFO mapred.JobClient: FileSystemCounters 14/10/28 15:24:29 INFO mapred.JobClient: FILE_BYTES_READ=2040001344 14/10/28 15:24:29 INFO mapred.JobClient: HDFS_BYTES_READ=1000025344 14/10/28 15:24:29 INFO mapred.JobClient: FILE_BYTES_WRITTEN=3060519016 14/10/28 15:24:29 INFO mapred.JobClient: HDFS_BYTES_WRITTEN=1000000000 14/10/28 15:24:29 INFO mapred.JobClient: Map-Reduce Framework 14/10/28 15:24:29 INFO mapred.JobClient: Map output materialized bytes=1020000048 14/10/28 15:24:29 INFO mapred.JobClient: Map input records=10000000 14/10/28 15:24:29 INFO mapred.JobClient: Reduce shuffle bytes=1020000048 14/10/28 15:24:29 INFO mapred.JobClient: Spilled Records=30000000 14/10/28 15:24:29 INFO mapred.JobClient: Map output bytes=1000000000 14/10/28 15:24:29 INFO mapred.JobClient: Total committed heap usage (bytes)=1232338944 14/10/28 15:24:29 INFO mapred.JobClient: CPU time spent (ms)=79710 14/10/28 15:24:29 INFO mapred.JobClient: Map input bytes=1000000000 14/10/28 15:24:29 INFO mapred.JobClient: SPLIT_RAW_BYTES=768 14/10/28 15:24:29 INFO mapred.JobClient: Combine input records=0 14/10/28 15:24:29 INFO mapred.JobClient: Reduce input records=10000000 14/10/28 15:24:29 INFO mapred.JobClient: Reduce input groups=10000000 14/10/28 15:24:29 INFO mapred.JobClient: Combine output records=0 14/10/28 15:24:29 INFO mapred.JobClient: Physical memory (bytes) snapshot=1721982976 14/10/28 15:24:29 INFO mapred.JobClient: Reduce output records=10000000 14/10/28 15:24:29 INFO mapred.JobClient: Virtual memory (bytes) snapshot=10064424960 14/10/28 15:24:29 INFO mapred.JobClient: Map output records=10000000 14/10/28 15:24:29 INFO terasort.TeraSort: done
hadoop的任务启动后,可使用hadoop job -list命令,来查看当前正在执行的MR任务,如果想要强制,停掉正在执行的MR任务,可以使用hadoop job -kill 任务名 即可
总结:
关于散仙这个异常的原因,就是因为hosts文件的配置的映射名,太多了,并且本机的host名没有配置,和其他的机器上的hosts文件也不大一致,导致了上述问题的发生,出现问题时,我们就从日志下手,找到相关的蛛丝马迹然后一点点解决,
如果关闭hadoop集群,关不掉,可以试试如下的命令,强制kill:
jps | grep NameNode | awk '{print $1}' | xargs kill $1 jps | grep SecondaryNameNode | awk '{print $1}' | xargs kill $1 jps | grep ResourceManager | awk '{print $1}' | xargs kill $1 jps | grep DataNode | awk '{print $1}' | xargs kill $1 jps | grep NodeManager | awk '{print $1}' | xargs kill $1
发表评论
-
Apache Flink在阿里的使用(译)
2019-02-21 21:18 1055Flink是未来大数据实时 ... -
计算机图形处理的一些知识
2018-04-25 17:46 1187最近在搞opencv来做一些 ... -
如何在kylin中构建一个cube
2017-07-11 19:06 1205前面的文章介绍了Apache Kylin的安装及数据仓 ... -
Apache Kylin的入门安装
2017-06-27 21:27 2109Apache Kylin™是一个开源的分布式分析引擎,提供 ... -
ES-Hadoop插件介绍
2017-04-27 18:07 1945上篇文章,写了使用spark集成es框架,并向es写入数据,虽 ... -
如何在Scala中读取Hadoop集群上的gz压缩文件
2017-04-05 18:51 2085存在Hadoop集群上的文件,大部分都会经过压缩,如果是压缩 ... -
如何收集项目日志统一发送到kafka中?
2017-02-07 19:07 2744上一篇(http://qindongliang.iteye. ... -
Storm组件介绍
2016-08-12 20:28 1039(1)Topologies 拓扑 解 ... -
Hue+Hive临时目录权限不够解决方案
2016-06-14 10:40 4633安装Hue后,可能会分配多个账户给一些业务部门操作hive,虽 ... -
Hadoop的8088页面失效问题
2016-03-31 11:21 4371前两天重启了测试的hadoop集群,今天访问集群的8088任 ... -
Hadoop+Hbase集群数据迁移问题
2016-03-23 21:00 2473数据迁移或备份是任何 ... -
如何监控你的Hadoop+Hbase集群?
2016-03-21 16:10 4830前言 监控hadoop的框架 ... -
Logstash与Kafka集成
2016-02-24 18:44 11502在ELKK的架构中,各个框架的角色分工如下: Elastic ... -
Kakfa集群搭建
2016-02-23 15:36 2587先来整体熟悉下Kafka的一些概念和架构 (一)什么是Ka ... -
大数据日志收集框架之Flume入门
2016-02-02 14:25 4141Flume是Cloudrea公司开源的一款优秀的日志收集框架 ... -
Apache Tez0.7编译笔记
2016-01-15 16:33 2427目前最新的Tez版本是0.8,但还不是稳定版,所以大家还 ... -
Bug死磕之hue集成的oozie+pig出现资源任务死锁问题
2016-01-14 15:52 3754这两天,打算给现有的 ... -
Hadoop2.7.1和Hbase0.98添加LZO压缩
2016-01-04 17:46 25501,执行命令安装一些依赖组件 yum install -y ... -
Hadoop2.7.1配置NameNode+ResourceManager高可用原理分析
2015-11-11 19:51 3124关于NameNode高可靠需要配置的文件有core-site ... -
设置Hadoop+Hbase集群pid文件存储位置
2015-10-20 13:40 2779有时候,我们对运行几 ...
相关推荐
超详细集群搭建教程(从虚拟机安装到集群搭建完成,集群搭建成功验证),每一个步骤都有,照做即可。 内有集群搭建所需安装包:hadoop2.2.0,zookeeper3.4.5
Hadoop集群搭建详细简明教程及搭建方法
非常详细的linux上的hadoop集群搭建文档,可供参考,希望大家能够从中获益
hadoop集群搭建文档,欢迎您下载使用欢迎您下载使用欢迎您下载使用欢迎您下载使用欢迎您下载使用
该文档提供了linux环境中搭建hadoop集群(大数据)的步骤,个人认为比较详细,供大家学习
详细的Hadoop集群搭建过程,有6部分,前提是能连接网络,前三部都是很简单免密要仔细看,推荐JAVA版本1.8,Hadoop版本2.2.7 这两个版本都是稳定的
Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程 按照文档中的操作步骤,一步步操作就可以完全实现hadoop2.2.0版本的完全分布式集群搭建过程
详细的hadoop集群搭建步骤
非常详细的hadoop集群搭建教程,包含SSH免密码登录,基本上按照教程上一步一步操作就能搭建成功,非常适合大数据初学者使用
基于haodoop 集群搭建hbase集群。(2台机器的情况。)
Hadoop集群搭建的详细步骤,涉及Linux:Centos6.5基础环境配置,Hadoop集群离线部署方式。
在虚拟机上面搭建hdfs 集群亲测可用 记得 修改ip地址就行
本文档深刻解析了hadoop集群搭建的过程,有自己编写的过程,有完整的搭建过程。
Hadoop集群搭建详细的描述了hadoop集群的搭建过程,值得大家去学习。
重点描述hadoop2.0的大数据处理环境搭建过程
linux下hadoop集群搭建,很不错的资料,欢迎下载
从配置Linux IP 到hadoop集群安装的详细步骤附带linux命令,最后总结安装中常见的错误,以及处理办法。