1、Centos7部署 HBASECentos7 部署HBASE 1,下载安装包进入官网,找到hbase版本:hbase-1.1.4-bin.tar.gz 并下载(2.利用winSCP上传到各个节点,master 3.将hbase 放到了 /home/hbase-1.1.4 目录下,并且解压tar zxvf hbase-1.1.4-bin.tar.gz4.将hbase添加到环境变量中(etc/profile )首先查看hbase的home#find / -name hbase-1.1.4export HBASE_HOME=/home/hbase-1.1.4/hbase-1.1.4export PA
2、TH=$HBASE_HOME/bin:$PATH 5.修改文件权限6修改配置文件hbase-env.sh (/home/hbase-1.1.4-hbase-1.1.4/conf)export JAVA_HOME=/home/jdk1.7.0_67 (在 /etc/profile 里面看到)exportHBASE_MANAGES_ZK=true #由HBase负责启动和关闭Zookeeper7.修改hbase-site.xmlhbase.zookeeper.quorummaster,slave1,slave2,slave3The directory shared by RegionServers
3、.hbase.zookeeper.property.dataDir/home/tempData/zookeeper(这个看zoo.cfg里面!) Property from ZooKeepers config zoo.cfg. The directory where the snapshot is stored.zookeeper.session.timeout2000hbase.zookeeper.property.clientPort2181hbase.rootdirhdfs:/master:9000/hbaseThe directory shared by RegionServers.h
4、base.cluster.distributedtrueThe mode the cluster will be in. Possible values are false: standalone and pseudo-distributed setups with managed Zookeeper true: fully-distributed with unmanaged Zookeeper Quorum (see hbase-env.sh)hbase.mastermasterhbase.master.info.port60010hbase.master.port600007.修改 /h
5、ome/hbase-1.1.4/hbase-1.1.4/conf/hbase-regionserversmasterslave1slave2slave38.#scp -r /home/hbase-1.1.4 root10.61.6.198:/home 把hbase-1.1.4 复制到每一个节点下!9.运行启动hbase时要确保hdfs已经启动,HBase的启动顺序为:HDFS-Zookeeper-HBase#/home/hadoop/sbin/start-all.sh#/home/hbase-1.1.4/bin/ ./start-hbase.sh这样就显示成功了!错误:1.输入 #./hbas
6、e shell错误表现:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in jar:file:/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.classSLF4J: Found binding in jar:file:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBind
7、er.class含义为:发生jar包冲突了:分别为:file:/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.classfile:/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class移除其中一个jar包即可解决方案:使用下面命令:/usr/hadoop/share/hadoop/common/lib/ mv slf4j-log4j12-1.6.4.j
8、ar /usr把包先移到/usr目录下,防止出问题了可以找回,也可以直接删除!问题解决2.regionserver.HRegionServerCommandLine: Region server exiting解决办法:单独在要启动的RegionServer上执行以下命令xuhuicloud002:/hadoop-2.2.0/hbase-0.98.2-hadoop2$ bin/hbase-daemon.sh start regionserver再次查看已经启动起来了:xuhuicloud002:/hadoop-2.2.0/hbase-0.98.2-hadoop2$ jps2002 DataNo
9、de3069 Jps2907 HRegionServer2261 NodeManager2393 QuorumPeerMainok 问题解决以上办法只能解决RegionServer的每次启动问题,而且每次都的这么输入,不能直接在Master上直接输入启动Master和RegionServer;终极解决办法就是:将hadoop中/home/xuhui/hadoop-2.2.0/share/hadoop/common/lib包里的slf4j-api- 1.7.5.jar和slf4j-log4j12-1.7.5.jar复制到/home/xuhui/hadoop-2.2.0/hbase- 0.98.2
10、-hadoop2/lib下。ok3.时间同步问题如果无法修改,可以将每台的时间重新设置一下#date -s 10:10:10 /将时间设为10点10分10秒4.Failed to load class org.slf4j.impl.StaticLoggerBinder.master: SLF4J: Defaulting to no-operation (NOP) logger implementationmaster: SLF4J: See http:/www.slf4j.org/codes.html#StaticLoggerBinder for further details.解决办法:ht
11、tp:/www.slf4j.org/dist/下载一个包,然后解压,找到对应包放在lib下面!,参考问题1,此时就是问题1中的jar包被删除来我,所以解决的办法是将slf4j-log4j12-1.6.4.jar找回来问题解决!5.Address already inuse!原因:slave1中配置hbase-env。Sh时将hadoop的环境变量配置错误解决:检查配置,修改环境变量!6、 KeeperErrorCode = ConnectionLoss for /hbase/meta-region-server原因:web访问的时候发现Hbase没有启动7、解决:在master节点的yarn-
12、site.xml加入下面的信息原因:有图中可知,slave1与slave2 的磁盘已经把总的给分完了,所有slave3 出问题!Hbase.zookeeper.quorumZookeeper 集群的地址列表,用逗号分割。例 如:,.默认是 localhost,是给伪分布式用的。要修改才能在完全分布式的情况下使用。如果在hbase-env.sh设置了HBASE_MANAGES_ZK, 这些ZooKeeper节点就会和HBase一起启动。默认:localhosthbase.zookeeper.property.dataDir ZooKeeper的zoo.conf中的配置。 快照的存储位置默认:$h
13、base.tmp.dir/zookeeperzookeeper.session.timeout ZooKeeper 会话超时.HBase把这个值传递改zk集群,向他推荐一个会话的最大超时时间。详见http:/hadoop.apache.org /zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions The client sends a requested timeout, the server responds with the timeout that it can give the client. 。 单位是毫秒默认:
14、180000hbase.zookeeper.property.clientPort ZooKeeper的zoo.conf中的配置。 客户端连接的端口默认:2181hbase.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/hbasehbase.cluster.distributed HBase的运行模式。false是单机模式,true是分布式模式。若为false,HBase和Zookeeper会运行在同一个JVM里面。默认:falsehbase.master.info.port HBase Master web 界面端口. 设置为-1 意味着你不想让他运行。0.98 版本以后默认:16010 以前是 60010
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1