hbase安装
注意开启hbase之前,需要将之前的hadoop集群开启
- start-all.sh (启动hadoop)
- zkServer.sh start(各个节点均执行)
1.同样先建立工作路径/usr/hbase,将/opt/soft下的hbase加压到工作路径中。
- 创建路径:mkdir -p /usr/hbase
- 解压缩:tar -zxvf /opt/soft/hbase-1.2.4-bin.tar.gz -C /usr/hbase
2.修改配置文件:conf/hbase-env.sh
export HBASE_MANAGES_ZK=false
export JAVA_HOME=/usr/java/jdk1.8.0_171
export HBASE_CLASSPATH=/usr/hadoop/hadoop-2.7.3/etc/Hadoop
解释:一个分布式运行的Hbase依赖一个zookeeper集群。所有的节点和客户端都必须能够访问zookeeper。默认的情况下Hbase会管理一个zookeep集群,即Hbase默认自带一个zookeep集群。这个集群会随着Hbase的启动而启动。而在实际的商业项目中通常自己管理一个zookeeper集群更便于优化配置提高集群工作效率,但需要配置Hbase。需要修改conf/hbase-env.sh里面的HBASE_MANAGES_ZK 来切换。这个值默认是true的,作用是让Hbase启动的时候同时也启动zookeeper.在本实验中,我们采用独立运行zookeeper集群的方式,故将其属性值改为false。
3.配置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>hdfs://master:6000</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,slave1,slave2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/zookeeper/zookeeper-3.4.10</value>
</property>
</configuration>
解释:要想运行完全分布式模式,加一个属性 hbase.cluster.distributed 设置为 true 然后把 hbase.rootdir 设置为HDFS的NameNode的位置
hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是’完全正确’的,还要包含文件系统的scheme
hbase.cluster.distributed :Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。在hbase-site.xml配置zookeeper:当Hbase管理zookeeper的时候,你可以通过修改zoo.cfg来配置zookeeper,对于zookeepr的配置,你至少要在 hbase-site.xml中列出zookeepr的ensemble servers,具体的字段是 hbase.zookeeper.quorum.在这里列出Zookeeper集群的地址列表,用逗号分割。
hbase.zookeeper.property.clientPort:ZooKeeper的zoo.conf中的配置,客户端连接的端口。
hbase.zookeeper.property.dataDir:ZooKeeper的zoo.conf中的配置。对于独立的Zookeeper,要指明Zookeeper的host和端口。需要在 hbase-site.xml中设置。
4. 配置conf/regionservers
在这里列出了希望运行的全部 HRegionServer,一行写一个host (就Hadoop里面的 slaver 一样)。列在这里的server会随着集群的启动而启动,集群的停止而停止。
5.hadoop配置文件拷入hbase的目录下(当前目录为/usr/hbase/hbase-1.2.4/conf)
- cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml .
- cp /usr/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml .
6.分发hbase
- scp -r /usr/hbase root@slave1:/usr/
- scp -r /usr/hbase root@slave2:/usr/
7.配置环境变量
- vi /etc/profile
# set hbase environment
export HBASE_HOME=/usr/hbase/hbase-1.2.4
export PATH=$PATH:$HBASE_HOME/bin
生效环境变量:source /etc/profile
9. 运行和测试在master上执行:
- start-hbase.sh (直接运行这个命令需要将HBASE的bin目录也加入到/etc/environment中)
查看主节点进程:
10.访问master的hbase web界面。
- http: //master IP:16010/master-status
11.进hbase 交互界面,查看状态与版本。。
- hbase shell
到此,hbase的分布式集群就算完成了,后序会继续更新其他环境,敬请关注。。