Hbase,Zookeeper完全分布式安装

前段时间安装配置了hadoop集群,这两天想装个hbase然后用些数据学习学习。网上教程有点多也有点乱,摸索了很久,所以还是记录一下自己的配置经验。过程中看了些博客感觉还是不错的,分享一下:
安装配置教程:
http://www.linuxidc.com/Linux/2012-12/76947.htm
http://blog.csdn.net/lskyne/article/details/8900608
淘宝应用介绍(科普一下):
http://www.iteye.com/magazines/83


一. zookeeper安装配置详细步骤

  1. 已经配置好的hadoop集群:master节点包括一个namenode和一个datanode(slave文件中设置datanode);mit02节点就是一个datanode。
  2. 首先在master节点:下载解压zookeeper安装包到/usr/local/hadoop/
  3. 进入conf/文件夹下,拷贝zoo_sample.cfg为zoo.cfg
  4. 修改zoo.cfg文件如下:
# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just
# example sakes.
dataDir=/usr/local/hadoop/zk  
  #注意新建一个zk文件夹,并在里面新建一个myid文件内容为12(和下面server主机相对应)
dataLogDir=/usr/local/hadoop/zk
# the port at which the clients will connect
clientPort=2181
server.1=master:2888:3888
server.2=mit02:2888:3888
 5.scp 将zookeep文件夹复制到其它节点(记得修改myid内容)

二. hbase安装配置详细步骤

  1. 还是先在master节点下载hbase安装包,注意与hadoop的版本匹配
  2. 进入conf/文件夹下,打开hbase-site.xml文件并修改如下
<configuration>
 <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
</property>
<property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
</property>
<property>
     <name>hbase.master</name>
     <value>master:60000</value>
</property>
<property>
    <name>dfs.support.append</name>
    <value>true</value>
</property>
<property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,mit02</value>
</property>
<property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/usr/local/hadoop/zk</value>
</property>
<property>
    <name>hbase.zookeeper.property.clientPort</name>
    <value>2181</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>

3.修改hbase-env.sh,增加以下内容:

 export JAVA_HOME=/opt/software/java/jdk1.8.0_65
 export HADOOP_HOME=/usr/local/hadoop
 export HBASE_HOME=/usr/local/hadoop/hbase

其实这个pids我一开始不知道什么用处,后来启动hbase的时候我发现只要启动正常就会生成pids文件,当hbase出问题关闭的时候这个文件就自动删除了,所以通过这个可以直观的判断运行情况。所以可以把这个路径设置到自己比较方便看到的地方。

# The directory where pid files are stored. /tmp by default.
 export HBASE_PID_DIR=/usr/local/hadoop/pids

另外一个比较关键的:这个默认值是true,就是用hbase自带的zookeeper,我一开始想偷懒就直接这么设置,不装zookeeper,但是发现启动不正常,或者关闭hbase的时候就报错,不知道什么原因,网上有说是只能在单机和伪分布式下可以。我想还是自己配个zookeeper集群吧,反正多学习学习。所以这里设置成false。

# Tell HBase whether it should manage it's own instance of Zookeeper or not.
export HBASE_MANAGES_ZK=false

4.在regionservers中添加内容如下(添加节点):

master
mit02

5.将配置好的hbase文件夹scp到其它节点对应目录下

三、启动/关闭 hbase

1.设置环境变量,/etc/profile增加如下内容:

export ZOOKEEPER_HOME=/usr/local/hadoop/zookeeper
export HBASE_HOME=/usr/local/hadoop/hbase
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME:$HADOOP_HOME/sbin:$HIVE_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$SQOOP_HOME/bin:$PATH

2.在master节点启动hadoop: start-all.sh

3.各个节点都启动zookeep: zkServer.sh start

4.启动hbase: start-hbase.sh

5.jps查看当前进程情况:

6512 ResourceManager
5984 NameNode
6144 DataNode
15570 HRegionServer
6647 NodeManager
15256 QuorumPeerMain
6349 SecondaryNameNode
16605 Jps
15406 Hmaster

6.网页端查看:http://master:60010/master-status
7.关闭hbase: stop-hbase.sh
关闭zookeeper:zkServer.sh stop
关闭hadoop: stop-all.sh

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值