HADOP----hadoop简介 HDFS的安装

基础知识回顾

 IO
        在程序中IO流是阻塞的,支持随机读取数据,不支持修改数据
        long skip=fis.skip(long): 读取文件跳过n个字节   1k=1024byte
 序列化
        将内存中的对象存储在磁盘上,或者是将对象通过网络传输! 需要对象实现序列化, 
        本质:序列化就是对象转二进制的规则,反序列化就是将二进制转化成对象规则
        java中有自己的序列化机制实现接口(Serializable)
        序列化将对象持久化到磁盘(持久化 钝化)
        反序列将磁盘上的对象数据反序列化成java对象(活化)
        JSON: 保证存储的数据比Serializable方式存储的数据少 网络传输节省资源
 自定义序列化规则
        1.定义一个接口(writeable) 有读写方法
        2.要序列化的java类实现接口 重写读写规则(序列化规则)
        3.测试使用 调用读写方法实现序列化和反序列化
        WriteUTF WriteInt WrinteDouble:分开读写(直接写属性到磁盘)
        优点:灵活 方便 数据量小 读取要按照存储是顺序来读
 自定义Iterable接口
        在不知道数据结构和数据条数的情况下使用 实现Iterable接口重写hasnext和next方法

hadoop简介

     hadoop是一个大数据的技术(框架)
    主要大数据的问题
            海量数据的存储 海量数据的运算 多台机器的资源调配(储存资源 运算资源)
            1 海量数据的存储    HDFS hadoop distribute filesystem
            2 海量的数据的运算 MapReduce运算框架
            3 运算资源调度和任务监控平台 Yarn
            4 工具包 commons
    特点
        1. 高容错 高可用
        2. 极易扩展集群规模 增强存储能力和计算能力
        3. 廉价性 对机器的要求不高
        
HDFS简介
        HDFS分布式文件系统: hadoop distribute filesystem
        文件系统: 读写 读写数据 上传数据 删除数据 创建文件夹 移动 复制... 提供虚拟的访问目录 
        mysql是文件系统: 关系型数据(行数据) 条数据单位 针对某一条数据的增删改查
        
分布式文件系统
        1.数据存储的时候 要切块存储        128M
        2.数据存储的时候 要存储3个备份
        3.为客户端提供统一的访问目录
                虚拟目录--->数据块真正存储在哪个机器的哪个位置(生成元数据)
        主节点
            1) 管理虚拟路径
            2) 管理存储数据的节点(多个)
            3) 接收客户端的读写请求

HDFS安装

 1.上传

上传的路径:/opt/apps
命令:rz

2.解压

命令:tar -zxvf hadoop-3.1.1.tar.gz  (v可以省略 不看具体解压内容)
bin:客户端的命令

etc:配置目录
include:依赖包
sbin:超级命令 集群的启停
share:文档和jar包

3.配置
            命令:vi  /opt/apps/hadoop-3.1.1/etc/hadoop/hadoop-env.sh
            第二行添加:export JAVA_HOME=/opt/apps/jdk1.8.0_141/
            命令:vi  /opt/apps/hadoop-3.1.1/etc/hadoop/hdfs-site.xml
            <configuration>中间添加:<!-- 集群的namenode的位置  datanode能通过这个地址注册-->
                <property>
                    <name>dfs.namenode.rpc-address</name>
                    <value>linux01:8020</value>
                </property>
                 <!-- namenode存储元数据的位置 -->
                <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>/opt/hdpdata/name</value>
                </property>
                 <!-- datanode存储数据的位置 -->
                <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>/opt/hdpdata/data</value>
                </property>
                 <!-- secondary namenode机器的位置-->
                <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>linux02:50090</value>
                </property>
            命令:vi /opt/apps/hadoop-3.1.1/etc/hadoop/core-site.xml
            <configuration>中间添加:<property>
                                <name>fs.defaultFS</name>
                                <value>hdfs://linux01:8020</value>
                                </property>

  4.分发
            命令:scp -r  hadoop-3.1.1  linux02:$PWD
            命令:scp -r  hadoop-3.1.1  linux03:$PWD

  5.初始化
            在bin目录下执行
            命令: ./hadoop  namenode -format
            在/opt/hdpdata/name
  6.启动
            在sbin目录下执行
            命令: ./hadoop-daemon.sh     start  namenode  
            jps  出现Namenode进程
            访问页面   http://linux01:9870
  7.配置系统环境变量
            命令:vi  /etc/profile
            末尾添加:
                    export  JAVA_HOME=/opt/apps/jdk1.8.0_141
                    export  HADOOP_HOME=/opt/apps/hadoop-3.1.1
                    export  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

            配完之后: 命令: source /etc/profile  (作用于整个作用域)    
  8.一键启停
            在  etc/hadoop/workers 配置 需要启动DataNode的机器名
            添加: linux01  linux02  linux03
            命令: vi sbin/start-dfs.sh
            行首添加:

                     #!/usr/bin/env bash
                     HDFS_DATANODE_USER=root
                     HADOOP_SECURE_DN_USER=hdfs
                     HDFS_NAMENODE_USER=root
                     HDFS_SECONDARYNAMENODE_USER=root

            命令: vi sbin/stop-dfs.sh
            行首添加:#!/usr/bin/env bash
                     HDFS_DATANODE_USER=root
                     HADOOP_SECURE_DN_USER=hdfs
                     HDFS_NAMENODE_USER=root
                     HDFS_SECONDARYNAMENODE_USER=root
            
            启动: ./start-dfs.sh
            关闭: ./stop-dfs.sh
        
        
        
        
        
        
        
        
            
            
    

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值