$export ZOOKEEPER_INSTALL={zookeeper安装路径}
$export PATH=$PATH:$ZOOKEEPER_INSTALL/bin
之后 source /etc/profile在zookeeper安装目录下的conf子目录中新建:zoo.cfg添加:
tickTime=2000
dataDir=/home/zookeeper/data
clientPort=2181
initLimit=10
syncLimit=5
dataLogDir={安装路径/logs}
server.1=namenode:2888:3888
server.2=datanode1:2888:3888
server.3=datanode2:2888:3888
把zoo.cfg复制到每台机器的conf子目录里(其他机器也要先安装好zookeeper)
之后在每台机器的持久保存数据的路径(/home/zookeeper/data)里新建myid文件,里面写入n,n是zoo.cfg里server.1, server.2, server.3对应的机器的1,2,3.....(比如主机写1,ubuntu02写2,ubuntu03写3)
在主机的zookeeper安装目录里执行sh bin/zkServer.sh start如果报错syntaxerror,expecting"fi",执行如下语句sudo dpkg-reconfigure dash
之后再start就可以了。在其他机器上也sh bin/zkServer.sh start之后回到master,jps,发现zookeeper已启动,新增进程QuorumPeerMain,slaves上也增加了这个进程。
sh bin/zkServer.sh status
----------------------------------------------------------------
安装Hbase:hadoop1.2.1对应的hbase版本是hbase0.98.0
master上解压,找到conf子目录,修改hbase-env.sh, hbase-site.xml, regionservers如下:
hbase-env.sh:添加export JAVA_HOME={jdk安装路径}export HBASE_MANAGES_ZK=false
hbase-site.xml:添加:属性:名:hbase.master.maxclockskew
hbase.rootdir hdfs://ubuntuShirui:9000/hbase
复制hbase安装目录下的所有,包括配置文件到其他slave机器上,更改hbase-env.sh里jdk的路径为合适值。
运行bin里的start-hbase.sh,查看jps里是否主机上运行了HMASTER,slave机器里运行了HRegionServer如果是,则搭建成功。
HRegionServer无法启动的话,查看slave机器上regionserver相关的log信息,如果出现ClockOutOfSyncException字样的信息,说明需要手动同步。用date --set= "04/18/14 10:00:00" 来设置一台机器的时间。同时3台机器执行就好。
之后用浏览器打开http://192.168.199.77:60010/master-status如果显示hbase主机的状态,说明正常运行。-----------------------------------搭建完毕,现在可以进入bin的hbase shell调试,建表删表查询了。
关闭步骤:关闭hbase:hbase的bin里:/stop-hbase.sh关闭zookeeper:zookeeper的bin里:/zkServer.sh stop
----------------------------------------------如果遇到进入shell之后HMaster自动挂掉的问题,并且master的log里出现“TableExistsException: hbase:namespace”字样,很可能是更换了Hbase的版本过后zookeeper还保留着上一次的Hbase设置,所以造成了冲突。解决方案:
1.切换到zookeeper的bin目录;
2.执行$sh zkCli.sh
输入‘ls /’
4.输入‘rmr /hbase’
5.退出
重启hbase即可。
------