这是第一次出勤部署产品。遇到不可控问题,解决,写个心得。记录一下吧^^

在排查问题的过程中,学到不少知识。

(1)centos系统盘和数据盘分开,装操作系统的人没有将IT的空间分配出来,所以分区,自动挂载

#lvmdiskscan 查看哪些设备成为了物理卷. 检测硬盘和分区中的逻辑巻管理信息

只有/dev/sda*,说明只有一个物理卷,其余的是/dev/ram*

fdisk /dev/sdb

d n p 1 w 即可删除分区,创建一个新的磁盘。

格式化:mkfs.ext4 /dev/sdb1

查看:ls -l /dev/sdb*  显示有/dev/sdb 和 /dev/sdb1 两项,缺一不可

挂载:mkdir /data1

mount /dev/sdb1 /data1

这样就可以在lvmscandisk下看得到了。在配置平台的时候,就可以作为数据盘了。

(2)ntp同步时间:ntp很重要,因为很多通信都基于ntp同步的

修改date:只有在时间相差不超过10秒时,ntp服务才起效。

date -s '2013-06-17 09:32:10' 修改时间

clock -r 查看CMOS时间

clock -w 将时间写入CMOS

另外一种写法:hwclock -set -date="1/23/01 22:16:59"

ntp服务:ntpq -p

# ntpq -p
Name or service not known

检查:yum list ntp 或者 rpm -qa | grep ntp

再检查/etc/ntp.conf

查看一下内网同步ntp的方法

(3)安装http服务

http没启动,就不能访问本地/var/www/html。

先修改/etc/yum.repo.d/Centos.repo(其余外来的repo最好先删掉)

修改baseurl:baseurl=http://hidata1/redhat 改成 baseurl=file:///var/www/html/redhat 连接到离线安装包。

再yum list http*

再yum install httpd

(4) ambari部署后,Hbase Master启动成功后,自动消失,尝试过很多方法,有些也很有道理。但是归根到底,看日志,一行一行的不放过任何信息是最有效的方式。

如我主要报错的信息是这样的

