基础知识回顾(io/序列化/json/迭代器)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
中间添加:

dfs.namenode.rpc-address
linux01:8020



dfs.namenode.name.dir
/opt/hdpdata/name



dfs.datanode.data.dir
/opt/hdpdata/data



dfs.namenode.secondary.http-address
linux02:50090

命令:vi /opt/apps/hadoop-3.1.1/etc/hadoop/core-site.xml
中间添加:
fs.defaultFS
hdfs://linux01:8020

4.分发
命令:scp -r hadoop-3.1.1 linux02: P W D 命 令 : s c p − r h a d o o p − 3.1.1 l i n u x 03 : PWD 命令:scp -r hadoop-3.1.1 linux03: PWD:scprhadoop3.1.1linux03: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= P A T H : PATH: PATH:JAVA_HOME/bin: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值