Centos7部署 HBASE.docx
《Centos7部署 HBASE.docx》由会员分享,可在线阅读,更多相关《Centos7部署 HBASE.docx(9页珍藏版)》请在冰豆网上搜索。
![Centos7部署 HBASE.docx](https://file1.bdocx.com/fileroot1/2023-2/13/5468d210-b5c1-47e0-8a8b-aa7d46d88319/5468d210-b5c1-47e0-8a8b-aa7d46d883191.gif)
Centos7部署HBASE
Centos7部署HBASE
1,下载安装包
进入官网,找到hbase版本:
hbase-1.1.4-bin.tar.gz并下载
(
2.利用winSCP上传到各个节点,master
3.将hbase放到了/home/hbase-1.1.4目录下,并且解压
tarzxvfhbase-1.1.4-bin.tar.gz
4.将hbase添加到环境变量中(etc/profile)
首先查看hbase的home
#find/-namehbase-1.1.4
exportHBASE_HOME=/home/hbase-1.1.4/hbase-1.1.4
exportPATH=$HBASE_HOME/bin:
$PATH
5.修改文件权限
6修改配置文件hbase-env.sh(/home/hbase-1.1.4-hbase-1.1.4/conf)
exportJAVA_HOME=/home/jdk1.7.0_67(在/etc/profile里面看到)
exportHBASE_MANAGES_ZK=true #由HBase负责启动和关闭Zookeeper
7.修改hbase-site.xml
hbase.zookeeper.quorum
master,slave1,slave2,slave3
ThedirectorysharedbyRegionServers.
hbase.zookeeper.property.dataDir
/home/tempData/zookeeper(这个看zoo.cfg里面!
)PropertyfromZooKeeper'sconfigzoo.cfg.
Thedirectorywherethesnapshotisstored.
zookeeper.session.timeout
2000
hbase.zookeeper.property.clientPort
2181
hbase.rootdir
hdfs:
//master:
9000/hbase
ThedirectorysharedbyRegionServers.
hbase.cluster.distributed
true
Themodetheclusterwillbein.Possiblevaluesare
false:
standaloneandpseudo-distributedsetupswithmanagedZookeeper
true:
fully-distributedwithunmanagedZookeeperQuorum(seehbase-env.sh)
hbase.master
master
hbase.master.info.port
60010
hbase.master.port
60000
7.修改/home/hbase-1.1.4/hbase-1.1.4/conf/hbase-regionservers
master
slave1
slave2
slave3
8.#scp-r/home/hbase-1.1.4root@10.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.输入#./hbaseshell
错误表现:
SLF4J:
ClasspathcontainsmultipleSLF4Jbindings.
SLF4J:
Foundbindingin[jar:
file:
/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J:
Foundbindingin[jar:
file:
/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!
/org/slf4j/impl/StaticLoggerBinder.class]
含义为:
发生jar包冲突了:
分别为:
file:
/usr/hbase/lib/slf4j-log4j12-1.6.4.jar!
/org/slf4j/impl/StaticLoggerBinder.class
file:
/usr/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!
/org/slf4j/impl/StaticLoggerBinder.class
移除其中一个jar包即可
解决方案:
使用下面命令:
/usr/hadoop/share/hadoop/common/lib/mvslf4j-log4j12-1.6.4.jar/usr
把包先移到/usr目录下,防止出问题了可以找回,也可以直接删除!
问题解决
2.regionserver.HRegionServerCommandLine:
Regionserverexiting
解决办法:
单独在要启动的RegionServer上执行以下命令
xuhui@cloud002:
~/hadoop-2.2.0/hbase-0.98.2-hadoop2$bin/hbase-daemon.shstartregionserver
再次查看已经启动起来了:
xuhui@cloud002:
~/hadoop-2.2.0/hbase-0.98.2-hadoop2$jps
2002DataNode
3069Jps
2907HRegionServer
2261NodeManager
2393QuorumPeerMain
ok问题解决
以上办法只能解决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-hadoop2/lib下。
ok
3.时间同步问题
如果无法修改,可以将每台的时间重新设置一下
#date-s10:
10:
10//将时间设为10点10分10秒
4.Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder".
master:
SLF4J:
Defaultingtono-operation(NOP)loggerimplementation
master:
SLF4J:
Seehttp:
//www.slf4j.org/codes.html#StaticLoggerBinderforfurtherdetails.
解决办法:
http:
//www.slf4j.org/dist/下载一个包,然后解压,找到对应包放在lib下面!
,参考问题1,此时就是问题1中的jar包被删除来我,所以解决的办法是将slf4j-log4j12-1.6.4.jar找回来
问题解决!
5.Addressalreadyinuse!
!
原因:
slave1中配置hbase-env。
Sh时将hadoop的环境变量配置错误
解决:
检查配置,修改环境变量!
6、KeeperErrorCode=ConnectionLossfor/hbase/meta-region-server
原因:
web访问的时候发现Hbase没有启动
7、
解决:
在master节点的yarn-site.xml加入下面的信息
原因:
有图中可知,slave1与slave2的磁盘已经把总的给分完了,所有slave3出问题!
Hbase.zookeeper.quorum
Zookeeper集群的地址列表,用逗号分割。
例如:
",,".默认是localhost,是给伪分布式用的。
要修改才能在完全分布式的情况下使用。
如果在hbase-env.sh设置了HBASE_MANAGES_ZK,这些ZooKeeper节点就会和HBase一起启动。
默认:
localhost
hbase.zookeeper.property.dataDir
ZooKeeper的zoo.conf中的配置。
快照的存储位置
默认:
${hbase.tmp.dir}/zookeeper
zookeeper.session.timeout
ZooKeeper会话超时.HBase把这个值传递改zk集群,向他推荐一个会话的最大超时时间。
详见http:
//hadoop.apache.org/zookeeper/docs/current/zookeeperProgrammers.html#ch_zkSessions"Theclientsendsarequestedtimeout,theserverrespondswiththetimeoutthatitcangivetheclient."。
单位是毫秒
默认:
180000
hbase.zookeeper.property.clientPort
ZooKeeper的zoo.conf中的配置。
客户端连接的端口
默认:
2181
hbase.rootdir
这个目录是regionserver的共享目录,用来持久化HBase。
URL需要是'完全正确'的,还要包含文件系统的scheme。
例如,要表示hdfs中的'/hbase'目录,namenode运行在namenode.example.org的9090端口。
则需要设置为hdfs:
//namenode.example.org:
9000/hbase。
默认情况下HBase是写到/tmp的。
不改这个配置,数据会在重启的时候丢失。
默认:
file:
///tmp/hbase-${user.name}/hbase
hbase.cluster.distributed
HBase的运行模式。
false是单机模式,true是分布式模式。
若为false,HBase和Zookeeper会运行在同一个JVM里面。
默认:
false
hbase.master.info.port
HBaseMasterweb界面端口.设置为-1意味着你不想让他运行。
0.98版本以后默认:
16010 以前是60010