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,可以实现快速的保存退出。

相关推荐
HSunR12 分钟前
概率论 期末 笔记
笔记·概率论
奥顺互联V13 分钟前
一次性部署:使用Docker部署PHP应用
大数据·mysql·开源·php
红色的山茶花23 分钟前
YOLOv9-0.1部分代码阅读笔记-loss_tal.py
笔记·深度学习·yolo
重生之绝世牛码31 分钟前
Java设计模式 —— 【结构型模式】外观模式详解
java·大数据·开发语言·设计模式·设计原则·外观模式
喝醉酒的小白1 小时前
Elasticsearch相关知识@1
大数据·elasticsearch·搜索引擎
边缘计算社区1 小时前
首个!艾灵参编的工业边缘计算国家标准正式发布
大数据·人工智能·边缘计算
MZWeiei1 小时前
Zookeeper的选举机制
大数据·分布式·zookeeper
MZWeiei1 小时前
Zookeeper基本命令解析
大数据·linux·运维·服务器·zookeeper
学计算机的睿智大学生1 小时前
Hadoop集群搭建
大数据·hadoop·分布式