[Java]部署测试HBase小结

前两天到现场的测试环境部署HBase生命周期(实际上也是部署了2.4版本进行测试)问题还是有点多的,简单记录一些现在还记得的问题与解决办法。

1.开始遇到了Kerberos…只想说这是个坑,拿到了keytab,krb5.conf还是没用,最后卡在principal在regExp [/@] 切分时报错,_HOST有问题,查不到具体解决办法,只好看了下Hadoop – SecurityUtil的源码,报错的地方见getServerPrincipal(String principalConfig, InetAddress addr)方法,找不到本机HostName,但是自己写了个InetAddress.getLocalHost().getCanonicalHostName()
(就是SecurityUtil.getLocalHostName()方法)测了一把,发现能正确取到HostName…整个人懵逼,研究了许久,实在没法处理,于是放弃Kerberos
附上hadoop-SecurityUtil源码:SecurityUtil.java

2.放弃Kerberos后走回正道,想着先写个简单的java API去list一下有哪些表,测试项目就直接取了集群随便一个datanode上的${HBASE_HOME}/lib下所有jar与hadoop-core.jar,hadoop-hdfs.jar,取了${HBASE_HOME}/conf/hbase-site.xml,打包后放到服务器,跑!悲催,hbase-site.xml下的hbase.rootdir是hdfs路径(hdfs://xxxx/hbase/lib),报Unknown Host,想想觉得奇怪,一般Unknown Host都是因为没有正常配置/etc/hosts,解析hostname时不知道对应ip才报这个错,并且在报错的时候也用hadoop fs -ls hdfs://xxxx能正常读取hdfs,baidu/google都查了很久,貌似没人遇到过这种问题…问了同事后,让我把集群core-site.xml,hdfs-site.xml一起丢到classpath,还是没用!不知道哪里灵光一现,感觉这肯定是hdfs这块出了问题,于是乎把服务器hadoop/share/hadoop*jar全加到项目lib…(不一定全部需要,但全加了肯定有用…)再测一把,嗯嗯,破费好吧….效果全等于hbase shell list

3.测试没问题后,就把自己的代码往服务器丢了…部署过程也是坎坷。logback感觉抽了,tomcat的catalina.out没日志….没日志….没日志….这要我怎么测。看了一万遍Server.xml头疼(因为端口也有点问题,服务器很多tomcat,甚至想直接su了杀了那个占我8080/8005/…端口的家伙…,但所有服务器root都改了强密码…keygen这种玩意生成的密码,就算了吧…)。没有用自己的tomcat,没有用服务器现成的tomcat,因为不知道别人的server.xml到底改了什么(顺带吐槽RHEL没有配置过的vim真难用…难道是被别人alias vim=vi了…)从apache搞了最新的tomcat8,war包丢进去,简单改了下content.xml,./start.sh && tailf ../logs/catalina.out …还是没有日志,我x了x了。。。用curl测了下静态登录页面,也是正常的。万能的同事又来了…把logback.xml从WEB-INF/classes/丢到了WEB-INF/,但还是没用…
换回了自己的tomcat,启动,报错….日志比较友好docBase=”C:\Users\L\work\apache-tomcat-8.0.38\wtpwebapps\dacp-me-deploy”不存在,那必须啊…改成了服务器上的绝对路径,还是报错….直接注释掉整个<Context docBase=”xxx”/>启动tomcat…瞬间启动完毕,容器里都没有app的那种瞬间完成,原来是webapps里面没东西…把wtpwebapps下的项目复制过来,一切over……启动日志有了,log也有了…

部署测试后记
    自己代码也有一些逻辑问题,一直是闭门造车,但却做不到出门合辙。果然是骡子是马,拉出来溜溜就知道了…不过说实话,自己本机之前搭的伪分布式都没完全搞定,直接上完全分布式的确有点不明智,不过再不搞就算拖工期了啊…(捂脸…)
    所以想要能直接在正式hadoop环境上搞点什么,自己也要有完全分布式的环境,不说做到有一个完全镜像与生产的测试环境,至少核心部分要一样啊….

第一点Kerberos里面的确是没时间研究了,时间不允许,有空要看看源码,到底怎么报错的…
第二点对于tomcat的理解也不够深刻,平时处于只是能用的阶段,到了真的出问题的时候,哎。。书到用时方恨少…准备再写一篇关于Tomcat的博文,时间再定吧…

    原文作者:__Liu__
    原文地址: https://www.jianshu.com/p/8ee331532e87
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