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 hadoop46、将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 hadoop4Pom.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