HBase集群+独立zookeeper集群
一,zookeeper集群。
Zookeeper集群比较简单。
下载zookeeper的gz包(直接官网下载即可),直接解压gz包。
后面主要工作就是修改配置文件conf/zoo.cfg 。如果没有此文件自己新增。
如下是zoo.cfg的部分配置。
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.
dataDir=/home/hadoop/zookeeper-3.3.6/dataDir
# the port at which the clients will connect
clientPort=2181
dataLogDir=/home/hadoop/zookeeper-3.3.6/logs
server.1=localhost1:2888:3888
server.2=localhost2:2888:3888
server.3=localhost3:2888:3888
接着就在dataDir的目录下新建一个文件叫myid里面的值就是”server.1或server.2或server.3”里面数字。就输一数字就行。比如正在操作的机器地址是localhost1 那么myid对应的值就是1。正在操作的机器地址是localhost2 那么myid的值就是2。另外一台也类似。
到此zookeeper集群就配置完成。可以启动测试。进入每台机器,然后通过bin/zkServer.sh start启动。测试也很简单。直接bin/zkServer.sh -server localhost1:2181。连接成功。表明集群部署成功。
二、hbase集群。一个HMater+三个HRegionServer
HBase的集群中主要也就是下面的配置文件的内容。
hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.32.203:9000/user/hadoop/hbase</value>
<description>hbase数据存放位置</description>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>localhost1,localhost2,localhost3</value>
<description>zookeeper集群地址。其中localhost1</description>
</property>
<property>
<name>hbase.master</name>
<value>localhost1</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.tmp.dir</name>
<value>/home/hadoop/hbase-0.94.14/tmpDir</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/hbase-0.94.14/dataDir</value>
<description>Property from ZooKeeper's config zoo.cfg.
The directory where the snapshot is stored.
</description>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
<description>Property from ZooKeeper's config zoo.cfg.
The port at which the clients will connect.
</description>
</property>
</configuration>
还有个脚本文件 在conf /hbase-env.sh 首先是修改JAVA_HOME指定到自己java安装目录。
export JAVA_HOME=/home/hadoop/jdk6
# Tell HBase whether it should manage it's own instance of Zookeeper or not.指定zookeeper不由HBase来管理,而是由已存在的zookeeper集群代替#
export HBASE_MANAGES_ZK=false
另外还要修改的是conf/regionservers这个文件。
将作为HRegionServer的机器地址添加进去。如下的示例配置:
localhost1
localhost2
localhost3
Ok.基本的配置已经搞定了。
现在将hbase目录打包复制到集群内的其他机器上。
先启动zookeeper集群。
然后在HMaster机器上启动start-hbase.sh即可完成HBase集群的启动。
测试:Hbase shell在外壳shell中执行 create ‘table1’,’row1’
然后再执行 list即可看见刚创建的table1了。