Hbase集群搭建
注意:在安装hbase或者hadoop的时候,要注意hadoop和hbase的对应关系。如果版本不对应可能造成系统的不稳定和一些其他的问题。在hbase的lib目录下可以看到hadoop对应jar文件,默认情况下hbase下lib的jar文件对应hadoop的相对稳定的版本。如果需要使用其他的hadoop版本,需要将hbase lib下的hadoopjar包,替换掉需要使用的hadoop版本
HMaster HRegionServer
Hadoop1 √
Hadoop2 √ √
Hadoop3 √
Hadoop4 √
配置步骤
在hadoop安装目录下找到hadoop-env.sh文件
添加:export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/hbase-2.0.2/lib/*
1、时间同步(必须进行时间同步)
2、配置hbase-env.sh
export JAVA_HOME=/opt/jdk1.8
export HBASE_MANAGES_ZK=false --如果你是使用hbase自带的zk就是true,如果使用自己的zk就是false
3、配置hbase-site.xml
<configuration>
<property>
<!-- 指定 hbase 在 HDFS 上存储的路径 -->
<name>hbase.rootdir</name>
<value>hdfs://集群的名字/hbase</value>
</property>
<property>
<!-- 指定 hbase 是分布式的 -->
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<!-- 指定 zk 的地址,多个用“,”分割 -->
<name>hbase.zookeeper.quorum</name>
<value>hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181</value>
</property>
</configuration>
4、配置backup-masters(需要手动创建)
bigdata@hadoop1:/opt/hbase-2.0.2/conf$ vim backup-masters
文件中写hadoop2(第二个节点的映射名)
5、修改regionservers
vim regionservers
hadoop1
hadoop2
hadoop3
hadoop4
6、将hadoop中的hdfs-site.xml和core-site.xml复制到hbase的conf目录(因为存储数据需要hdfs)
7、将hbase文件夹分发到其他各个节点
8、配置各个节点的hbase环境变量
9、启动zookeeper、启动hdfs、
10、启动hbase(start-hbase.sh)
start-hbase.sh,在哪台节点上执行此命令,哪个节点就是主节点
然后在 backup-masters 文件中配置的备节点上再启动一个 master 主进程
========================================================
1、hbase批量导入数据的命令:
hbase org.apache.hadoop.hbase.mapreduce.ImportTsv
-Dimporttsv.separator=,
-Dimporttsv.columns="HBASE_ROW_KEY,info:name,order:no,order:date(列族:列名)" customer(表名) /input/hbase/hbase_import_data.csv(数据的hdfs路径)
2、在xshell执行hbase的jar程序,需要配置:
在hadoop安装目录下找到hadoop-env.sh文件,
添加 : export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:/opt/hbase-2.0.2/lib/*
执行的命令为:
hadoop jar hbase.jar com.ScanTable
Idea开发hbase前提
C:\windows\system32\drivers\etc\hosts
192.168.104.200 hadoop1
192.168.104.201 hadoop2
192.168.104.202 hadoop3
192.168.104.203 hadoop4
Pom.xml配置
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-client</artifactId>
<version>2.0.2</version>
</dependency>
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase-common</artifactId>
<version>2.0.2</version>
</dependency>
=========================================================
hive与hbase集成
拷贝hbase相关的8个jar包到hive lib下
修改hive-site.xml配置文件
修改hive.zookeeper.quorum属性
<property>
<name>hive.zookeeper.quorum</name>
<value>hadoop1,hadoop2,hadoop3</value>
</property>
将8个本地jar的路径配置到hive.aux.jars.path属性中
<property>
<name>hive.aux.jars.path</name>
<value>file:///opt/hive-2.3.2/lib/hbase-client-2.0.2.jar,file:///opt/hive-2.3.2/lib/hbase-common-2.0.2.jar,file:///opt/hive-2.3.2/lib/hbase-server-2.0.2.jar,file:///opt/hive-2.3.2/lib/hbase-common-2.0.2-tests.jar,file:///opt/hive-2.3.2/lib/hbase-protocol-2.0.2.jar,file:///opt/hive-2.3.2/lib/htrace-core4-4.2.0-incubating.jar,file:///opt/hive-2.3.2/lib/hive-hbase-handler-2.3.2.jar,file:///opt/hive-2.3.2/lib/zookeeper-3.4.10.jar
</value>
</property>
修改hive-env.sh配置文件
添加 export HBASE_HOME=/opt/hbase-2.0.2