《大数据平台构建》 课件 项目3、4 Hadoop生态系统常用组件部署、Hadoop HA 集群部署_第1页
《大数据平台构建》 课件 项目3、4 Hadoop生态系统常用组件部署、Hadoop HA 集群部署_第2页
《大数据平台构建》 课件 项目3、4 Hadoop生态系统常用组件部署、Hadoop HA 集群部署_第3页
《大数据平台构建》 课件 项目3、4 Hadoop生态系统常用组件部署、Hadoop HA 集群部署_第4页
《大数据平台构建》 课件 项目3、4 Hadoop生态系统常用组件部署、Hadoop HA 集群部署_第5页
已阅读5页,还剩314页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0102目录任务1HBase安装部署与基本使用任务2Hive安装部署与基本使用03任务3Spark安装部署与基本使用任务1HBase的安装部署与基本使用1任务目标1、能够熟练完成HBase完全分布式安装与配置2、能够熟练完成HBase的启动3、能够熟练完成HBase的验证4、能够熟练使用HBaseShell的常用命令能力目标1、熟悉HBase的相关概念与数据模型2、熟悉HBase的系统架构3、熟悉HBaseShell常用命令用法知识目标4

知识准备5一、HBase简介(一)什么是HBaseHBase是一种分布式、高可靠性、高性能、面向列、可扩展、支持海量数据存储的NoSQL数据库。HBase是Google用来存储大规模数据的一个分布式系统BigTable的一个实现NoSQL最常见的解释是“non-relational”,“NotOnlySQL”也被很多人接受。NoSQL仅仅是一个概念,泛指非关系型的数据库,区别于关系数据库,它们不保证关系数据的ACID特性NoSQL有如下优点:(1)容易扩展。NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,非常容易扩展。(2)大数据量下,NoSQL数据库都具有非常高的读写性能。面向列存储数据库:这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据(即:Key/value)。面向列存储数据库通常是用来应对分布式存储的海量数据,键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。一、HBase简介(续)6(二)HBase数据模型逻辑上,HBase的数据模型同关系型数据库很类似,数据存储在一张表中,有行有列。但从HBase的底层物理存储结构(Key-Value)来看,HBase更像是一个多维地图。为了更好理解HBase的数据模型,我们先来看一个行式存储和列式存储的对比实例。行式存储传统的数据库是关系型的,且是按行来存储的。如下图所示7一、HBase简介(续)(二)HBase数据模型列式存储为了区别传统的数据库,新型数据库叫做非关系型数据库,是按列来存储的。如下图所示行式存储与列式存储的对比行式存储倾向于结构固定,列式存储倾向于结构弱化。行式存储相当于套餐,即使一个人来了也给你上八菜一汤,造成浪费;列式存储相等于自助餐,按需自取,人少了也不浪费。行式存储一行数据只需一份主键,列式存储一行数据需要多份主键。行式存储存的都是业务数据,列式存储除了业务数据外,还要存储列名。8一、HBase简介(续)(二)HBase数据模型HBase逻辑结构HBase的数据模型逻辑结构与关系型数据库很类似,数据存储在一张表中,有行有列。横轴按Rowkey(行键)水平切分,纵轴按ColumnFamily(列族)垂直切分。如下图所示9一、HBase简介(续)(二)HBase数据模型HBase逻辑结构RowHBase表中的每行数据都由一个RowKey和多个Column(列)组成,数据是按照RowKey的字典顺序存储的,数值大排在后面,数值小排在前面,有数值比没有数值大。查询数据时只能根据RowKey进行检索,所以RowKey的设计十分重要ColumnHBase中的每个Column(列)都由ColumnFamily(列族)和ColumnQualifier(列限定符)进行限定,例如info:name,info:age一个ColumnFamily(列族)包含多个列,列可以动态添加,无需预先定义RegionHBase表在行的方向上横向分隔为多个Region。Region是HBase中分布式存储和负载均衡最小单元HBase定义表时只需要声明列族即可,不需要声明具体的列。这意味着,往HBase写入数据时,字段可以动态、按需指定。因此,和关系型数据库相比,HBase能够轻松应对字段变更的场景Store每一个Region有一个或多个Store组成,至少是一个Store,HBase会把一起访问数据放在一个Store里面,即为每个ColumnFamily建一个Store(即有几个ColumnFamily,也就有几个Store)一个Store由一个MemStore和多个StoreFile组成,HBase以Store的大小来判断是否需要切分Region10一、HBase简介(续)(二)HBase数据模型HBase物理存储结构HBase的底层物理存储结构来看,是K-V键值对形式。如图所示每条数据存储内容存储了一个KV键值对

