创建用户实操

1.创建用户god

  1. useradd god
  2. passwd god

2.设置ssh免密

  1. ssh-copy-id -i id_dsa node02

3.修改hdfs-site.xml中的ssh路径,并且分发

4.god

  1. start-dfs.sh

用户权限实操

  1. node01:
  2. su god
  3. hdfs dfs -mkdir /temp
  4. hdfs dfs -chown god:ooxx /temp
  5. hdfs dfs -chmod /temp
  6. node04:
  7. root:
  8. useradd good
  9. groupadd ooxx
  10. usermod -a -G ooxx good
  11. id good
  12. su good
  13. hdfs dfs -mkdir /temp/abc <失败
  14. hdfs groups
  15. good: <因为hdfs已经启动了,不知道你操作系统又偷偷摸摸创建了用户和组
  16. *node01:
  17. root:
  18. useradd good
  19. groupadd ooxx
  20. usermod -a -G ooxx good
  21. su god
  22. hdfs dfsadmin -refreshUserToGroupsMappings
  23. node04:
  24. good:
  25. hdfs groups
  26. good : good ooxx

HDFS-API实操

1.添加环境变量

  1. HADOOP_USER_NAME god

2.启动IDEA,创建一个Maven Project

Maven网址

  1. https://mvnrepository.com/

hdfs的pom文件:

  1. hadoop是由common,hdfs,yarn,mapreduce组成,maven中导包2.6.5版本

实际测试:

  1. package com.littlepage.hadoop.hdfs;
  2.  
  3. import org.apache.hadoop.conf.Configuration;
  4. import org.apache.hadoop.fs.*;
  5. import org.apache.hadoop.io.IOUtils;
  6. import org.junit.After;
  7. import org.junit.Before;
  8. import org.junit.Test;
  9. import java.io.*;
  10. import java.net.URI;
  11.  
  12. public class TestHDFS {
  13.  
  14. public Configuration conf=null;
  15. public FileSystem fs=null;
  16.  
  17. @Before
  18. public void conn(){
  19. try {
  20. conf=new Configuration(true);//true,为加载配置文件
  21. //fs=FileSystem.get(conf);
  22. //fs返回是参考了fs.defaltFS标签中的值,去环境变量取一个HADOOP_USER_NAME取一个值
  23. fs=FileSystem.get(URI.create("hdfs://mycluster/"),conf,"root");
  24. } catch (IOException e) {
  25. e.printStackTrace();
  26. } catch (InterruptedException e) {
  27. e.printStackTrace();
  28. }
  29. }
  30.  
  31. @Test
  32. public void mkdir() throws IOException {
  33. Path dir=new Path("/cccc");
  34. fs.mkdirs(dir);
  35. System.out.println("ok");
  36. }
  37.  
  38. @Test
  39. public void update() throws IOException {
  40. InputStream is= new BufferedInputStream(new FileInputStream(new File("data/hello.txt")));
  41. Path path=new Path("/xxx/out.txt");
  42. FSDataOutputStream outFile = fs.create(path);
  43. IOUtils.copyBytes(is,outFile,conf,true);
  44. }
  45.  
  46. @Test
  47. public void block() throws IOException {
  48. //获得区块
  49. Path file=new Path("/data.txt");
  50. FileStatus fsta=fs.getFileStatus(file);
  51. ; BlockLocation[] bl=fs.getFileBlockLocations(fsta,,fsta.getLen());
  52. for (BlockLocation b:bl) {
  53. System.out.println(b);
  54. }
  55. //这里可以进行计算,计算向数据移动
  56. FSDataInputStream in=fs.open(file);
  57. in.seek(bl.length);
  58. for(int i=;i<;i++){
  59. System.out.print((char)in.readByte());
  60. }
  61. }
  62.  
  63. @After
  64. public void close(){
  65. try {
  66. fs.close();
  67. } catch (IOException e) {
  68. e.printStackTrace();
  69. }
  70. }
  71. }