Dhbase.log.dir=/var/log/hbase -Dhbase.log.file=hbase-hbase-master-hidata2.log
2015-04-23 17:39:16,297 INFO [main] util.ServerCommandLine: vmInputArguments=[-Dproc_master, -XX:OnOutOfMemoryError=kill, -9, %p, -Xmx1000m, -XX:+UseConcMarkSweepGC, -XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log, -verbose:gc, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -Xloggc:/var/log/hbase/gc.log-201504231739, -Xmx1024m, -Dhbase.log.dir=/var/log/hbase, -Dhbase.log.file=hbase-hbase-master-hidata2.log, -Dhbase.home.dir=/usr/lib/hbase/bin/.., -Dhbase.id.str=hbase, -Dhbase.root.logger=INFO,RFA, -Djava.library.path=:/usr/lib/hadoop/lib/native/Linux-amd64-64:/usr/lib/hadoop/lib/native, -Dhbase.security.logger=INFO,RFAS]
2015-04-23 17:39:16,420 DEBUG [main] master.HMaster: master/hidata2/21.148.2.41:60000 HConnection server-to-server retries=350 2015-04-23 17:39:17,589 INFO [main] master.HMaster: hbase.rootdir=hdfs://hidata1:8020/apps/hbase/data,
2015-04-23 17:39:17,684 INFO [main-SendThread(hidata6:2181)])] zookeeper.ClientCnxn: Opening socket connection to server hidata6/21.148.2.45:2181. Will not attempt to authenticate using SASL (java.lang.SecurityException: Unable to locate a login configuration) 2015-04-23 17:39:17,907 INFO [master:hidata2:60000] mortbay.log: jetty-6.1.26
2015-04-23 17:39:18,202 INFO [master:hidata2:60000] mortbay.log: Started SelectChannelConnector@0.0.0.0:60010
2015-04-23 17:39:18,323 FATAL [master:hidata2:60000] master.HMaster: Unhandled exception. Starting shutdown.
java.lang.ExceptionInInitializerError
at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.toByteArray(MasterAddressTracker.java:157)
at org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.setMasterAddress(MasterAddressTracker.java:133)
at org.apache.hadoop.hbase.master.ActiveMasterManager.blockUntilBecomingActiveMaster(ActiveMasterManager.java:155)
at org.apache.hadoop.hbase.master.HMaster.becomeActiveMaster(HMaster.java:664)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:602)
at java.lang.Thread.run(Thread.java:662)
Caused by: java.lang.RuntimeException: Failed to create local dir /boot/efi/hadoop/hbase/local/jars, DynamicClassLoader failed to init
at org.apache.hadoop.hbase.util.DynamicClassLoader.<init>(DynamicClassLoader.java:94)
at org.apache.hadoop.hbase.protobuf.ProtobufUtil.<clinit>(ProtobufUtil.java:197)
... 6 more
2015-04-23 17:48:43,897 INFO [main] util.ServerCommandLine: vmInputArguments=[-Dproc_master, -XX:OnOutOfMemoryError=kill, -9, %p, -Xmx1000m, -XX:+UseConcMarkSweepGC, -XX:ErrorFile=/var/log/hbase/hs_err_pid%p.log, -verbose:gc, -XX:+PrintGCDetails, -XX:+PrintGCDateStamps, -Xloggc:/var/log/hbase/gc.log-201504231748, -Xmx1024m, -Dhbase.log.dir=/var/log/hbase, -Dhbase.log.file=hbase-hbase-master-hidata2.log, -Dhbase.home.dir=/usr/lib/hbase/bin/.., -Dhbase.id.str=hbase, -Dhbase.root.logger=INFO,RFA, -
2015-04-23 17:39:18,335 INFO [master:hidata2:60000] mortbay.log: Stopped SelectChannelConnector@0.0.0.0:60010
2015-04-23 17:39:18,439 WARN [master:hidata2:60000] master.ActiveMasterManager: Failed get of master address: java.io.IOException: Can't get master address from ZooKeeper; znode data == null
2015-04-23 17:39:18,442 INFO [master:hidata2:60000] zookeeper.ZooKeeper: Session: 0x34ce5a44b610000 closed
2015-04-23 17:39:18,442 INFO [master:hidata2:60000] master.HMaster: HMaster main thread exiting
2015-04-23 17:39:18,442 INFO [main-EventThread] zookeeper.ClientCnxn: EventThread shut down
2015-04-23 17:39:18,442 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: HMaster Aborted
at org.apache.hadoop.hbase.master.HMasterCommandLine.startMaster(HMasterCommandLine.java:192)
at org.apache.hadoop.hbase.master.HMasterCommandLine.run(HMasterCommandLine.java:134)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)
at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2778)

  

这是抽取出来可能存在错误或者有用信息的地方。这样可以看出

create local dir /boot/efi/hadoop/hbase/local/jars, DynamicClassLoader failed to init导致的内存溢出和进程崩溃。查看了一下/boot下面空间(df -lh),发现只有200M,原因很显然。比如C盘是我们的系统盘,如果系统盘空间不足,程序会运行会很慢或者直接出现内存不足的提示。当hbase进程起来,需要加载很多的配置和类文件到local dir,到/boot下明显不行。

  