其中的V就是我们写入的值而这个Key由以下部分组成:RowKey、列族、列名、时间戳操作类型分为:Put、Delete、DeleteColumn、DeleteFamily等等。二、HBase系统架构11(一)HBase系统架构12Zookeeper保证任何时候,集群中只有一个Master;存贮所有Region的寻址入口实时监控RegionServer的状态,将RegionServer的上线和下线信息实时通知给Master存储HBase的Schema,包括有哪些Table,每个Table有哪些ColumnFamily等信息HMaster为RegionServer分配Region;负责RegionServer的负载均衡发现失效的RegionServer并重新分配其上的Region;GFS上的垃圾文件回收处理Schema的更新请求;对于表的DDL操作:create,delete,alterHRegionServerRegionServer负责维护Master分配给它的Region,并处理发送到Region上的IO请求RegionServer负责切分在运行过程中变得过大的Region二、HBase系统架构(续)(一)HBase系统架构13二、HBase系统架构(续)(二)HBase关键流程读取数据流程主讲:方明清任务1HBase的安装部署与基本使用116二、HBase系统架构(续)(二)HBase关键流程读取数据流程Client先访问ZooKeeper,获取Hbase:Meta表位于哪个RegionServer

访问对应的RegionServer,获取Hbase:Meta表,根据读请求的NameSpace:Table/RowKey,查询出目标数据位于哪个RegionServer中的哪个Region中。并将该Table的Region信息以及Meta表的位置信息缓存在客户端的MetaCache,方便下次访问

与目标RegionServer进行通讯

分别在BlockCache(读缓存),MemStore和StoreFile(HFile)中查询目标数据,并将查到的所有数据进行合并。此处所有数据是指同一条数据的不同版本(TimeStamp)或者不同的类型(Put/Delete)

将从文件中查询到的数据块(Block,HFile数据存储单元,默认大小为64KB)缓存到BlockCache

将合并后的最终结果返回给客户端17二、HBase系统架构(续)(二)HBase关键流程写入数据流程18二、HBase系统架构(续)(二)HBase关键流程写入数据流程Client先访问ZooKeeper,获取Hbase:Meta表位于哪个RegionServer

访问对应的RegionServer,获取Hbase:Meta表,根据读请求的NameSpace:Table/RowKey,查询出目标数据位于哪个RegionServer中的哪个Region中。并将该Table的Region信息以及Meta表的位置信息缓存在客户端的MetaCache,方便下次访问

与目标RegionServer进行通讯

将数据顺序写入(追加)到

WAL

将数据写入对应的MemStore,数据会在MemStore进行排序

向客户端发送ACK

等达到MemStore的刷写时机后,将数据刷写到