Big Data(六)用户权限实操&HDFS-API实操的更多相关文章

  1. CentOS7学习笔记(六) 用户权限管理

    用户.用户组与文件的关系 在了解权限管理之前先创建一些用户和用户组便于后续学习,在root用户下操作: # 创建两个用户组 [root@localhost data]# groupadd kaifa ...

  2. Linux运维六:用户管理及用户权限设置

    Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  3. 2_MVC+EF+Autofac(dbfirst)轻型项目框架_用户权限验证

    前言 接上面两篇 0_MVC+EF+Autofac(dbfirst)轻型项目框架_基本框架 与 1_MVC+EF+Autofac(dbfirst)轻型项目框架_core层(以登陆为例) .在第一篇中介 ...

  4. MySQL三层结构、用户权限、索引设计原则

    一.守护进程是什么? Linux Daemon(守护进程)是运行在后台的一种特殊进程.它独立于控制终端并且周期性地执行某种任务或等待处理某些发生的事件.它不需要用户输入就能运行而且提供某种服务,不是对 ...

  5. hive的用户和用户权限

    HiverServer2支持远程多客户端的并发和认证,支持通过JDBC.Beeline等连接操作.hive默认的Derby数据库,由于是内嵌的文件数据库,只支持一个用户的操作访问,支持多用户需用mys ...

  6. HDFS文件系统基操--Java实现

    Java实现对HDFS文件系统的基本操作 1.准备好jar包 2.创建一个类 1. 测试连接 @Test //测试是否连接成功 public void test() { //添加配置 ==> c ...

  7. Oracle 表空间和用户权限管理

    一. 表空间 Oracle数据库包含逻辑结构和物理结构. 数据库的物理结构指的是构成数据库的一组操作系统文件. 数据库的逻辑结构是指描述数据组织方式的一组逻辑概念以及它们之间的关系. 表空间是数据库逻 ...

  8. Asp.Net Core 项目实战之权限管理系统(7) 组织机构、角色、用户权限

    0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...

  9. 简单的Linux的用户权限管理

    企业生产环境用户权限集中管理方案案例 建立中要添加如下的项目经验: 在了解公司业务流程后,提出权限整改解决方案,改进公司超级用户Root权限泛滥的问题. 我首先写好方案后,给老大看,取得老大的支持后, ...

随机推荐

  1. 浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象

    ylbtech-浏览器端-3WSchool-JavaScript:JavaScript Boolean 对象 1.返回顶部 1. Boolean 对象 Boolean 对象表示两个值:"tr ...

  2. JS - neo4j-browser 初始化时运行命令的逻辑分析

    背景 最近需要改点 neo4j-browser 的代码做个 demo,分析初始化时运行命令的代码时花了很多时间,记录一下. 目的 找出 dispatch SINGLE_COMMAND_QUEUED a ...

  3. Android共享元素场景切换动画的实现

    安卓5.0系统引入了共享元素,能做出非常炫酷的场景切换效果,这让人非常兴奋同时非常蛋疼,因为低版本没法使用啊,所以今天就跟大家分享一下自己写的一个库,其实只有2个文件而已就可以兼容安卓5.0以下的版本 ...

  4. 三十二:数据库之SQLAlchemy.query函数可查询的数据和聚合函数

    准备工作 from sqlalchemy import create_engine, Column, Integer, String, Floatfrom sqlalchemy.ext.declara ...

  5. unittest 和 pytest 对比

    一.用例编写规则 1.unittest提供了test cases.test suites.test fixtures.test runner相关的类,让测试更加明确.方便.可控.使用unittest编 ...

  6. Java学习之==>JDBC

    一.概述 官方解释: JDBC(Java DataBase Connectivity,java数据库连接)是一种用于执行SQL语句的 Java API,可以为多种关系型数据库提供统一访问,它由一组用 ...

  7. 2018.04.02 matplotlib 图名,图例,轴标签,轴边界,轴刻度,轴刻度标签

    import numpy as np import pandas as pd import matplotlib.pyplot as plt df = pd.DataFrame(np.random.r ...

  8. HTTP Status 500 ? Internal Server Error

    getWriter()和getOutputStream()不能同时调用 HTTP Status 500 ? Internal Server Error Type Exception Report Me ...

  9. 慕课网_Java Socket应用---通信是这样练成的

    第1章 网络基础知识 1-1 网络基础简介 (10:21) 第2章 Java 中网络相关 API 的应用 2-1 Java 中的 InetAddress 的应用 (08:10) import java ...

  10. [转载]jsp上传文件

    JSP 可以与 HTML form 标签一起使用,来允许用户上传文件到服务器.上传的文件可以是文本文件或图像文件或任何文档. 本章节我们使用 Servlet 来处理文件上传,使用到的文件有: uplo ...