Ambari部署HDP:HBase Master启动后自动消失的更多相关文章

  1. [Elixir002]节点启动后自动连接其它节点

    问题: 如何指定一个节点在启动后自动连接到别的节点上? 这个我们要使用到sys.config,这是erlang的配置文件,这个文件一般都是$ROOT/releases/Vsn下 1. 首先我们要先启动 ...

  2. hadoop namenode又一次格式化以后hbase的hmaster进程启动后立即消失

    hadoop的 namenode又一次格式化以后.重新启动hbase.发现它的hmaster进程启动后立即消失,查看一大堆日志,最后在zookeeper的日志里发现例如以下问题 Unable to r ...

  3. web容器启动后自动执行程序的几种方式比较

    1.       背景 1.1.       背景介绍 在web项目中我们有时会遇到这种需求,在web项目启动后需要开启线程去完成一些重要的工作,例如:往数据库中初始化一些数据,开启线程,初始化消息队 ...

  4. Hbase master启动报错:Failed construction of Master: class org.apache.hadoop.hbase.master.HMaster Caused by: java.net.UnknownHostException:

    Hbase master启动报错: java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop ...

  5. springboot启动后自动退出

    有时新建的springboot启动后自动退出运行,如图所示: 此种情况大都数是因为pom文件加入了tomcat的依赖,与springboot内嵌的tomcat冲突导致,所以只需将pom文件中的tomc ...

  6. js弹框3秒后自动消失

    开发中有时候会需要最出弹框后,过几秒自动消失的效果,下面给大家分享一下我自己做的一个小案例. 案例中的弹框使用的是bootstrap里面的模态框,实现自动消失则用的是js中的setInterval方法 ...

  7. jq弹框 (1)内容自适应宽度 2(内容框显示,几秒后自动消失)

      <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&q ...

  8. Axure实现提示文本单击显示后自动消失的效果

    Axure实现提示文本单击显示后自动消失的效果 方法/步骤     如图所示,框出的部分为提示文本(已经命名为tooltip),希望达到的效果是默认加载时不显示,点击帮助图标后显示,且2秒后自动消失. ...

  9. HBase Master 启动

    –>首先初始化HMaster –>创建一个rpcServer,其中并启动 –>启动一个Listener线程,功能是监听client的请求,将请求放入nio请求队列,逻辑如下: –&g ...

随机推荐

  1. android activity传递实体类对象

    通过实现Parcelable接口序列化对象的步骤: 1.实现Parcelable接口.2.并且实现Parcelable接口的public void writeToParcel(Parcel dest, ...

  2. 【转】sed 学习笔记

    一  .  sed 简介 1  .  功能 sed 是一种流编辑器,所谓流编辑器是指能够对来自文件或者管道的输入流进行基本的文本转换的工具,比方说查找替换删除等. 2  .  最简单的运作机制 sed ...

  3. Markdown内嵌Html语言

    概述 Markdown是内嵌Html语言的,这使得我们可以在Markdown文档里面实现很多有趣的东西.现在记录在此,供自己以后参考,相信对其他人也有用. 介绍 Markdown的语法只有一个目标:作 ...

  4. Asp.net core 2.0.1 Razor 的使用学习笔记(五)

    按说这里应该写关于Role角色类的笔记,但是我还没时间实验这块,所以等以后我搞定了再来分享.现在先写其他部分. Asp.net core 2.0.1 Razor 的使用学习笔记——建立模型 按照微软官 ...

  5. 文件首行为空白行,为什么该行字符串长度为1(line.length()=1)

    问题描述:最近编写程序遇到一个问题,文件首行的内容为空,但调用line0.length()返回的确为1 .如下图: 最初认为可能存在制表符,或者换行符的原因,于是调用了line0.trim();方法, ...

  6. 从零开始学习前端JAVASCRIPT — 10、JavaScript基础ES6(ECMAScript6.0)

    ECMAScript 6.0(简称ES6)是JavaScript语言的下一代标准,已经在2015年6月正式发布了.它的目标,是使得JavaScript语言可以用来编写复杂的大型应用程序,成为企业级开发 ...

  7. JDK的下载,安装与环境的配置

    JDK的全称是JavaSE Development Kit,即java开发工具包,是sun公司提供的一套用于开发java应用程序的开发包,它提供了编译.运行java程序所需的各种工具和资源,包括jav ...

  8. 跟我一起读postgresql源码(十六)——Executor(查询执行模块之——control节点(下))

    5.ModifyTable节点 先看一个ModifyTable节点的例子: postgres=# explain update test_01 set id = 5 where name = 'xxx ...

  9. 安装Mercurial进行版本管理

    mercurial是又一个去中心化的版本管理软件,类似git 先介绍如何安装mercurial yum -y install mercurial mercurial需要一个用户名来记录commit动作 ...

  10. mysql导出数据至指定文件的命令

    根据查询语句,导出数据至指定文件SELECT name INTO OUTFILE '/tmp/result.txt' FIELDS TERMINATED BY '-|-' OPTIONALLY ENC ...