您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > HBase集群安装部署(完全分布式)(网上huangxin修改版)
HBase集群安装部署(完全分布式)标签:hbasehadoopzookeeper分布式安装2016年7月29日08:24:27Huangxin[永州职业技术学院]分类:hbase(5)版权声明:本文为学习笔记文章,希望爱好大数据的人一起学习。目录(?)[+]zookeeper配置(注意:我在配置的时候,由于后面克隆了一台Slave03机器,忘记了在前面的3台机器里面的HOSTS文件里面添加【IP主机名】映射,导致SSH连接很慢,超过了30秒,导致Hbase启动的时候超过30秒而Slave03机器的Hbase启动不了(在Slave03的机器的Hbase日志里面可以查看到原因))1.Zookeeper服务集群规模不小于三个节点,要求各服务之间系统时间要保持一致。我配置的系统的规划是4台机器(1台Master,3台Slave:Slave01,Slave02,Slave03)主机名IP地址端口号Master192.168.137.2002181Slave01192.168.137.1012181Slave02192.168.137.1022181Slave03192.168.137.10321812.在Master机的usr/目录下,解压缩zookeeper(执行命令tar–zvxfzookeeper.tar.gz)在这里我还使用了【mvzookeeper版本号zookeeper修改名称为zookeeper】3.设置环境变量打开/etc/profile文件!内容如下:[html]viewplaincopy1.#setjava&hadoop2.3.exportJAVA_HOME=/usr/jdk4.5.exportHADOOP_HOME=/usr/hadoop6.7.exportZOOKEEPER_HOME=/usr/zookeeper8.9.exportPATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH注:修改完后profile记得执行source/etc/profile命令让文件立即生效4.在解压后的zookeeper的目录下进入conf目录修改配置文件更名操作:mvzoo_sample.cfgzoo.cfg我的操作是保留原来的文件复制一个更名,更名为:zoo.cfg所以命令为:cpzoo_sample.cfgzoo.cfg5.编辑zoo.cfg(vizoo.cfg)(注意:这里也可以直接使用界面操作打开编辑)修改dataDir=/usr/zookeeper/data新增server.0=Master:2888:3888server.1=Slave01:2888:3888server.2=Slave02:2888:3888server.3=Slave03:2888:3888文件如下:[html]viewplaincopy1.#Thenumberofmillisecondsofeachtick2.3.tickTime=20004.5.#Thenumberofticksthattheinitial6.7.#synchronizationphasecantake8.9.initLimit=1010.11.#Thenumberofticksthatcanpassbetween12.13.#sendingarequestandgettinganacknowledgement14.15.syncLimit=516.17.#thedirectorywherethesnapshotisstored.18.19.#donotuse/tmpforstorage,/tmphereisjust20.21.#examplesakes.22.23.dataDir=/usr/zookeeper/data24.25.#theportatwhichtheclientswillconnect26.27.clientPort=218128.29.#30.31.#Besuretoreadthemaintenancesectionofthe32.33.#administratorguidebeforeturningonautopurge.34.35.#36.37.#=344.45.#Purgetaskintervalinhours46.47.#Setto0todisableautopurgefeature48.49.#autopurge.purgeInterval=150.51.52.53.server.0=Master:2888:388854.55.server.1=Slave01:2888:388856.57.server.2=Slave02:2888:388858.server.3=Slave03:2888:3888注:[html]viewplaincopy1.server.0=Master:2888:38882.3.server.1=Slave01:2888:38884.5.server.2=Slave02:2888:38886.server.3=Slave03:2888:38887.这四行为配置zookeeper集群的机器(Master、Slave01、Slave02,Slave03)分别用server.0和server.1、server.2、server.3标识,2888和3888为端口号(zookeeper集群包含一个leader(领导)和多个fllower(随从),启动zookeeper集群时会随机分配端口号,分配的端口号为2888的为leader,端口号为3888的是fllower)6.创建文件夹mkdir/usr/zookeeper/data(注意:这里也可以直接使用界面操作)7.在data目录下,创建文件myid,值为0(0用来标识Master这台机器的zookeeper)到此为止Master上的配置就已经完成;接下来配置Slave01,Slave02和Slave03.8.把zookeeper目录复制到Slave01,Slave02和Slave03中命令为:(scp–r/usr/zookeeperroot@192.168.137.101:/usr/zookeeper)9.把修改后的etc/profile文件复制到Slave01,Slave02和Slave03中(复制完后记得在Slave01,Slave02和Slave03中执行命令source/etc/profile)10.把Slave01中相应的myid中的值改为1,Slave02中相应的myid中的值改为2,把Slave03中相应的myid中的值改为3。11.启动,在三个节点上分别执行命令zkServer.shstart12.检验,在三个节点上分别执行命令zkServer.shstatuszookeeper的shell操作启动zookeeper:zkServer.shstart进入zookeeper:zkCli.shhbase配置HBase(NoSQL)的数据模型1.1表(table),是存储管理数据的。1.2行键(rowkey),类似于MySQL中的主键。行键是HBase表天然自带的。1.3列族(columnfamily),列的集合。HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。HBase表中的数据,每个列族单独一个文件。1.4时间戳(timestamp),列(也称作标签、修饰符)的一个属性。行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。如果不指定时间戳或者版本,默认取最新的数据。1.5存储的数据都是字节数组。1.6表中的数据是按照行键的顺序物理存储的。2.HBase的物理模型2.1HBase是适合海量数据(如20PB)的秒级简单查询的数据库。2.2HBase表中的记录,按照行键进行拆分,拆分成一个个的region。许多个region存储在regionserver(单独的物理机器)中的。这样,对表的操作转化为对多台regionserver的并行查询。3.HBase的体系结构3.1HBase是主从式结构,HMaster、HRegionServerHBase的伪分布1.在Master上解压缩Hbase压缩文件到/usr里面重命名为:hbase在/etc/profile中设置环境变量:HBASE_HOME,PATH如下:[html]viewplaincopy1.#setjava&hadoop2.3.exportJAVA_HOME=/usr/jdk4.5.exportHADOOP_HOME=/usr/hadoop6.7.exportZOOKEEPER_HOME=/usr/zookeeper8.9.exportHBASE_HOME=/usr/hbase10.11.exportPATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$JAVA_HOME/bin:$PATH注:修改完成后记得source/etc/profile2.修改文件$HBASE_HOME/conf/hbase-env.sh,修改内容如下[html]viewplaincopy1.exportJAVA_HOME=/usr/jdk2.3.exportHBASE_MANAGES_ZK=true注意:伪分布式,是使用Hbase自带的zookeeper。所以exportHBASE_MANAGES_ZK=true为true。如果要使用自己安装的zookeeper的话,就设置为false3.修改文件hbase-site.xml,修改内容如下[html]viewplaincopy1.property2.3.namehbase.rootdir/name4.5.valuehdfs://Master:9000/hbase/value6.7./property8.9.property10.11.namehbase.cluster.distributed/name12.13.valuetrue/value14.15./property16.17.property18.19.namehbase.zookeeper.quorum/name20.21.valueMaster/value22.23./property24.25.property26.27.namedfs.replication/name28.29.value1/value30.31./property注意:因为是伪分布式,所以是在一台机器上的。所以这里要设置副本数为1.不然就会报错。1.property2.3.namedfs.replication/name4.5.value1/value6.7./property如果机器数超过3台,那么可以使用默认设置(默认副本数为3)(默认的话就不需要写上面的设置)4.(可选)修改、usr/hbase/regionservers,(伪分布可以不配置)5.启动,执行命令start-hbase.sh注意:启动hbase之前要先启动hadoop,确保hadoop可写入数据。HBase的完全分布集群1.hbase的机群搭建过程(在原来的Master上的hbase伪分布基础上进行搭建)1.1集群结构,主节点(hmaster)是Master,从节点(regionserver)是Slave01和Slave02,Slave031.2修改Mast
本文标题:HBase集群安装部署(完全分布式)(网上huangxin修改版)
链接地址:https://www.777doc.com/doc-2875850 .html