HFile主讲:方明清任务1HBase的安装部署与基本使用1三、HBase常用Shell命令21HBaseShell常用命令(一)命令描述语法help‘命名名’查看命令的使用描述help‘命令名’whoami我是谁whoamiversion返回hbase版本信息versionstatus返回hbase集群的状态信息statustable_help查看如何操作表table_helpcreate创建表create‘表名’,‘列族名1’,‘列族名2’,‘列族名N’alter修改列族添加一个列族:alter‘表名’,‘列族名’删除列族:alter‘表名’,‘delete’=>‘列族名’describe显示表相关的详细信息describe‘表名’list列出hbase中存在的所有表listexists测试表是否存在exists‘表名’put添加或修改的表的值put‘表名’,‘行键’,‘列族名’,‘列值’put‘表名’,‘行键’,‘列族名:列名’,‘列值’22三、HBase常用Shell命令(续)HBaseShell常用命令(二)命令描述语法scan通过对表的扫描来获取对用的值scan‘表名’扫描某个列族:scan‘表名’,{COLUMN=>‘列族名’}扫描某个列族的某个列:scan‘表名’,{COLUMN=>‘列族名:列名’}查询同一个列族的多个列:scan‘表名’,{COLUMNS=>[‘列族名1:列名1’,‘列族名1:列名2’,…]}get获取行或单元(cell)的值get‘表名’,‘行键’get‘表名’,‘行键’,‘列族名’count统计表中行的数量count‘表名’incr增加指定表行或列的值incr‘表名’,‘行键’,‘列族:列名’,步长值get_counter获取计数器get_counter‘表名’,‘行键’,‘列族:列名’delete删除指定对象的值(可以为表,行,列对应的值,另外也可以指定时间戳的值)删除列族的某个列:delete‘表名’,‘行键’,‘列族名:列名’23三、HBase常用Shell命令(续)HBaseShell常用命令(三)命令描述语法deleteall删除指定行的所有元素值deleteall‘表名’,‘行键’truncate重新创建指定表truncate‘表名’enable使表有效enable‘表名’is_enabled是否启用is_enabled‘表名’disable使表无效disable‘表名’is_disabled是否无效is_disabled‘表名’drop删除表drop的表必须是disable的disable‘表名’drop‘表名’shutdown关闭hbase集群(与exit不同)

tools列出hbase所支持的工具

exit退出hbaseshell

四、HBase单机模式部署24可以在HBase的单机模式下练习HBase的操作命令。按以下步骤配置HBase单机模式:

在/opt目录下解压HBase离线压缩包

修改HBase配置文件:hbase-env.sh、hbase-site.xml

启动HBase(单机模式)

进入HBaseShell,使用Shell命令

