**
安装hbase
**
hbase下载地址(我下载的是1.3.6)
下载后缀名为:.tar.gz 的文件
将hbase-1.3.6.tar.gz解压到/usr/local/文件夹下,并改名为hbase:
sudo tar -zxf ~/下载/hbase-1.3.6-bin.tar.gz -C /usr/local
sudo mv /usr/local/hbase-1.3.6 /usr/local/hbase
配置环境变量:
vi ~/.bashrc
如果没有引入过PATH请在~/.bashrc文件尾行添加如下内容:
export PATH=$PATH:/usr/local/hbase/bin
编辑完成后,再执行source命令使上述配置在当前终端立即生效:
source ~/.bashrc
添加HBase权限
cd /usr/local
sudo chown -R hadoop ./hbase
查看HBase版本,确定hbase安装成功
/usr/local/hbase/bin/hbase version
HBase配置
配置/usr/local/hbase/conf/hbase-env.sh,命令如下:
sudo vim /usr/local/hbase/conf/hbase-env.sh
添加如下内容:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HBASE_CLASSPATH=/usr/local/hadoop/conf
export HBASE_MANAGES_ZK=false #禁用hbase自带的zookeeper,如果要用hbase自带的zookeeper,则参数改为true
export HBASE_PID_DIR=/usr/local/hbase/pids #这个目录可能没有,但是不影响,可能用到时候他会自己创建
配置/usr/local/hbase/conf/hbase-site.xml,命令如下:
sudo vim /usr/local/hbase/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>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper/zoodata</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
其中:
hbase.rootdir: 指定HBase的存储目录
hbase.cluster.distributed: true代表设置集群处于分布式模式
hbase.master:指定hbase的master的主机名和端口
hbase.zookeeper.property.clientPort:指定zookeeper的端口
hbase.zookeeper.quorum:指定使用zookeeper的主机地址,必须是奇数个
hbase.zookeeper.property.dataDir:zookeeper的属性数据存储目录
hbase.master.info.port:这个用于Web UI管理
配置/usr/local/hbase/conf/regionservers,命令如下:
sudo vim /usr/local/hbase/conf/regionservers
添加两个datanode的节点名称,我的是:
slave1
slave2
下面将Master中的hbase目录传输到slave1、slave2节点
cd /usr/local
tar -zcf ~/hbase.master.tar.gz ./hbase # 先压缩再复制
cd ~
scp ./hbase.master.tar.gz slave1:/home/hadoop
scp ./hbase.master.tar.gz slave2:/home/hadoop
在 slave1 节点上执行:
sudo rm -r /usr/local/hbase # 删掉旧的(如果存在)
sudo tar -zxf ~/hbase.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hbase
在 slave2 节点上执行:
sudo rm -r /usr/local/hbase # 删掉旧的(如果存在)
sudo tar -zxf ~/hbase.master.tar.gz -C /usr/local
sudo chown -R hadoop /usr/local/hbase
启动hbase集群
因为前面已经配置过环境变量,所以直接启动:
start-hbase.sh
通过jps
查看启动进程
Master如下:
slave1如下:slave2如下:
注意:启动hbase集群之前要确保hadoop、zookeeper集群都已启动。
即启动顺序为:hadoop -> zookeeper -> hbase
关闭顺序为:hbase ->zookeeper -> hadoop