HBase入门学习

  记得好像是年初的时候想学下NoSql,就google了下HBase的搭建步骤后就在虚拟机里面的OpenSuse搭了个HBase+Hadoop+Zookeeper的环境,过程不是很顺利,遇到各种问题,和刚开始学java连mysql的过程相比,是复杂得多了,这个地方确实是有值得优化的地方,如果能提供类似传统RDBMS的可视化的安装包,默认配置伪集群模式,一路傻瓜式的next安装,这样对于新手来说就降低了难度。因为那段时间工作挺忙的,所以在环境搭建好能在hbase shell下建表删表以及增删查改后就一直没再弄这个东西了,直到最近想换份这方面的工作,又开始捣鼓HBase来。下面按照我的记忆记录下目前遇到的一些的问题和解决的方法。


1.首先需要关闭防火墙

之前遇到zookeeper一直报错连不上HMaster,google了很久才发现是防火墙要关上

我的OS是OpenSuse,关闭防火墙的命令是 SuSEfirewall2 stop,其他的linux应该用sudo ufw disable就行了

2.如果你用SecureCRT之类的软件连接里面的linux那要记得开启ssh

命令是service sshd start

3.配置hadoop的core-site.xml

我是这样配置的:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>    
  <name>fs.default.name</name>    
  <value>hdfs://hbase:9666</value>     
</property>
<property>    
  <name>hadoop.tmp.dir</name>    
  <value>/home/hehe/softs/hadoop</value>     
</property>
</configuration>

我在hosts文件里面配了一条

(我的物理ip)   hbase

所以就hdfs://hbase:9666这样配了,我之前用过hdfs://localhost:9666或者hdfs://127.0.0.1总是报错,像上面这样弄就没报错了。

如果用本地文件系统的话,file://(文件路径),这样也行,这种方式只能用于单机非分布式模式

4.配置hadoop的mapred-site.xml

我是这样配置的:

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<!-- Put site-specific property overrides in this file. -->

<configuration>
<property>     
  <name>mapred.job.tracker</name>    
  <value>hbase:9001</value>
</property>
</configuration>

5.配置hadoop的masters和slaves

masters文件就配了个hbase,slaves配了个localhost


6.配置hadoop的hdfs-site.xml

开发环境默认就行,生产环境dfs.replication一般配成3


7.报错:could only be replicated to 0 nodes, instead of 1

因为之前安装其他版本遗留下来的垃圾数据有影响,根据日志提示的那个目录,把那个目录下的文件都删除即可


8.报错:getMaster attempt 2 of 10 failed; retrying after sleep of 1000 of Hbase

把hosts文件中127.0.0.1改成物理ip,类似把

127.0.0.1 localhost

127.0.0.1 linux-vhx8

改成

(物理ip) localhost

(物理ip) linux-vhx8


9.启动\停止顺序

启动:hadoop(sh start-all.sh) -> zookeeper(sh zkServer.sh start) -> hbase(sh start-hbase.sh)

停止:hbase(sh start-hbase.sh) -> zookeeper(sh zkServer.sh start) -> hadoop(sh start-all.sh) 


10.hadoop和hbase、zookeeper都启动完之后用jps应该看到以下进程:

linux-vhx8:~ # jps
11613 Jps
5589 HMaster
4692 NameNode
5391 QuorumPeerMain
5150 TaskTracker
5028 JobTracker
5697 HRegionServer
4834 DataNode
4957 SecondaryNameNode

11.你的mapreduce程序打包成jar包内引用的hadoop和hbase的jar包的版本要和搭建的环境的hadoop、hbase的jar包的版本要一致,否则也会报错






  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值