Hadoop笔记

1.hadoop环境搭建,linux命令(vi);2.分布式的基本概念,cap理论(遵循此原则开发分布式数据库),hdfs,mapreduce;3.3.1;3.2重点;4.map,reduce过程,优缺点(第一二个版本);5.hbase,nosql;6.6.3;7.sqoop;8.Zookeeper,yarn,mapreduce优缺点解决问题

分布式和集群

分布式:多台机器,每台机器上有不同的组件

集群:多台机器,每台机器上部署相同的组件

Linux操作系统

操作系统概念

1.os是管理计算机硬件和软件资源的程序

2.裸机:没有操作系统的机器

3.os也提供一个让用户与系统交互的操作界面

Linux操作系统=linux Kernel+GNU软件及系统软件+必要的应用程序

SSH

SSH协议

SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。  在Linux中,SSH的主要用途有:用户加密实现远程登录、服务器之间的免密登录。  SSH协议默认采用RSA算法实现非对称加密,需要两个密钥:公开密钥(public key:简称公钥)和私有密钥( private key:简称私钥)。  公钥与私钥是一对,如果用公钥对数据进行加密,只有用对应的私钥才能解密。

SSH加密实现远程登录

企业中,Linux服务器通常位于远程机房中,用户不方便直接在机房操作;

可以使用支持SSH协议的软件,通过远程登录操作访问服务器,并且SSH协议可以实现对传输内容的加密。

原理如图所示。

Linux常用基础命令

Linux文件系统

文件管理系统:操作系统中负责管理和存储文件信息的软件机构

目录树结构:从斜杠/根目录开始

当前路径(.):也叫当前工作目录,当下用户所属的位置;

相对路径:相对当前工作目录开始的路径,会随当前路径变化而变化;

绝对路径:不管工作目录在哪,绝对路径都是从/根目录开始,唯一不重复。

特殊符号

. 目录或者文件名字以.开始表示是隐藏的文件,如果路径以.开始表示当前路径

.. 当前目录的上一级目录

~ 当前用户的home目录,比如root用户home目录是/root

/ 根目录

Linux命令帮助手册

Linux 命令大全 | 菜鸟教程

Linux常用操作命令

Tips

命令属于死东西,属于多用多会,不用就忘的知识,孰能生巧;

++Tab键++ 可以实现++自动补全和提示++,要合理使用;

++history命令++ 可以显示历史执行记录,或者使用++方向键++来切换前后执行过的命令;

