我的大数据开发第4章:hbase单节点伪集群安装
前提是确保hadoop和zookeeper如第1章,第3章安装正确:
环境变量设置如第1章并生效:
1. hbase 配置
- $HBASE_CONF_DIR/hbase-site.xml 全部内容如下:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- must be local path -->
<name>hbase.tmp.dir</name>
<value>/hacl/hbase/tmp</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/hacl/hbase/zookeeper</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://localhost:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master</name>
<value>localhost</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>zk1:2181,zk2:2182,zk3:2183</value>
</property>
<property>
<!-- 必须,否则会有异常 -->
<name>hbase.wal.provider</name>
<value>filesystem</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
- $HBASE_CONF_DIR/hbase-env.sh 修改如下:
# Where log files are stored. $HBASE_HOME/logs by default.
export HBASE_LOG_DIR=/hacl/hbase/tmp/logs# Tell HBase whether it should manage it's own instance of ZooKeeper or not.
export HBASE_MANAGES_ZK=false
- $HBASE_CONF_DIR/regionservers
localhost
- $HBASE_CONF_DIR/backup-masters
localhost
- 启动 hbase
hbase-daemons.sh start master
hbase-daemons.sh start regionserver
- 关闭 hbase
hbase-daemons.sh stop regionserver
hbase-daemons.sh stop master
- 查看 hbase
# jps
5248 DataNode
7168 HRegionServer
5457 SecondaryNameNode
6945 HMaster
6755 HQuorumPeer
5716 ResourceManager
7606 Jps
5082 NameNode
5855 NodeManager
# ss -tnlp|grep 6945
LISTEN 0 128 [::ffff:10.0.2.4]:16000 [::]:* users:(("java",pid=6945,fd=476))
LISTEN 0 128 [::]:16010 [::]:* users:(("java",pid=6945,fd=483))
- 浏览器查看hbase
http://hacl-node1:16010
2. 勘误
安装配置 hbase 很容易出错。在确保zookeeper没问题的情况下,一定要多次试验,找到错误的根源。
虽然通过删除 hdfs、重新格式化,删除 zookeeper 的数据,能解决一些问题,但是在生产上这些手段
不能使用。所以大数据平台一定要反复试验验证,不能放过任何经过警告和错误。不但手工配置生效
所有的大数据组件,还必须形成一键脚本,把所有的运维工作自动化,文档化。