安装zookeeper
1.(master)将zookeeper 安装包 解压到/opt目录下 重命名为zookeeper
2.将conf下的模板文件zoo_sample.cfg 复制一份 命名:zoo.cfg
$cp conf/zoo_sample.cfg conf/zoo.cfg
3.编辑zoo.cfg文件
在最底下加入(顺序:服务器地址,服务器编号,LF通信端口,选举端口)
server.1=master:2888:3888
server.2=slave0:2888:3888
server.3=slave1:2888:3888
4.创建节点标识文件
$mkdir -p /tmp/zookeeper
$vi /tmp/zookeeper/myid
内容为对应服务器编号
master为zoo.cfg文件中的1
slave0 为zoo.cfg文件中的2
slave1 为zoo.cfg文件中的3
5.将zookeeper文件复制到两台子服务器中
$scp -r zookeeper copy-master@slave0:/opt/
$scp -r zookeeper copy-master@slave1:/opt/
- 启动测试
分别启动服务器中的启动文件
$bin/zkServer.sh start
启动后 查看服务器集群状态
$bin/zkServer.sh status
显示 Mode:leader为主机
显示 Mode : follower为子机
安装HBASE
为了防止master跟slave时间不同步导致 hbase无法启动问题,先将时间同步为master时间
$vi /etc/ntp.conf
增加
server master
![图片描述][2]
1.将hbase解压到/opt下并重命名 hbase
2.配置hbase
1.编辑conf/hbase-env.sh
$vi conf/hbase-env.sh
1.修改JAVA_HOME路径为:
export JAVA_HOME=/usr/lib/jvm/java/
2.修改HBASE_CLASSPATH路径为:
export HBASE_CLASSPATH=$HBASE_HOME/conf
3.修改zookeeper为false (hbase默认启动自带的zookeeper 改为false 是变更到使用自己装的zookeeper去)
export HBASE_MANAGES_ZK=false
2.将安装的zookeeper中conf/zoo.cfg文件复制到hbase/conf目录下
$cp zookeeper/conf/zoo.cfg hbase/conf/
3.修改配置文件hbase-site.xml
$vi conf/hbase-site.xml
内容为:
<configuration>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
4.设置regionservers
编辑config/regionservers
$vi conf/regionservers
内容为集群地址:
slave0
slave1
5.设置环境变量(master/slave0/slave1都需要 三个环境变量是相同的,可以使用scp同步过去)
$vi ~/.bash_profile
增加内容
#HBASE
export HBASE_HOME=/opt/hbase
export PATH=$PATH:$HBASE_HOME:bin
export HADOOP_CLASSPATH=$HBASE_HOME/lib/*
刷新环境变量
$source ~/.bash_profile
6.将hbase复制到slave0,slave1
$scp -r hbase copy-master@slave0:/opt/
$scp -r hbasecopy-master@slave1:/opt/
3.启动hbase集群 (master)
$bin/start-hbase.sh
master使用jps查看进程
HMaster 为HBase进程
slave使用jps查看进程
HRegionserver为sHBase进程
如出现错误 查看 对应未启动机器的logs/下日志
我出现如下错误
启动一直启动不了
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not runnin
使用 lsof -i:2181 检查2181端口是否被占用 占用清理掉 在启动就ok(我遇到的是这样解决的)
也会出现主子服务器时间不同步导致子服务器无法启动问题
4.常用命令
1.进入hbase命令模式
$bin/hbase shell
创建 : create 'test1','f12'
查看列表 : list
插入数据: put 'test1','id001','f1:uid','001' //id001为行健,f1是列族名,uid是属性名 001为属性值
查询数据: scan 'test1'
查看表结构:describe 'test1'
删除表(需要两条命令):disable 'test1'
drop 'test1'
zookeeper再次启动失败问题
运行zookeeperd后显示启动成功:
JMX enabled by default
Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED
但用zkServer.sh status查看,反馈如下:
JMX enabled by default
Using config: /data/programfiles/zookeeper-3.4.5/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.
如果遇到这种情况 检查2181端口是否被占用
lsof -i:2181
如果被占用 kill掉 然后重启即可
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。