1 上传hbase包
2 解压
解压hbase压缩包
[hadoop@master ~]$cd /home/hadoop/software
[hadoop@master software]$tar xzvf hbase-1.4.3-bin.tar.gz
3 配置环境变量
[hadoop@master software]$cd
[hadoop@master ~]$vi .bash_profile
添加下列代码
~~~
export HBASE_HOME=/home/hadoop/software/hbase-1.4.3
export PATH=$HBASE_HOME/bin:$PATH
~~~
4 配置hbase集群,要修改3个文件(首先zk集群已经安装好了)
注意:由于hbase最终数据存放到hdfs,故需要要把hadoop的hdfs-site.xml和core-site.xml 放到hbase/conf下
[hadoop@master~]$ cd /home/hadoop/software/hadoop-2.7.3/etc/hadoop
[hadoop@master hadoop]$cp hdfs-site.xml /home/hadoop/software/hbase-1.4.3/conf/
[hadoop@master hadoop]$cp core-site.xml /home/hadoop/software/hbase-1.4.3/conf/
4.1 在master 上修改hbase-env.sh
[hadoop@master ~]$cd /home/hadoop/software/hbase-1.4.3/conf/
[hadoop@master conf]$vi hbase-env.sh
(1) 修改为export JAVA_HOME= /usr/java/jdk1.8.0_131
//告诉hbase使用外部的zk
(2) 修改为export HBASE_MANAGES_ZK=false
//修改Hbase的内存为8G
(3) 修改为export HBASE_HEAPSIZE=8G
保存退出
4.2 修改hbase-site.xml
[hadoop@master conf]$vi hbase-site.xml
~~~
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://192.168.6.250:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2181,slave2:2181</value>
</property>
<property>
<name>hbase.master.port</name>
<value>16000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
</configuration>
~~~
***配置参数
(1)hbase.rootdir:这个目录是region server的共享目录,用来持久化Hbase。URL需要是'完全正确'的,还要包含文件系统的scheme。例如,要表示hdfs中的 '/hbase'目录,namenode 运行在namenode.example.org的9090端口。则需要设置为hdfs://namenode.example.org:9000 /hbase。默认情况下Hbase是写到/tmp的。不改这个配置,数据会在重启的时候丢失。默认: file:///tmp/hbase-${user.name}/hbase
(2)hbase.cluster.distributed:Hbase的运行模式。false是单机模式,true是分布式模式。若为false,Hbase和Zookeeper会运行在同一个JVM里面。默认: false
(3)base.zookeeper.quorum:Zookeeper 集群的地址列表,用逗号分割。例 如:"host1.mydomain.com,host2.mydomain.com,host3.mydomain.com".默认是 localhost,是给伪分布式用的。要修改才能在完全分布式的情况下使用。如果在hbase-env.sh设置了HBASE_MANAGES_ZK, 这些ZooKeeper节点就会和Hbase一起启动。 默认: localhost
(4)hbase.master.port:Hbase的Master的端口.默认: 60000
(5)hbase.master.info.port:HBase Master web 界面端口. 设置为-1 意味着你不想让他运行。默认: 60010***
4.3 指定机器为regionserver,不单独指定master。其中:在哪个机器上启动,哪台就是master,在regionservers文件说明要启动的HRegionServer
[hadoop@master conf]$vi regionservers
192.168.6.250
192.168.6.251
192.168.6.252
4.4 hbase1.4.3 依赖 amazonaws包下的两个文件,故需要把下面两个文件上传至$HBASE_HOME/lib 目录下,否则会出现下面的错误
依赖的两个文件:
上传两个jar包到
/home/hadoop/software/hbase-1.4.3/lib
> aws-java-sdk-core-1.10.77.jar
> aws-java-sdk-s3-1.11.34.jar
*不添加问题出现ClassNotFoundException:
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentialsProvider
Caused by: java.lang.ClassNotFoundException: com.amazonaws.services.s3.AmazonS3*
5. 将配置好的HBase拷贝到salves里
[hadoop@master software]$scp -r hbase-1.4.3 slave1:/home/hadoop/software/
[hadoop@master software]$scp -r hbase-1.4.3 slave2:/home/hadoop/software/
6. 启动所有的hbase
启动hbase前需要启动集群
[hadoop@master ~]$start-all.sh
启动hbase,在master(主节点)上运行:
刷新环境变量 . .bash_profile
启动hbase start-hbase.sh
[hadoop@master ~]$jps
5585 ResourceManager
5414 SecondaryNameNode
6604 HMaster
5868 QuorumPeerMain
6733 HRegionServer
6813 Jps
5215 NameNode
[hadoop@slave1(2)~]$jps
4149 HRegionServer
4231 Jps
3386 DataNode
3658 QuorumPeerMain
3517 NodeManager