【云计算】HBase体系、HDFSAPI基本操作解析
小标 2018-12-13 来源 : 阅读 1116 评论 0

摘要:本文主要向大家介绍了【云计算】HBase体系、HDFSAPI基本操作解析,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。

本文主要向大家介绍了【云计算】HBase体系、HDFSAPI基本操作解析,通过具体的内容向大家展现,希望对大家学习云计算有所帮助。


HBase的体系结构


1、主从结构:
            主节点:HMaster
            从节点:RegionServer

2、基于HDFS上的NOSQL数据库
       HBase             HDFS
       表    -------->   目录
       数据  --------->  文件


主从结构的单点故障问题


1、小结:主从结构



            主节点             从节点
HDFS       NameNode           DataNode
Yarn       ResourceManager    NodeManager
HBase      HMaster            RegionServer
Storm      Nimbus             Supervisor
Spark      Master             Worker


2、主从结构的单点故障问题


HDFS


1、Web Console:网页 端口 50070

2、命令行

(1) 操作命令: hdfs dfs ***** 命令



-mkdir:  创建目录  -p 先创建父目录

-ls      查看某个HDFS的目录
-ls -R   查看某个HDFS的目录,包括子目录
-lsr     查看某个HDFS的目录,包括子目录


-put              上传文件
-copyFromLocal    上传文件

-moveFromLocal    上传文件 相当于剪切
     
-copyToLocal       下载文件
-get               下载文件

-rm                 删除目录
-rmr     举例:hdfs dfs -rmr /output

        日志:
  17/09/10 21:27:53 INFO fs.TrashPolicyDefault: Namenode trash configuration: Deletion interval = 0 minutes, Emptier interval = 0 minutes.
  Deleted /output

-getmerge:将某个HDFS下的文件,先合并,再下载

-cp      拷贝
-mv      移动

-count    hdfs dfs -count /students
-du
-text、-cat

balancer: 平衡操作


(2) 管理命令: hdfs dfsadmin *****



-report
-safemode
 [root@tanzhou111 ~]# hdfs dfsadmin -safemode
 Usage: hdfs dfsadmin [-safemode enter | leave | get | wait]
 [root@tanzhou111 ~]# hdfs dfsadmin -safemode get
 Safe mode is OFF
 [root@tanzhou111 ~]# hdfs dfsadmin -safemode enter
 Safe mode is ON
 [root@tanzhou111 ~]# hdfs dfs -mkdir /aaaa
 mkdir: Cannot create directory /aaaa. Name node is in safe mode.
 [root@tanzhou111 ~]# hdfs dfsadmin -safemode leave


Java API程序



 

Java Eclipse的安装和基本工程的建立配置,在xxx中记载

 本次 的测试只在Junit下进行测试



例1:利用java api 创建文件夹


(1) 依赖的jar包



/root/training/hadoop-2.7.3/share/hadoop/common
/root/training/hadoop-2.7.3/share/hadoop/common/lib

/root/training/hadoop-2.7.3/share/hadoop/hdfs
/root/training/hadoop-2.7.3/share/hadoop/hdfs/lib


(2)方法



1).在java中修改环境变量
2).-D参数: 要求:获取命令行的参数
3).chmod将文件权限改为777
4).修改hadoop权限为false


1).在java中修改环境变量

使用System.setProPerty("HADOOP_USER_NAME","root"),告诉HDFS我是root用户



public class TestDemo{
    @Test
    public void createf1() throws Exception{
        System.setProPerty("HADOOP_USER_NAME","root");
        //1.配置HDFS的主节点:NameNode
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS","hdfs://192.168.142.111:9000");
        //2获取客户端
        FileSystem fs = FileSystem(conf);
        //3.建立目录
        fs.mkdir(new Path("/folder1"));
    }
}


2).-D参数: 要求:获取命令行的参数

相当于使用-D参数在命令行输入时,充当全局变量,在任何函数都可以调用

1.编写TestD类



public class TestD{
    public static void main(String[],args){
        
        method1();
    }
    public static method1(){
        String name = System.getProPerty("user");
        String age = System.getProPerty("age");
        System.out.println(name+"  "+age);
    }
    
}


2.在命令行执行javac TestD.java编译

3.在命令行执行java -Duser=Lion -Dage=23 TestD.java执行结果为



Lion  23


3).chmod将文件权限改为777

环境:linux

原理:将文件的权限改为777,所有用户都可读,可写,可执行

方法:



hdfs dfs -chmod 777 /folder1


环境:Windows Eclipse Java

原理:Java Api

方法:



public class TestDemo{
    @Test
    public void createf1() throws Exception{
        //1.配置HDFS的主节点:NameNode
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS","hdfs://192.168.142.111:9000");
        //2获取客户端
        FileSystem fs = FileSystem(conf);
        //3.建立目录
        fs.mkdir(new Path("/folder1"));
    }
}


4).修改hadoop权限为false(最彻底)


原理:关闭HDFS的权限检查,HDFS不进行权限诊断

环境:Linux

方法:修改HDFS的配置文件/root/training/hadoop-2.7.3/etc/hadoop/hdfs-site.xml



#关闭HDFS的权限检查

   dfs.permissions
   false



环境:Windows Eclipse Java

原理:Java Api

方法:



public class TestDemo{
    @Test
    public void createf1() throws Exception{
        //1.配置HDFS的主节点:NameNode
        Configuration conf = new Configuration();
        conf.set("fs.defaultFS","hdfs://192.168.142.111:9000");
        //2获取客户端
        FileSystem fs = FileSystem(conf);
        //3.建立目录
        fs.mkdir(new Path("/folder1"));
    }
}


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标大数据云计算大数据安全频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved