发自简书
master 192.168.179.129
worker1 192.168.179.130
worker2 192.168.179.131
操作系统Ubuntu 18.04.2
以下所有步骤在start-all.sh之后Hadoop入门(二)HDFS集群
tar -xzvf hbase-2.2.0-bin.tar.gz
sudo vim /etc/profile
export JAVA_HOME=/usr/java/jdk1.8.0_221
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH:$HIVE_HOME/bin:$HADOOP_HOME/bin:$HBASE_HOME/bin
export HADOOP_HOME=/home/njupt4145438/Downloads/hadoop-3.1.2
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_HOME=/home/njupt4145438/Downloads/apache-hive-2.3.5-bin
export HBASE_HOME=/home/njupt4145438/Downloads/hbase-2.2.0
source /etc/profile
vim hbase-2.2.0/conf/hbase-env.sh
设置jdk路径
![](https://img.haomeiwen.com/i16562228/77e33adb91a658da.png)
使用hbase自带的zookeeper
![](https://img.haomeiwen.com/i16562228/f50b1f13f28208b9.png)
修改hbase-site.xml
vim hbase-2.2.0/conf/hbase-site.xml
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>192.168.179.129</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>hbase.unsafe.stream.capability.enforce</name>
<value>false</value>
</property>
</configuration>
修改regionservers
worker1
worker2
分发到其他节点
scp -r njupt4145438@192.168.179.129:/home/njupt4145438/Downloads/hbase-2.2.0 /home/njupt4145438/Downloads/
在启动hadoop的dfs.sh后启动hbase
bin/start-hbase.sh
![](https://img.haomeiwen.com/i16562228/5d719bfa4115c14e.png)
![](https://img.haomeiwen.com/i16562228/9303060348453f08.png)
![](https://img.haomeiwen.com/i16562228/cd352006d32d0f99.png)
bin/hbase shell
![](https://img.haomeiwen.com/i16562228/ea0b3e4887526d92.png)
创建普通表
步骤 1创建普通表的语法为:create ‘表的名称’,‘列族的名称’。
输入命令:
> create 'cga_info','info'
0 row(s) in 0.3620 seconds
=> Hbase::Table - cga_info
创建表“cga_info”成功。
list 功能:查看系统中共有多少个普通表。
> list
创建namespace
创建namespace的语法为:create_namespace ‘名称‘。
> create_namespace 'nn'
cga_info
Socker
t1
3 row(s) in 0.2300 seconds
=> ["cga_info", "socker", "t1"]
0 row(s) in 0.1280 seconds
在指定namespace下创建表
在指定namespace下创建表:create ‘namespace的名称:表名‘,‘列族‘。
> create 'nn:student','info'
0 row(s) in 0.2680 seconds
=> Hbase::Table - nn:student
查看指定namespace下的表
查看指定namespace下的表:list_namespace_tables ‘namespace的名称‘’。
> list_namespace_tables 'nn'
TABLE
student
1 row(s) in 0.0220 seconds
增加数据
增加数据:put ‘表的名称‘,‘RowKey’,‘列的名称’,‘具体的赋值’。
将一个名字为Kobe,居住在洛杉矶的40岁男人的信息输入到表“cga_info”中:
> put 'cga_info','123001','info:name','Kobe'
0 row(s) in 0.1580 seconds
> put 'cga_info','123001','info:gender','male'
0 row(s) in 0.0390 seconds
> put 'cga_info','123001','info:age','40'
0 row(s) in 0.0250 seconds
> put 'cga_info','123001','info:address','Los Angeles'
0 row(s) in 0.0170 seconds
get方式查询数据
步骤 1get 功能:精确查询。
精确查询某一个RowKey中存储的内容:get ‘表的名称‘,’RowKey‘
> get 'cga_info','123001'
COLUMN CELL
info:address timestamp=1523350574004, value=Los Angeles
info:age timestamp=1523350540131, value=40
info:gender timestamp=1523350499780, value=male
info:name timestamp=1523350443121, value=Kobe
4 row(s) in 0.0540 seconds
精确查询某一个RowKey中的一个单元格中存储的内容。
语法:get ‘表的名称‘,’RowKey‘,‘列名’
> get 'cga_info','123001','info:name'
COLUMN CELL
info:name timestamp=1523350443121, value=Kobe
1 row(s) in 0.0310 seconds
网友评论