在/opt目录下解压HBase离线压缩包[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt

#改变到/opt目录[hadoop@masteropt]$tar-zxvfhbase-2.4.14-bin.tar.gz

#以hadoop用户身份解压缩安装包25四、HBase单机模式部署(续)修改HBase配置文件:hbase-env.sh、hbase-site.xml[hadoop@masterconf]$cd/opt/hbase-2.4.14/conf/

#改变到HBase配置文件目录[hadoop@masterconf]$vihbase-env.sh

#修改hbase-env.sh环境配置文件[hadoop@masterconf]$tailhbase-env.sh

#新增了JAVA_HOME环境变量(其余略)#exportGREP="${GREP-grep}"#exportSED="${SED-sed}"exportJAVA_HOME="/opt/jdk1.8.0_341/"[hadoop@masterconf]$vihbase-site.xml

#修改hbase-site.xml配置文件[hadoop@masterconf]$cathbase-site.xml

#新增2项配置属性,其他属性不变<?xmlversion="1.0"?><?xml-stylesheettype="text/xsl"href="configuration.xsl"?><configuration>

<!--hbase根目录-->#新增hbase根目录配置属性<property><name>hbase.rootdir</name><value>file:///opt/hbase-2.4.14/hbase-root</value>#使用Linux文件系统保存hbase文件

<!--<value>hdfs://master:8020/hbase</value>-->#使用HDFS保存hbase文件</property>(下页续)26四、HBase单机模式部署(续)修改HBase配置文件:hbase-env.sh、hbase-site.xml(续上页)<!—hbase是否分布式--><property><name>hbase.cluster.distributed</name><value>false</value></property><!—hbase文件异步读写控制-->#新增hbase文件异步读写控制

<property><name>vider</name><value>filesystem</value></property><property><name>hbase.tmp.dir</name><value>./tmp</value></property><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property></configuration>27四、HBase单机模式部署(续)启动HBase(单机模式)[hadoop@masterhbase-2.4.14]$cd/opt/hbase-2.4.14

#进入hbase目录[hadoop@masterhbase-2.4.14]$bin/start-hbase.sh

#启动hbase(单机模式)SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:See/codes.html#multiple_bindingsforanexplanation.SLF4J:Actualbindingisoftype[org.slf4j.impl.Reload4jLoggerFactory][hadoop@masterhbase-2.4.14]$jps#检查hbase启动进程48864HMaster#单机模式下仅启动这个进程49057Jps28四、HBase单机模式部署(续)在宿主物理主机的浏览器中打开网址:http://29:16010HBase单机模式WebUI29四、HBase单机模式部署(续)进入HBaseShell,使用Shell命令[hadoop@masterhbase-2.4.14]$cd/opt/hbase-2.4.14

#进入hbase目录[hadoop@masterhbase-2.4.14]$bin/hbaseshell

#进入HBaseShellHBaseShellUse"help"togetlistofsupportedcommands.Use"exit"toquitthisinteractiveshell.hbase:001:0>status

#查看hbase状态1activemaster,0backupmasters,1servers,0dead,2.0000averageloadTook0.4246secondshbase:002:0>list

#列出hbase所有表hbase:003:0>list_namespace

#列出hbase所有命名空间hbase:004:0>version

#查看hbase版本hbase:005:0>注意:进入HBaseShell命令环境后,首先输入status、list、list_namespace这三个命令,都未出错的情况下,才能正常使用其他HBaseShell命令主讲:方明清任务1HBase的安装部署与基本使用132五、HBaseShell操作示例可以在HBase的单机模式下练习HBaseShell的操作命令DDL操作示例数据定义语言(DataDefinationLanguage,DDL)操作主要用来定义、修改和查询表数据库模式hbase:008:0>create'table','column_family','column_family1','column_family2'

#创建一个表hbase:009:0>list

#列出所有表hbase:010:0>describe'table'

#获取表的描述hbase:002:0>alter'table','column_family3'

#添加一个列族hbase:005:0>alter'table','delete'=>'column_family3'

#删除一个列族hbase:017:0>create'stu','grade','score'

#新建一个新表stuhbase:019:0>disable'stu'

#禁用表stuhbase:020:0>drop'stu'

#删除表stuhbase:022:0>exists'table'

#查询table表是否存在hbase:023:0>exists'stu'

#查询stu表是否存在hbase:024:0>is_enabled'table'

#查询table表是否可用hbase:025:0>is_enabled'stu'

#查询stu表是否可用33五、HBaseShell操作示例(续)DML操作示例数据操作语言(DataManipulationLanguage,DML)操作主要用来对表的数据进行添加、修改、获取、删除和查询hbase:001:0>create'emp','col_f1'

#新建表emphbase:002:0>put'emp','rw1','col_f1:name','tanggao'

#往emp表rw1行col_f1列族插入一列数值hbase:003:0>put'emp','rw1','col_f1:age','20'

#往emp表rw1行col_f1列族插入一列数值hbase:004:0>put'emp','rw1','col_f1:sex','boy'

#往emp表rw1行col_f1列族插入一列数值hbase:006:0>get'emp','rw1'

#获取emp表的rw1行的所有数据hbase:007:0>get'emp','rw1','col_f1'

#获取emp表rw1行col_f1列族的所有数据hbase:008:0>put'emp','rw1','col_f1:age','22'

#更新emp表的rw1行、col_f1列族中age列的值hbase:009:0>get'emp','rw1','col_f1:age'

#查看更新的结果hbase:004:0>scan'emp'

#emp全表扫描hbase:007:0>delete'emp','rw1','col_f1:age'

#删除emp表rw1行中的一个列hbase:008:0>get'emp','rw1'

#检查删除操作的结果hbase:012:0>deleteall'emp','rw1'

#删除emp表rw1行的所有列主讲:方明清任务1HBase的安装部署与基本使用136任务实施一、HBase完全分布式安装的服务器角色规划HBase完全分布式安装的服务器角色规划master(IP:29)slave1(IP:30)slave2(IP:31)HMasterBackupHMasterHRegionServerHRegionServerHRegionServerZookeeperZooKeeperZooKeeper二、HBase完全分布式离线安装所需软件包下载37离线安装HBase所需要的软件下载清单及官方下载网址任务名称所需软件下载清单官方下载网址HBase完全分布式离线安装hbase-2.4.14/https:///downloads.htmlZookeeper-3.7.1/https:///releases.html三、HBase完全分布式安装与配置38HBase完全分布式安装与配置步骤06修改HBase配置文件07分发配置完成的HBase软件(从master主节点)01免密钥登录配置(以master为主)02上传zk、hbase安装包到master主节点03以hadoop用户身份解压zookeeper安装包04安装并启动Zookeeper集群05以hadoop用户身份解压HBase安装包08启动Hbase(从master主节点)39以master主节点为中心的免密登录配置。因为前面配置HDFS集群时已经做过该配置,所以此步骤可以免去具体的操作三、HBase完全分布式安装与配置(续)通过SecureCRT上传HBase、Zookeeper离线安装包到master主节点虚拟机/opt目录[root@masteropt]#cd/opt/

#改变到/opt目录[root@masteropt]#ll

#查看上传成功的HBase、Zookeeper离线安装包总用量936M-rw-r--r--1rootroot13M9月2622:10apache-zookeeper-3.7.1-bin.tar.gzdrwxr-xr-x11hadoophadoop4.0K8月2514:24hadoop-3.3.4-rw-r--r--1rootroot664M8月1211:39hadoop-3.3.4.tar.gz-rw-r--r--1rootroot273M9月1321:02hbase-2.4.14-bin.tar.gzdrwxr-xr-x8rootroot4.0K8月921:49jdk1.8.0_341-rw-r--r--.1rootroot1.7K1月292022openEuler.repo[root@masteropt]#40三、HBase完全分布式安装与配置(续)切换到hadoop用户,以hadoop用户身份解压缩Zookeeper离线安装包文件[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt

#改变到/opt目录[hadoop@masteropt]$tar-zxvfapache-zookeeper-3.7.1-bin.tar.gz

#解压Zookeeper安装包[hadoop@masteropt]$mvapache-zookeeper-3.7.1-binzookeeper-3.7.1

#修改zookeeper目录名安装并启动Zookeeper集群先在master节点安装并配置好Zookeeper[hadoop@masterconf]$cd/opt/zookeeper-3.7.1/conf/#改变到zookeeper的conf目录[hadoop@masterconf]$cpzoo_sample.cfgzoo.cfg#从模板复制zookeeper配置文件[hadoop@masterconf]$mkdir/opt/zookeeper-3.7.1/zkData

#创建zookeeper数据存储目录[hadoop@masterconf]$touch/opt/zookeeper-3.7.1/zkData/myid

#创建myid文件[hadoop@masterconf]$echo1>/opt/zookeeper-3.7.1/zkData/myid

#往myid文件中写入数字1(下页续)41三、HBase完全分布式安装与配置(续)安装并启动Zookeeper集群(续上页)[hadoop@masterconf]$cat/opt/zookeeper-3.7.1/zkData/myid

#查看myid文件内容1[hadoop@masterconf]$vizoo.cfg

#编辑zookeeper配置文件(其余略)#修改dataDir配置参数,注释掉原始的设置:/tmp/zookeeperdataDir=/opt/zookeeper-3.7.1/zkData#在文件末尾添加以下内容server.1=master:2888:3888server.2=slave1:2888:3888server.3=slave2:2888:3888(下页续)42三、HBase完全分布式安装与配置(续)安装并启动Zookeeper集群(续上页)#配置参数解读#server.A=B:C:D。#A是一个数字,表示这个是第几号服务器;#集群模式下配置一个文件myid,这个文件在dataDir目录下,这个文件里面有一个数据就是A的值,Zookeeper启动时读取此文件,拿到里面的数据与zoo.cfg里面的配置信息比较从而判断到底是哪个server。#B是这个服务器的地址;#C是这个服务器Follower与集群中的Leader服务器交换信息的端口;#D是万一集群中的Leader服务器挂了,需要一个端口来重新进行选举,选出一个新的Leader,而这个端口就是用来执行选举时服务器相互通信的端口。主讲:方明清任务1HBase的安装部署与基本使用145三、HBase完全分布式安装与配置(续)安装并启动Zookeeper集群从master节点分发zookeeper到slave1、slave2节点[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt

#改变到/opt目录[hadoop@masteropt]$scp-rzookeeper-3.7.1/hadoop@slave1:/opt/

#分发到slave1节点[hadoop@masteropt]$scp-rzookeeper-3.7.1/hadoop@slave2:/opt/

#分发到slave2节点分别在slave1、slave2节点修改myid文件内容为2、3#在slave1节点,先切换为hadoop用户身份[hadoop@slave1opt]$echo2>/opt/zookeeper-3.7.1/zkData/myid

#更改myid内容为2[hadoop@slave1opt]$cat/opt/zookeeper-3.7.1/zkData/myid

#查看myid更改后的文本2#在slave2节点,先切换为hadoop用户身份[hadoop@slave2opt]$echo3>/opt/zookeeper-3.7.1/zkData/myid

#更改myid内容为2[hadoop@slave2opt]$cat/opt/zookeeper-3.7.1/zkData/myid

#查看myid更改后的文本346三、HBase完全分布式安装与配置(续)安装并启动Zookeeper集群在所有节点(master、slave1、slave2)分别启动Zookeeper

(以master节点为例)[hadoop@masteropt]$cd/opt/zookeeper-3.7.1/

#改变到zookeeper目录[hadoop@masterzookeeper-3.7.1]$bin/zkServer.shstart

#在master上启动zookeeperZooKeeperJMXenabledbydefaultUsingconfig:/opt/zookeeper-3.7.1/bin/../conf/zoo.cfgStartingzookeeper...STARTED全部启动完成后,在所有节点查看zookeeper状态(以master节点为例)内容为2、3[hadoop@masterzookeeper-3.7.1]$bin/zkServer.shstatus

#在master节点查看zookeeper状态ZooKeeperJMXenabledbydefaultUsingconfig:/opt/zookeeper-3.7.1/bin/../conf/zoo.cfgClientportfound:2181.Clientaddress:localhost.ClientSSL:false.Mode:follower[hadoop@masterzookeeper-3.7.1]$47三、HBase完全分布式安装与配置(续)在master节点,切换到hadoop用户,以hadoop用户身份解压缩HBase离线安装包文件[root@master

~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt

#改变到/opt目录[hadoop@masteropt]$tar-zxvfhbase-2.4.14-bin.tar.gz

#以hadoop用户身份解压缩安装包[hadoop@masteropt]$ll

#查看解压缩之后的hbase目录(以上内容略)drwxr-xr-x7hadoophadoop4.0K9月1521:05hbase-2.4.14-rw-r--r--1rootroot273M9月1321:02hbase-2.4.14-bin.tar.gzdrwxr-xr-x8rootroot4.0K8月921:49jdk1.8.0_341-rw-r--r--.1rootroot1.7K1月292022openEuler.repo[hadoop@masteropt]$du-chhbase-2.4.14/

#统计解压缩后hbase目录占用容量(以上内容略)16Khbase-2.4.14/hbase-webapps/rest732Khbase-2.4.14/hbase-webapps347Mhbase-2.4.14/347M总用量48三、HBase完全分布式安装与配置(续)在master节点,以hadoop用户身份创建或修改HBase相关配置文件,共需要配置四个配置文件,分别为:hbase-env.sh、regionservers、backup-master、hbase-site.xml[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt/hbase-2.4.14/conf/

#改变到HBase配置文件目录[hadoop@masterconf]$vihbase-env.sh

#编辑hbase-env.sh配置文件[hadoop@masterconf]$tailhbase-env.sh

#显示文件末尾增加的环境变量内容(以上内容略)#在配置文件末尾增加以下环境变量exportJAVA_HOME=/opt/jdk1.8.0_341/exportHBASE_MANAGES_ZK=false

#设置为false,使用独立的zookeeper#exportHBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true“[hadoop@masterconf]$hbase-env.sh配置文件增加以下环境变量:exportJAVA_HOME=/opt/jdk1.8.0_341等49三、HBase完全分布式安装与配置(续)[hadoop@masterconf]$viregionservers

#编辑配置文件[hadoop@masterconf]$catregionservers

#显示编辑完成后配置文件内容masterslave1slave2regionservers配置文件表示了HBase从节点服务器,将三个节点服务器名称填写其中即可[hadoop@masterconf]$vihbase-site.xml

#编辑配置文件内容[hadoop@masterconf]$cathbase-site.xml

#显示编辑完成后配置文件内容(其余内容略)

<!--设置HBase是否完全分布式部署--><property><name>hbase.cluster.distributed</name><value>true</value></property>(下页续)hbase-site.xml配置文件是HBase的主配置文件,包含了HBase与ZooKeeper的配置参数50三、HBase完全分布式安装与配置(续)(续上页)

<!--设置HBase在HDFS中的根目录--><property><name>hbase.rootdir</name><value>hdfs://master:8020/hbase</value></property><!--hbase文件异步读写控制--><property><name>vider</name><value>filesystem</value></property>(下页续)hbase-site.xml配置文件是HBase的主配置文件,包含了HBase与ZooKeeper的配置参数51三、HBase完全分布式安装与配置(续)(续上页)

<!--设置HBase的临时目录--><property><name>hbase.tmp.dir</name><value>./tmp</value>#目录./tmp(注意加一个点)

</property><!--避免HBase启动失败--><property><name>hbase.unsafe.stream.capability.enforce</name><value>false</value></property></configuration>[hadoop@masterconf]$hbase-site.xml配置文件是HBase的主配置文件,包含了HBase与ZooKeeper的配置参数主讲:方明清任务1HBase的安装部署与基本使用154三、HBase完全分布式安装与配置(续)从master节点分发安装配置好的HBase软件到其他从节点,包含:slave1、slave2[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt

#改变到/opt目录[hadoop@masteropt]$scp-rhbase-2.4.14hadoop@slave1:/opt/

#将HBase分发到slave1节点[hadoop@masteropt]$scp-rhbase-2.4.14hadoop@slave2:/opt/

#将HBase分发到slave2节点55因为HBase是基于Hadoop的,所以要启动HBase,首先要启动HDFS、YARN,按以下步骤启动HBase集群四、启动HBase集群HBase集群启动步骤01启动HDFS(在master节点)02启动YARN(在slave1节点)03在所有节点,检查HDFS、YARN启动情况04启动HBase(在master节点)05如果启动失败,分析故障原因及排除故障56四、启动HBase集群(续)在master节点,以hadoop用户身份登录,以hadoop用户身份启动HDFS[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$start-dfs.sh

#启动HDFS[hadoop@master~]$在slave1节点,以hadoop用户身份登录,以hadoop用户身份启动YARN[root@slave1~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@slave1~]$#已经切换为hadoop用户[hadoop@slave1~]$start-yarn.sh

#启动YARN[hadoop@slave1~]$在所有节点检查HDFS、YARN进程启动情况(以master节点为例)[hadoop@master~]$jps

#在master节点检查进程启动情况3057Jps1877DataNode1672NameNode2748NodeManager57四、启动HBase集群(续)在master节点,改变到HBase安装目录,运行bin/start-hbase.sh启动HBase服务[root@master~]#su–hadoop

#从root用户切换为hadoop用户[hadoop@master~]$#已经切换为hadoop用户[hadoop@master~]$cd/opt/hbase-2.4.14

#改变到HBase安装目录[hadoop@masterhbase-2.4.14]$bin/start-hbase.sh

#启动HBase服务SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/opt/hbase-2.4.14/lib/slf4j-reload4j-1.7.36.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:Foundbindingin[jar:file:/opt/hbase-2.4.14/lib/client-facing-thirdparty/slf4j-reload4j-1

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论