数据量进制:
1bit=1位 1byte=8bit 1kb=1024b 1m=1024kb
1g=1024m 1t=1024g 1p=1024t 1e=1024p
1z=1024e 1y=1024z
大量数据存储方式:
1.分割方式
--分布式文件存储系统(DFS:distributed file system Hadoop是基于DFS的HDFS)
2.运算
--基于Google的MapReduce算法(Map(映射)---->reduce(化简))
Hadoop:
解决问题:
--海量数据的存储(HDFS--Hadoop分布式文件管理系统)
--海量数据的分析(MapReduce--分布式计算模型--离线数据处理)
--海量资源的调度(YARN--资源管理调度系统--在线数据处理)
YARN的产生:
--支持MR离线计算框架
--支持Storm实时计算框架
--支持Spark内存计算框架
HDFS的架构:
--主从结构
---主节点,hadoop1.0中只有一个:namenode;hadoop集群模式中可以有多个。
---从节点:有很多个:datanodes
--namenode负责:
---接收用户操作请求
---维护文件系统的目录结构
---管理文件与block之间的关系,block与datanode之间的关系
--datanode负责:
---存储文件
---文件被分成block存储在磁盘上
---为保证数据安全,文件会有多个副本
部署方式:
--本地模式:只能启用一个Map一个Reduce
--伪分布式模式:通过一台机器模拟分布式部署,开发学习使用较多。
--集群模式:上线模式。上百千台节点。
CentOS的安装:
下载iso镜像文件,安装VMware,新建虚拟机,这里以CentOS7.0为例。
iso下载地址
https://www.centos.org/download/
CentOS7.0安装具体教程百度上很多。推荐一个比较详细的。
https://blog.csdn.net/qq_33233768/article/details/74929702
记一下出现问题时的解决办法:
1. 修改主机名
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop
2. 修改主机名和IP的映射关系
vim /etc/hosts
192.168.0.2 hadoop
3. CentOS7关闭/开启防火墙出现Unit iptables.service failed to load: No such file or directory
解决方式1:
在CentOS 7或RHEL 7或Fedora中防火墙由firewalld来管理,
如果要添加范围例外端口 如 1000-2000
语法命令如下:启用区域端口和协议组合
firewall-cmd [--zone=<zone>] --add-port=<port>[-<port>]/<protocol> [--timeout=<seconds>]
此举将启用端口和协议的组合。端口可以是一个单独的端口 <port> 或者是一个端口范围 <port>-<port> 。协议可以是 tcp 或 udp。
实际命令如下:
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
firewall-cmd --zone=public --add-port=1000-2000/tcp --permanent
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
解决方式2:
可以还原传统的管理方式。
执行一下命令:
systemctl stop firewalld
systemctl mask firewalld
并且安装iptables-services:
yum install iptables-services
设置开机启动:
systemctl enable iptables
systemctl stop iptables
systemctl start iptables
systemctl restart iptables
systemctl reload iptables
保存设置:
service iptables save
OK,再试一下应该就好使了
开放某个端口 在/etc/sysconfig/iptables里添加
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
常用命令:Tab键快速补全
ctrl+C:结束程序
进入指定路径: cd (~--进入home主目录) cd..返回上级目录
显示目录: ls (-al--显示详细信息)文件描述后有点的都属于隐藏文件
显示当前目录:pwd
显示当前登陆用户:whoami
修改密码:sudo passwd (修改密码时,没有设置过root用户密码,应该先要su root,然后ctrl+C结束当前任务然后再设置密码)
切换光标:ctrl+alt
显示当前ip详情:ifconfig
创建目录:mkdir
删除目录:rmdir (需返回上一级再删除目录)
递归强制删除目录:rm -R -F
创建文件:touch
复制文件:cp 旧文件 新文件
移动(剪切)文件:mv 文件 目录(放到上级目录:mv a.txt ../)
移动文件可以重命名文件:mv a.txt aa.txt(将a.txt重命名为aa.txt)
输入到文本:echo 内容 >> 文件名(echo helloworld >> a.txt)
覆盖内容输入到文本 :echo 内容 > 文件名
输出文本内容:cat
查看帮助:man 例如:man ls 按q退出
分屏显示:more 例如:man ls | more 按d分屏显示
显示末尾行数:tail 例如:man ls | tail -10 显示最后10行
显示头行数:head 例如:man ls | head -10 显示开始的10行
ping命令。ping通网络。
查看主机名称:hostname
重启:sudo reboot
查询:find 过滤管道查询:find ~ | grep .txt 查询~下的所有以.txt结尾的文件
显示操作系统详细信息:uname -a
显示文件类型:file ×××.so 以.so结尾都是动态链接库文件。
解压归档文件:tar -xvzf
压缩文件:gzip(直接压缩文件,不保留源文件)、gunzip(原地解压)
挂载光驱:sudo mount 、卸载光驱:sudo umount(加上sudo即表示使用root权限)
显示进程信息:ps -Af(-a:显示全部 -f:显示全部格式)若一屏显示不了可以使用管道操作 | more,按D换屏显示。
显示帮助信息:help 显示详细信息:man
常用目录和权限:
Linux下可执行文件、配置文件、是单独抽取、分门别类的放置,与window下不同。
/:根目录,所有目录的根目录
可执行文件:
/bin:binary文件,二进制文件,可执行文件
/sbin:superbinary,二进制文件,可执行文件
/boot:引导目录
/etc:配置目录
/mnt:mount,挂载目录
/home:主目录。使用这的个人信息存放在home目录下。
/dev :device 设备目录
/usr:UNIX system resource 系统资源文件夹.存放Linux软件包。
文件类型:
d:directory 文件目录
-:文件
c:字符文件
l:link 符号链接。相当于快捷方式。
b:block 块文件。硬盘属于块文件。
权限:
三种身份:
--文件的拥有者 User U rwx (read write execute)
--拥有者所在的组 group G
--其他的身份 other O
a+rwx 赋予所有权限
权限控制可以使用二进制:
user group other
rwx rwx rwx
000 000 000
111 111 111 按照二进制换算777即为所有权限
改变权限:chmod 例如让其他人拥有写权限:chmod O+W b.txt