HBase集群安装部署(完全分布式)
来源:互联网 发布:2016网络暴力事例 编辑:程序博客网 时间:2024/06/08 04:15
zookeeper 配置
1. Zookeeper服务集群规模不小于三个节点,要求各服务之间系统时间要保持一致。
2. 在m1的usr/local目录下,解压缩zookeeper(执行命令tar –zvxf zookeeper.tar.gz)
3. 设置环境变量
打开/etc/profile文件!内容如下:
#set java & hadoopexport JAVA_HOME=/usr/local/program/jdkexport HADOOP_HOME=/usr/local/program/hadoopexport ZOOKEEPER_HOME=/usr/local/program/zookeeperexport PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH
注:修改完后profile记得执行source /etc/profile
4. 在解压后的zookeeper的目录下进入conf目录修改配置文件
更名操作:mv zoo_sample.cfg zoo.cfg
5. 编辑zoo.cfg (vi zoo.cfg)
修改dataDir=/usr/local/program/zookeeper/data/
新增server.0=m1:2888:3888
server.1=s1:2888:3888
server.2=s2:2888:3888
文件如下:
# The number of milliseconds of each ticktickTime=2000# The number of ticks that the initial # synchronization phase can takeinitLimit=10# The number of ticks that can pass between # sending a request and getting an acknowledgementsyncLimit=5# the directory where the snapshot is stored.# do not use /tmp for storage, /tmp here is just # example sakes.dataDir=/usr/local/program/zookeeper/data# the port at which the clients will connectclientPort=2181## Be sure to read the maintenance section of the # administrator guide before turning on autopurge.## http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance## The number of snapshots to retain in dataDir#autopurge.snapRetainCount=3# Purge task interval in hours# Set to "0" to disable auto purge feature#autopurge.purgeInterval=1 server.0=m1:2888:3888server.1=s1:2888:3888server.2=s2:2888:3888
注:
server.0=m1:2888:3888server.1=s1:2888:3888server.2=s2:2888:3888
这三行为配置zookeeper集群的机器(m1、s1、s2)分别用server.0和server.1、server.2标识,2888和3888为端口号(zookeeper集群包含一个leader(领导)和多个fllower(随从),启动zookeeper集群时会随机分配端口号,分配的端口号为2888的为leader,端口号为3888的是fllower)
6. 创建文件夹mkdir /usr/local/program/zookeeper/data
7. 在data目录下,创建文件myid,值为0 (0用来标识m1这台机器的zookeeper )
到此为止 m1上的配置就已经完成;接下来配置s1和s2.
8. 把zookeeper目录复制到s1和s2中(scp –r /usr/local/program/zookeeper s1:/usr/local/program/zookeeper)
9. 把修改后的etc/profile文件复制到s1和s2中
(复制完后记得在s1和s2中执行命令source /etc/profile)
10. 把s1中相应的myid中的值改为1,s2中相应的myid中的值改为2
11. 启动,在三个节点上分别执行命令zkServer.sh start
12. 检验,在三个节点上分别执行命令zkServer.sh status
zookeeper的shell操作
启动zookeeper:zkServer.sh start
进入zookeeper:zkCli.sh
hbase配置
HBase(NoSQL)的数据模型
1.1 表(table),是存储管理数据的。
1.2 行键(row key),类似于MySQL中的主键。
行键是HBase表天然自带的。
1.3 列族(column family),列的集合。
HBase中列族是需要在定义表时指定的,列是在插入记录时动态增加的。
HBase表中的数据,每个列族单独一个文件。
1.4 时间戳(timestamp),列(也称作标签、修饰符)的一个属性。
行键和列确定的单元格,可以存储多个数据,每个数据含有时间戳属性,数据具有版本特性。
如果不指定时间戳或者版本,默认取最新的数据。
1.5 存储的数据都是字节数组。
1.6 表中的数据是按照行键的顺序物理存储的。
2.HBase的物理模型
2.1 HBase是适合海量数据(如20PB)的秒级简单查询的数据库。
2.2 HBase表中的记录,按照行键进行拆分,拆分成一个个的region。
许多个region存储在region server(单独的物理机器)中的。
这样,对表的操作转化为对多台region server的并行查询。
3.HBase的体系结构
3.1 HBase是主从式结构,HMaster、HRegionServer
HBase的伪分布
1. 在m1上解压缩、重命名、设置环境变量HBASE_HOME
如下:
#set java & hadoopexport JAVA_HOME=/usr/local/jdkexport HADOOP_HOME=/usr/local/hadoopexport ZOOKEEPER_HOME=/usr/local/zookeeperexport HBASE_HOME=/usr/local/hbaseexport PATH=.:$HADOOP_HOME/bin:$ZOOKEEPER_HOME/bin:$HBASE_HOME/bin:$JAVA_HOME/bin:$PATH
注:修改完成后记得source /etc/profile
2. 修改文件$HBASE_HOME/conf/hbase-env.sh,修改内容如下
export JAVA_HOME=/usr/local/jdk export HBASE_MANAGES_ZK=true
3. 修改文件hbase-site.xml,修改内容如下
<property> <name>hbase.rootdir</name> <value>hdfs://m1:9000/hbase</value> </property> <property> <name>hbase.cluster.distributed</name> <value>true</value> </property> <property> <name>hbase.zookeeper.quorum</name> <value>m1</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property>
4. (可选)修改regionservers,具体操作见ppt
5. 启动,执行命令start-hbase.sh
注意:启动hbase之前要先启动hadoop,确保hadoop可写入数据。
HBase的完全分布集群
1.hbase的机群搭建过程(在原来的m1上的hbase伪分布基础上进行搭建)
1.1 集群结构,主节点(hmaster)是m1,从节点(region server)是s1和s2
1.2 修改m1上的hbase的几个文件
(1)修改hbase-env.sh的最后一行export HBASE_MANAGES_ZK=false
(2)修改hbase-site.xml文件的hbase.zookeeper.quorum的值为m1,s1,s2
(3)修改regionservers文件(存放的region server的hostname),内容修改为s1、s2
1.3 复制m1中的hbase文件夹到s1、s2中
复制m1中的/etc/profile到s1、s2中,在s1、s2上执行source /etc/profile
1.4 启动集群
Ø 首先启动hadoop(在m1上start-all.sh),
Ø 然后启动zookeeper集群(分别在三台机器上zkServer.sh start;可以使用zkServer.sh status查看zk的状态)。
Ø 最后在m1上启动hbase集群(start-hbase.sh)。
HBase Shell操作(增删改查)
说明:
hbase提供了一个shell的终端给用户交互
创建表
>create 'users','user_id','address','info'
(说明:表users,有三个列族user_id,address,info)
列出全部表
>list
得到表的描述
>describe 'users'
创建表
>create 'users_tmp','user_id','address','info'
删除表
>disable 'users_tmp'>drop 'users_tmp'
添加记录
put ‘表名’,’行键(标识)’,’列族:字段’,’数值’
示例:
put 'users','xiaoming','info:age','24';put 'users','xiaoming','info:birthday','1987-06-17';put 'users','xiaoming','info:company','alibaba';put 'users','xiaoming','address:contry','china';put 'users','xiaoming','address:province','zhejiang';put 'users','xiaoming','address:city','hangzhou';put 'users','zhangyifei','info:birthday','1987-4-17';put 'users','zhangyifei','info:favorite','movie';put 'users','zhangyifei','info:company','alibaba';put 'users','zhangyifei','address:contry','china';put 'users','zhangyifei','address:province','guangdong';put 'users','zhangyifei','address:city','jieyang';put 'users','zhangyifei','address:town','xianqiao'
获取一条记录
1. 取得一个id的所有数据
>get 'users','xiaoming'
2. 获取一个id,一个列族的所有数据
>get 'users','xiaoming','info'
3. 获取一个id,一个列族中一个列的所有数据
>get 'users','xiaoming','info:age'
更新记录
>put 'users','xiaoming','info:age' ,'29'>get 'users','xiaoming','info:age'>put 'users','xiaoming','info:age' ,'30'>get 'users','xiaoming','info:age'
获取单元格数据的版本数据
>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>1}>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>2}>get 'users','xiaoming',{COLUMN=>'info:age',VERSIONS=>3}
获取单元格数据的某个版本数据
〉get 'users','xiaoming',{COLUMN=>'info:age',TIMESTAMP=>1364874937056}
全表扫描
>scan 'users'
删除xiaoming值的'info:age'字段
>delete 'users','xiaoming','info:age'>get 'users','xiaoming'
删除整行
>deleteall 'users','xiaoming'
统计表的行数
>count 'users'
清空表>truncate 'users'
- HBase集群安装部署(完全分布式)
- hbase 集群(完全分布式)方式安装
- HBase完全分布式集群安装
- 完全分布式HBase集群安装配置
- 完全分布式HBase集群安装配置
- Hadoop完全分布式集群安装Hbase
- Hadoop完全分布式集群安装Hbase
- Hbase-0.96.2完全分布式安装部署
- Spark集群完全分布式安装部署
- HBase分布式集群部署
- HBase入门笔记(四)--完全分布式HBase集群安装配置
- HBase入门笔记(四)--完全分布式HBase集群安装配置
- hadoop2.5.1集群部署(完全分布式)
- 搭建HBase完全分布式集群
- 完全分布式安装HBase
- HBase完全分布式安装
- HBase完全分布式安装
- Hbase完全分布式安装
- note:SMO算法存在致命缺陷
- nvidia新老双显卡,导致驱动无法安装
- Linux下mmap函数详解
- 金融APP安全分析
- 如何使用前置声明取代包括头文件
- HBase集群安装部署(完全分布式)
- LLDB vs GDB
- 整合 jquery ajaxfileupload 文件异步上传实例
- ffmpeg中视频帧的缩放转换处理基础知识
- ndk开发实现代码提示
- 约炮不如约战,运动库app强势上市
- 【DEDE织梦】内容发布 文章内容 为空 无法输入 的解决办法
- KK凯文.凯利:第一届中国社群领袖峰会演讲实录(全部版)
- oracle三对内存参数间关系之2AMM机制涉及的一对参数间的关系探讨