Hbase全分布式安装( Adanced-Fully Distributed)--最接近生产环境

       即将构建的集群节点情况说明,需要三台server(centos01,centos02,centos03),分别代表节点1,2,3.HBase是在hadoop和zookeeper的前提下搭建的,所以必须提前在三台server上装好hadoop和zookeeper。

集群包括:1primary Master ,1back Master (hbase设一个主Master与一个备Master)

                  3zookeeper节点

                  2RegionServer

        hbase实际上使用或继承了hadoop的实现,所以不管是它的配置文件还是它的设计结构都会尽量遵循hadoop的模型。hadoop中有nodemanager和datanode(大哥和小弟),Hbase中同样有Master(大哥) 和 RegionServer(小弟)。

Distributed Cluster Demo architecture(集群节点的结构如下)

 

Node Name

Master

ZooKeeper

RegionServer

Centos01

yes

yes

no

Centos02

backup

yes

yes

Centos03

no

yes

yes

.预设环境:

1.分别在node1,2,3上安装jdk(自行根据自己安装的Hbase版本确定JDK版本)

HBase Version

JDK 7

JDK 8

2.0

Not Supported

yes

1.3

yes

yes

1.2

yes

yes

1.1

yes

能运行jdk8但是不稳定

 二、安装过程:

1.hadoop:分别在node1,2,3上安装Hadoop,安装过程略,如果不会,自己网上百度下。

2.分别在node1,2,3上安装zookeeper,以下是zookeeper的安装方法:

                      1.安装配置zooekeeper集群(在hadoop01上)

1.1解压

tar-zxvf zookeeper-3.4.5.tar.gz -C /home/hadoop/app/

1.2修改配置

cd/home/hadoop/app/zookeeper-3.4.5/conf/

cpzoo_sample.cfg zoo.cfg

vimzoo.cfg

修改:dataDir=/home/hadoop/app/zookeeper-3.4.5/tmp

在最后添加:

server.1=hadoop01:2888:3888

server.2=hadoop02:2888:3888

server.3=hadoop03:2888:3888

保存退出

然后创建一个tmp文件夹

mkdir/home/hadoop/app/zookeeper-3.4.5/tmp

echo1 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

1.3将配置好的zookeeper拷贝到其他节点(首先分别在hadoop02hadoop03根目录下创建一个hadoop目录:mkdir /hadoop)

scp-r /home/hadoop/app/zookeeper-3.4.5/ hadoop06:/home/hadoop/app/

scp-r /home/hadoop/app/zookeeper-3.4.5/ hadoop07:/home/hadoop/app/

 

注意:修改hadoop02hadoop03对应/hadoop/zookeeper-3.4.5/tmp/myid内容

Hadoop02

echo2 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

Hadoop03

echo3 > /home/hadoop/app/zookeeper-3.4.5/tmp/myid

  自己启动测试下是否成功,同时向三台机器执行zookeeper的启动命令:

   zkServer.sh start

  然后三台机器jps以下,看是否都存在名为 HQuorumPeer的进程,有就表示成功了。然后kill -9 进程数,退出zookeeper

3.设置免密码登陆:centos01对centos01,centos02,centos03的免密登陆和centos02对centos02,centos03的免密登陆

       

如果希望ssh公钥生效需满足至少下面两个条件:

1) .ssh目录的权限必须是700

2).ssh/authorized_keys文件权限必须是600

  在centos01上: ssh-keygen  

    ssh-copy-id -i    ~/.sh/id_rsa.pub  hadoop@centos01

    ssh-copy-id -i    ~/.sh/id_rsa.pub hadoop@centos01

    ssh-copy-id -i    ~/.sh/id_rsa.pub hadoop@centos01

在配置centos02的免密登陆,命令似上。

4.安装hbase

先配置node1(centos01)

1.上传hbase-1.2.6-bin.tar.gz/home/hadoop/apps/并解压

 tar -zxvf  hbase-1.2.6-bin.tar.gz  

 ln -s    hbase-1.2.6-bin   hbase  #设置一个软连接

2.配置conf

<1>编辑conf/regionservers 将原本的localhost移除,将节点23的主机名或者ip地址写入

  vi   conf/regionservers

 centos02

 centos03

<2>配置HBasenode2作为备master

    conf下建立一个新的vi文本backup-masters

    vi  backup-masters

    centos02

<3>配置zookeeper、主节点、hbase的文件存储信息(基于hdfs

   vi /conf/hbase-site.xml

  

<configuration>

#zookeeper的分布信息,这个配置可以告诉hbase去管理和启动zookeeper

   <property>

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

     <value>centos05,centos06,centos07</value>

   </property>

#告诉hbase zookeeper的配置文件信息的位置

<property>

     <name>hbase.zookeeper.property.dataDir</name>

     <value>/home/hadoop/apps/hbase/zookeeper</value>

   </property>

 

     #hbasemaster的主机和端口

    <property>

  <name>hbase.master</name>         

  <value>centos05:60000</value>

  </property>

   #时间同步允许的时间差

  <property>

 <name>hbase.master.maxclockskew</name>   

 <value>180000</value>

 </property>

 

#声明设置hbase的分布式

  <property>

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

  <value>true</value>

</property>

#hbase的表格存储位置

<property>

  <name>hbase.rootdir</name>

  <value>hdfs://centos01:8020/hbase</value>

</property>

</configuration>

 

 

<4>mkdir  /home/hadoop/apps/hbase/zookeeper

      cp -r  zookeeper/conf/zoo.cfg  /home/hadoop/apps/hbase/zookeeper  #zookeeper的配置文件zoo.cfg复制到先前我们配置的hbase.zookeeper.property.dataDir的目录下,方便hbasezookeeper进行启动和管理。

<5>node1上的hbase文件分发到node2node3

   scp -r /home/hadoop/apps/hbase centos02:/home/hadoop/apps/

   scp -r /home/hadoop/apps/hbase centos03:/home/hadoop/apps/

<5>开始并测试hbase集群

启动前一定确保没有hbase进程在运行,在node1上输入命令:start-hbase.sh

如果成功启动,你的输出日志应该为:

$ bin/start-hbase.sh
node-c.example.com: starting zookeeper, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-c.example.com.out
node-a.example.com: starting zookeeper, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-a.example.com.out
node-b.example.com: starting zookeeper, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-zookeeper-node-b.example.com.out
starting master, logging to /home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-node-a.example.com.out
node-c.example.com: starting regionserver, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-c.example.com.out
node-b.example.com: starting regionserver, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-regionserver-node-b.example.com.out

node-b.example.com: starting master, logging to/home/hbuser/hbase-0.98.3-hadoop2/bin/../logs/hbase-hbuser-master-nodeb.example.com.out

最后请注意:如果在hbase的配置文件中设置到要填localhost的,请用它的hostname替代。比如说在本例中,你一定想要在centos01(节点1)上也启一个RegionServer,那么在Regionservers 中,你不要填localhost,而用centos01.

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值