hadoop学习日志

1|0hadoop

Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储
avatar
Hadoop实现了一个分布式文件系统( Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System

HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上

hadoop框架最核心的设计就是:HDFSMapReduce
HDFS为海量的数据提供了存储
MapReduce则为海量的数据提供了计算

1|1优点

高可靠性、高扩展性、高效性、高容错性、低成本

2|0基本命令

./bin/hdfs namenode -format 格式化 重启网络管理器 service network restart 暂时关闭防火墙 systemctl stop firewalld start-all.sh ./sbin/start-all.sh 启动所有的Hadoop守护进程。包括NameNode、 Secondary NameNode、DataNode、JobTracker、 TaskTrack stop-all.sh 停止所有的Hadoop守护进程 start-dfs.sh 启动Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode stop-dfs.sh 停止Hadoop HDFS守护进程NameNode、SecondaryNameNode和DataNode 查看指定目录下内容 hdfs dfs –ls [文件目录] hdfs dfs -ls -R //显示目录结构 将本地文件存储至hadoop hdfs dfs –put [本地地址] [hadoop目录] hdfs dfs –put /home/t/file.txt /user/t 将hadoop上某个文件down至本地已有目录下 hadoop dfs -get [文件目录] [本地目录] hadoop dfs –get /user/t/ok.txt /home/t 删除hadoop上指定文件 hdfs dfs –rm [文件地址] hdfs dfs –rm /user/t/ok.txt 在 /home/hadoop/hbase-2.2.3/bin 下 执行 cd $HBASE_HOME ./bin/start-hbase.sh 启动zookeeper cd /home/hadoop/apache-zookeeper-3.5.7-bin 启动命令:./bin/zkServer.sh start 停止命令:./bin/zkServer.sh stop 重启命令:./bin/zkServer.sh restart 状态查看命令:./bin/zkServer.sh status

HDFS
数据以文件方式直接存储
连续访问效率高
随机访问效率低

HBase
数据以索引格式特殊存储
连续访问效率低
随机访问效率高

3|0HBase

查看hbase服务器状态:status 查询Hbase版本:version 创建表 create ‘表名称’, ‘列族名称1’,‘列族名称2’,‘列族名称N’ create 'user','info' 创建namespace create_namespace 'test' 删除namespace drop_namespace 'test' 查看namespace describe_namespace 'test' 列出全部namespace list_namespace 在namespace下创建表 create 'test:user', 'info' 查看namespace下的表 list_namespace_tables 'test' 添加数据 put 'user','20070301', 'info:name', 'ljs' put 'user','20070301', 'info:age', '30' put 'user','20070301', 'info:sex', '1' 根据键值查询数据 get 'user','20070301' get 'user','20070301', 'info' 查看所有表 list 查看表结构: desc 'user' 查看表中的记录总数: count  '表名称' 查看META表数据 scan 'hbase:meta' scan 'hbase:meta', {COLUMNS => 'info:regioninfo'} 查询整表 scan 'user' 查询多条数据 scan 'user',{COLUMNS =>'info',LIMIT =>2, STARTROW => '20070101',STOPROW=>'20100101'} scan 'user', {COLUMNS =>'info', TIMERANGE => [1519368887635, 1519369047487]} 根据行的前缀过滤 scan 'user', FILTER => "PrefixFilter ('2007')" 根据列的前缀过滤 scan 'user', FILTER=>"ColumnPrefixFilter('name')" 根据ValueFilter的值过滤 scan 'user', {FILTER=>"ValueFilter(=,'substring:ljs')"} scan 'user', FILTER=>"ColumnPrefixFilter('name') AND ValueFilter(=,'substring:ljs')" 根据RowFilter的值过滤 scan 'user', FILTER=>"RowFilter(<=,'binary:20170301')" 根据FamilyFilter的值过滤 scan 'user', FILTER=>"FamilyFilter(=,'substring:info')" 根据rowkey里面包含的值过滤 import org.apache.hadoop.hbase.filter.CompareFilter import org.apache.hadoop.hbase.filter.SubstringComparator import org.apache.hadoop.hbase.filter.RowFilter scan 'user', {FILTER => RowFilter.new(CompareFilter::CompareOp.valueOf('EQUAL'), SubstringComparator.new('2007'))} 删除记录 delete  '表名' ,'行名称' , '列名称’ delete 'user', '20070301', 'info:age‘ drop 表 disable 'user' drop 'user' HBase Shell脚本 可以把所有的HBase Shell命令写入一个文件内,像Linux Shell脚本程序一样,顺序执行所有命令. hbase shell test.sh

__EOF__

本文作者InsiApple
本文链接https://www.cnblogs.com/InsiApple/p/16191391.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   InsiApple  阅读(30)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· 因为Apifox不支持离线,我果断选择了Apipost!
点击右上角即可分享
微信分享提示