HBASE完全分布式安装

实现步骤

  1. 准备三台虚拟机,01作为主节点,02、03作为从节点。(把每台虚拟机防火墙都关掉,配置免密码登录,配置每台的主机名和hosts文件。)

  2. 01节点上安装和配置:Hadoop+Hbase+JDK+Zookeeper

  3. 02、03节点上安装和配置:Hbase+JDK+Zookeeper

  4. 修改conf/hbase-env.sh

              配置示例:

             #修改JAVA_HOME

             export JAVA_HOME=xxxx

             #修改Zookeeper和Hbase的协调模式,hbase默认使用自带的zookeeper,如果需要使用外部zookeeper,需要先关闭。

            export HBASE_MANAGES_ZK=false

       5. 修改hbase-site.xml,配置开启完全分布式模式

          配置示例:

          #指定hbase在hdfs上的存储路径

         <property>

               <name>hbase.rootdir</name>

               <value>hdfs://hadoop01:9000/hbase</value>

         </property>

         #开启完全分布式hbase

         <property>

               <name>hbase.cluster.distributed</name>

               <value>true</value>

         </property>

         #配置Zookeeper的连接地址与端口号

         <property>

                <name>hbase.zookeeper.quorum</name>

                <value>hadoop01:2181,hadoop02:2181,hadoop03:2181</value>

         </property>

       6. 配置region服务器,修改conf/regionservers文件,每个主机名独占一行,hbase启动或关闭时会按照该配置顺序启动或关闭主机中的hbase。

             假设hadoop01是HMaster,则没必要写入自己的主机名,否则会在本机上也开启一个regionserver。

             配置示例:

             hadoop02

             hadoop03 

           注意:regionserver最好跟datanode是一致,regionserver是需要去写文件的,万一它要写的块正好在它所在主机的                                  datanode上就不需要经过网络传输了,这样节省了资源

       7. 将01节点配置好的hbase通过远程复制拷贝到02,03节点上

       8. 启动01,02,03的Zookeeper服务

       9. 启动01节点的Hadoop

      10. 启动01节点的Hbase,进入到hbase安装目录下的bin目录

                  执行:sh start-hbase.sh

             (注意:如果每台机子的regionservers中配置了相同的主机名,则不需要在每台主机上都执行该命令,执行该改命令的主机即为Hmaster,执行后会自动开启批量启动脚本regionservers中配置的主机)

      11. 查看各节点的java进程是否正确

      12. 通过浏览器访问http://xxxxx:16010来访问web界面,通过web界面管理hbase(hadoop1.0以后才是16010)

      13. 关闭hbase,进入到hbase安装目录下的bin目录

                  执行:stop-hbase.sh

 

注:HBASE配置文件说明

hbase-env.sh配置HBase启动时需要的相关环境变量

hbase-site.xml配置HBase基本配置信息

HBASE启动时默认使用hbase-default.xml中的配置,如果需要可以修改hbase-site.xml文件,此文件中的配置将会覆盖hbase-default.xml中的配置

修改配置后要重启hbase才会起作用

 

注:主启动hbase时可能出现的错误,报错如下:

2018-10-09 12:50:53,415 INFO  [regionserver/hadoop011/192.168.80.129:16020] regionserver.HRegionServer: STOPPED: Unhandled: org.apache.hadoop.hbase.ClockOutOfSyncException: Server hadoop011,16020,1539114643547 has been rejected; Reported time is too far out of sync with master.  Time difference of 4660179ms > max allowed of 30000ms

at org.apache.hadoop.hbase.master.ServerManager.checkClockSkew(ServerManager.java:407)

at org.apache.hadoop.hbase.master.ServerManager.regionServerStartup(ServerManager.java:273)

at org.apache.hadoop.hbase.master.MasterRpcServices.regionServerStartup(MasterRpcServices.java:360)

at org.apache.hadoop.hbase.protobuf.generated.RegionServerStatusProtos$RegionServerStatusService$2.callBlockingMethod(RegionServerStatusProtos.java:8615)

at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2180)

at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:112)

at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:133)

at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:108)

at java.lang.Thread.run(Thread.java:748)

 

2018-10-09 12:50:53,685 INFO  [regionserver/hadoop011/192.168.80.129:16020] regionserver.HRegionServer: regionserver/hadoop011/192.168.80.129:16020 exiting

2018-10-09 12:50:53,686 ERROR [main] regionserver.HRegionServerCommandLine: Region server exiting

java.lang.RuntimeException: HRegionServer Aborted

at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.start(HRegionServerCommandLine.java:68)

at org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.run(HRegionServerCommandLine.java:87)

at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)

at org.apache.hadoop.hbase.util.ServerCommandLine.doMain(ServerCommandLine.java:126)

at org.apache.hadoop.hbase.regionserver.HRegionServer.main(HRegionServer.java:2667)

 

原因:regionserver的报告时间和hmaster的报告时间相差太大,超过了默认值30000ms 

          即30s

解决方法:统一设定虚拟机的时间 

                 在每台机器上执行: data -s '2018-10-09 20:50:05'

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值