ls
bash 复制代码
ls path
ls -a path # 查看所有文件 包括隐藏文件
ls -l =ll # 查看文件详细信息 包括权限 类型 时间 大小等
ll -h path # 表示以人性化的显示内容
ll * # *通配符表示任意字符 ?表示有且只有一个字符
cd
bash 复制代码
pwd #查看自己当前所在目录
cd path #注意自己写的是相对还是绝对的 还可以结合特殊符
号使用
cd ./ # .表示目前所在的目录
cd / #根目录
cd ../ #目前目录位置的上一层目录
cd ~ #表示home目录
mkdir touch rm
bash 复制代码
[root@node1 ~]# mkdir /a/b/c #在此路径下创建一个目录
mkdir: cannot create directory '/a/b/c': No such file or directory
[root@node1 ~]# mkdir -p /a/b/c #如果父目录不存在就建一个(确保父目录名称存在)
[root@node1 ~]# rm -rf /a/b/c #强制直接删除,一旦执行,被删除的文件和目录将无法恢复。
[root@node1 ~]# rm -rf /a
-f #强制删除 不给与提示,无需用户确认
-r #递归删除 针对文件夹
-rf #杀伤力极大 问问自己在干什么
坐牢眼:rm -rf /*

[root@node1 ~]# touch a #创建一个空文件,无任何内容。
[root@node1 ~]# rm -i a #删除文件a,-i显示相关信息
cp mv
bash 复制代码
cp source destination
mv source_file(文件) dest_file(文件) #将源文件名 source_file 改为目标文件名 dest_file
mv source_file(文件) dest_directory(目录) #将文件 source_file 移动到目标目录 dest_directory中
mv source_directory(目录) dest_directory(目录) #目录名 dest_directory 已存在,将
source_directory 移动到目录名 dest_directory 中;目录名 dest_directory 不存在则
source_directory 改名为目录名 dest_directory
mv source_directory(目录) dest_file(文件) #出错
cat more tail

++cat(concatenate)命令++:用于连接文件并打印到标准输出设备如console控制台上。适合小文件内容查看。

++more 命令++:类似cat,不过会以一页一页的形式显示,更方便使用者逐页阅读,翻页结束自动退出。适合大文件 查看。按space键翻下一页,按b往回(back)上一页

++tail 命令++:用于查看文件的结尾部分的内容。 -n 用于显示行数,默认为10,即显示 10 行的内容。 -f 用于实时显示文件动态追加的内容。会把文件里的最尾部的内容显示在屏幕上,并且不断刷新,只要 文件有更新,就可以看到最新的文件内容。

tar
bash 复制代码
-c 或--create 建立新的备份文件。
-x 或--extract或--get 从备份文件中还原文件。
-v 或--verbose 显示指令执行过程。
-f <备份文件>或--file=<备份文件> 指定备份文件。

# tar cvf 打包名.tar 文件或者目录
[root@node1 test]# ll
-rw-r--r-- 1 root root 0 Aug 10 19:27 1.txt
-rw-r--r-- 1 root root 0 Aug 10 19:27 2.txt
[root@node1 test]# tar -cvf test.tar 1.txt 2.txt
1.txt
2.txt
[root@node1 test]# ll
-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root 0 Aug 10 19:27 2.txt
-rw-r--r-- 1 root root 20480 Aug 10 19:28 test.tar

# tar xvf 打包名.tar
# tar xvf 打包名.tar -C指定解包目录
[root@node1 test]# ll
-rw-r--r-- 1 root root 20480 Aug 10 19:28 test.tar
[root@node1 test]# tar xvf test.tar 
1.txt
2.txt
[root@node1 test]# ll
-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root 0 Aug 10 19:27 2.txt
-rw-r--r-- 1 root root 20480 Aug 10 19:28 test.tar
bash 复制代码
-z 或--gzip或--ungzip 通过gzip指令处理备份文件。
最重要的搭配: tar -zxvf xxxxx.tar.gz

[root@node1 test]# ll
-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root 0 Aug 10 19:27 2.txt
[root@node1 test]# tar zcvf test.tar.gz 1.txt 2.txt 
[root@node1 test]# tar zcvf test.tgz 1.txt 2.txt 
[root@node1 test]# ll
-rw-r--r-- 1 root root 10240 Aug 10 19:28 1.txt
-rw-r--r-- 1 root root 0 Aug 10 19:27 2.txt
-rw-r--r-- 1 root root 142 Aug 10 19:35 test.tar.gz
-rw-r--r-- 1 root root 142 Aug 10 19:35 test.tgz
[root@node1 test]# tar zxvf test.tar.gz #解压到当前目录
1.txt
2.txt
[root@node1 test]# tar zxvf test.tar.gz -C /root/ #-C参数
可以设定解压到指定目录
1.txt
2.txt

Linux常用系统命令

date cal
bash 复制代码
date命令:用来显示或设定系统的日期与时间,在显示方面,使用者可以设定欲显示的格式,格式设定为一个加号后接数个标记。
cal(calendar)命令:用于用于显示当前或者指定日期的公历。

[root@node1 linux02]# date
Tue May 18 14:44:13 CST 2021
[root@node1 linux02]# date +"%Y-%m-%d %H:%M:%S"
2021-05-18 14:44:53
[root@node1 linux02]# cal
May 2021 
Su Mo Tu We Th Fr Sa
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31
free df(内存,磁盘使用率查看)
bash 复制代码
free命令:用于显示内存状态。会显示内存的使用情况,包括实体内存,虚拟的交换文件内存,共享内存区段,以
及系统核心使用的缓冲区等。
df(英文全拼:disk free)命令:用于显示目前在 Linux 系统上的文件系统磁盘使用情况统计。

[root@node1 linux02]# df -h
Filesystem Size Used Avail Use% Mounted on
devtmpfs 1.9G 0 1.9G 0% /dev
tmpfs 1.9G 0 1.9G 0% /dev/shm
tmpfs 1.9G 12M 1.9G 1% /run
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 38G 1.5G 36G 5% / #重点关注这一行
/dev/sda1 1014M 152M 863M 15% /boot
/dev/mapper/centos-home 19G 33M 19G 1% /home
tmpfs 378M 0 378M 0% /run/user/0
tmpfs 378M 0 378M 0% /run/user/1000
#内存使用情况
[root@node1 linux02]# free -h
total used free shared buff/cache available
Mem: 3.7G 257M 3.0G 11M 467M 3.2G
Swap: 3.9G 0B 3.9G
ps jps(进程查看)
bash 复制代码
ps (英文全拼:process status)命令:用于显示当前进程的状态,类似于 windows 的任务管理器。
jps命令:这是JDK自带的命令,专门用于查看本机运行的java进程情况。

#在安装了jdk的情况下 有一个命令专门用于查看本机运行的java进程。
jps
[root@node1 ~]# jps #必须在安装好jdk之后可以使用
-bash: jps: command not found
#查看本机运行的所有进程
ps -ef | grep 进程名
#通常根据查询的进程号 结合kill -9 进程号 杀死进程

vi/vim文本编辑器

vi/vim编辑器的核心设计思想:让程序员的手指始终保持在键盘的核心区域, 就能完成所有的编辑操作。

vim /path/file

如果打开的文件不存在,此时就是新建文件,编辑器左下角会提示new file

如果文件已经存在,此时就打开这个文件,进入命令模式

在使用vim编辑器的过程中,如果发现打开的文件内容不符合预期,可以检查一下,文件路径是否正确?

命令模式(Command mode)

命令模式下,所敲的按键编辑器都理解为命令,以命令驱动执行不同的功能。 此模型下,不能自由进行文本编辑。

输入模式(Insert mode)

也就是所谓的编辑模式、插入模式。 此模式下,才可以对文件内容进行自由编辑。

++命令模式<-->输入模式++

i 进入到编辑输入模式后,定位到当前光标前面

o 进入到编辑输入模式后,在当前行的后面添加一行空行(当前行的下一行)

输入模式下按ESC退回到命令模式

底线命令模式(Last line mode)

以:开始,通常用于文件的保存、退出。

++命令模式<-->底线命令模式++

在命令模式下,输入:进入底线命令模式。

常用的底线命令有:

:q 退出

:w 保存

:wq 保存退出

:wq! 强制保存退出

提示:在命令模式下按下shift + zz,可以实现快速的保存退出。

相关推荐
Linux运维老纪7 分钟前
分布式存储的技术选型之HDFS、Ceph、MinIO对比
大数据·分布式·ceph·hdfs·云原生·云计算·运维开发
DavidSoCool27 分钟前
es 3期 第25节-运用Rollup减少数据存储
大数据·elasticsearch·搜索引擎
Elastic 中国社区官方博客30 分钟前
使用 Elasticsearch 导航检索增强生成图表
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
Ray.19981 小时前
Flink在流处理中,为什么还会有窗口的概念呢
大数据·flink
抛砖者1 小时前
3.Flink中重要API的使用
大数据·flink
金州饿霸1 小时前
Flink运行时架构
大数据·flink
金州饿霸1 小时前
Flink中的时间和窗口
大数据·flink
watersink2 小时前
面试题库笔记
大数据·人工智能·机器学习
雾里看山2 小时前
【MySQL】 库的操作
android·数据库·笔记·mysql
数字化综合解决方案提供商2 小时前
【Rate Limiting Advanced插件】赋能AI资源高效分配
大数据·人工智能