大数据基础加强虚拟机搭建和Linux命令

大数据基础加强阶段

Vmware、Linux 基础
1. VMware 虚拟网络
1.1. 虚拟网卡、虚拟交换机
网卡,又称网络适配器,是一块被设计用来允许计算机在计算机网络上进行通讯的计算机硬件。它使得用户可以透过电缆或无线相互连接。在网络上的每一个计算机网卡都必须拥有一个独一无二的MAC地址。
当使用VMware Workstation安装一个虚拟机时就会自动安装一块虚拟有线网卡,此外还可手动给虚拟机添加多块虚拟网卡。
交换机用于电(光)信号的转发。可以为接入交换机的任意两个网络节点提
供独享的电信号通路。简单的理解可以把一些电脑连接在一起组成一个局域网。安装VMware Workstation 12时就自动安装了20台虚拟交换机。 在这里插入图片描述
常用的交换机是VMnet0、VMnet1、VMnet8,分别对应VMware的三种网络模
式。
1.2. 虚拟网桥
网桥(Bridge)是一个局域网与另一个局域网之间建立连接的桥梁。它是扩展网络和通信的手段,在各种传输介质中转发数据信号,扩展网络的距离。
在VMware中,只有创建的虚拟机所使用的虚拟网卡连接到VMnet0虚拟交换机上才会应用虚拟网桥。
1.3. 虚拟 DHCP 服务器
在虚拟网卡连接到VMnet1或VMnet8虚拟交换机时,自动安装运行虚拟DHCP 服务器并连接至这台虚拟交换机。
DHCP服务器: (Dynamic Host Configuration Protocol, 动态主机配置协议),主要有两个用途:

  1. 给内部网络自动分配IP地址;
  2. 作为对所有计算机作中央管理的手段。
    在这里插入图片描述

1.4. 虚拟 NAT 服务器
只在虚拟网卡连接到 VMnet8 (NAT)虚拟交换机时才自动安装运行虚拟 NAT 服务器,并连接至这台虚拟交换机。
NAT服务器: (Network Address Translation, 网络地址转换)提供NAT 功能的服务器:就是把在内部网络中使用的IP地址转换成外部网络中使用的IP 地址,把不可路由的IP地址转化成可路由的IP地址,对外部网络隐蔽内部网。
在这里插入图片描述
1.5. 主机虚拟网卡
当我们安装VMware Workstation 12时,就会在我们的实体PC机器上安装主机虚拟网卡。
在这里插入图片描述
2. VMware 网络模式
2.1. Bridged(桥接)
桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机ip地址需要与主机在同一个网段,如果需要联网,则网关与DNS需要与主机网卡一致。
在这里插入图片描述
至于是桥接到宿主机的无线网卡还是有线网卡取决于宿主机上网模式。桥接模式下最大的特点就是虚拟机的网络特性跟主机除了ip外几乎一致。

2.2. NAT(网络地址转换)
在NAT网络中,会使用到VMnet8虚拟交换机,宿主机上的VMware Network
Adapter VMnet8虚拟网卡被连接到VMnet8交换机上,来与虚拟机进行通信,但是VMware Network Adapter VMnet8虚拟网卡仅仅是用于和VMnet8虚拟交换机网段通信用的,它并不为VMnet8网段提供路由功能,处于虚拟NAT网络下的虚拟机是使用虚拟的NAT服务器连接的Internet的。
在这里插入图片描述
这时候,虚拟机和宿主机就可以实现互访了,若此时宿主机已经连接到了
Internet,那么虚拟机也就可以连上 Internet 了。VMware Network Adapter
VMnet8虚拟网卡在这里仅仅是为Host和NAT虚拟网络下的虚拟机通信提供一个接口。所以,即便卸载掉这块虚拟网卡,虚拟机仍然是可以上网的,只是宿主机无法再访问VMnet8网段而已。
NAT模式下,宿主机需要开启VMware NAT Service和VMware DHCP Service。
采用NAT模式最大的优势是虚拟系统接入互联网非常简单,你不需要进行任何其他的配置,只需要宿主机器能访问互联网即可。 如果你想利用VMware安装一个新的虚拟系统,在虚拟系统中不用进行任何手工配置就能直接访问互联网,
建议你采用NAT模式。

2.3. Host-only (主机)
Host-Only模式其实就是 NAT模式去除了虚拟 NAT 设备,然后使用 VMware Network Adapter VMnet1虚拟网卡连接VMnet1虚拟交换机来与虚拟机通信的, Host-Only模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主
机相互通讯。
在这里插入图片描述

3. VMware 虚拟机克隆
VMware支持两种类型的克隆:完整克隆 链接克隆
完整克隆是和原始虚拟机完全独立的一个拷贝,它不和原始虚拟机共享任何资源。可以脱离原始虚拟机独立使用。
链接克隆需要和原始虚拟机共享同一虚拟磁盘文件,不能脱离原始虚拟机独立运行。但采用共享磁盘文件却大大缩短了创建克隆虚拟机的时间,同时还节省了宝贵的物理磁盘空间。通过链接克隆,可以轻松的为不同的任务创建一个独立的虚拟机。
一般使用虚拟机克隆大量复制虚拟机,用来进行集群服务器的搭建。
克隆后需要修改的地方:
1、 主机hostname
vi /etc/sysconfig/network 修改原hostname为 newname hostname newname 让hostname立刻生效
2、 虚拟网卡设备MAC地址
MAC地址处于下面两个文件中。
/etc/udev/rules.d/70-persistent-net.rules
在这里插入图片描述
/etc/sysconfig/network-scripts/ifcfg-eth0
在这里插入图片描述

虚拟机虚拟网卡MAC地址可由下面进行设置:
在这里插入图片描述
3、 IP地址
可以编译下面的文件进行修改:
/etc/sysconfig/network-scripts/ifcfg-eth0

修改完之后,重启网络或者重启机器。新的虚拟机就可以使用了。
service network restart
reboot

4. SSH(安全外壳协议)
SSH为Secure Shell的缩写,是一种网络安全协议,专为远程登录会话和其他网络服务提供安全性的协议。通过使用 SSH,可以把传输的数据进行加密,有效防止远程管理过程中的信息泄露问题。
从客户端来看,有两种验证方式:基于密码、基于密钥
4.1. 用户名密码验证方式
在这里插入图片描述
说明:
(1) 当客户端发起ssh请求,服务器会把自己的公钥发送给用户;
(2) 用户会根据服务器发来的公钥对密码进行加密;
(3) 加密后的信息回传给服务器,服务器用自己的私钥解密,如果密码正确,则用户登录成功。

4.2. 基于密钥的登录方式
在这里插入图片描述
说明:
(1) 首先在客户端生成一对密钥(公钥、私钥);
(2) 客户端将生成的公钥拷贝到需要访问的服务端机器上;
(3) 当客户端再次发送一个连接请求,包括ip、用户名;
(4) 服务端得到客户端的请求后,会到authorized_keys中查找,如果有相应的IP和用户,就会随机生成一个字符串,例如:qwer;
(5) 服务端将使用客户端拷贝过来的公钥对随机字符串qwer进行加密,然后发送给客户端;
(6) 得到服务端发来的消息后,客户端会使用私钥进行解密,然后将解密后的字符串发送给服务端;
(7) 服务端接受到客户端发来的字符串后,跟之前的字符串进行对比,如果一致,就允许免密码登录。
4.3. OpenSSH 使用
OpenSSH是SSH协议的免费开源实现。
OpenSSH 由客户端和服务端的软件组成。服务端是一个守护进程(daemon),
他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理。
客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
默认情况下,CentOS系统会自带安装OpenSSH服务。
在这里插入图片描述
使用示例: 配置node-1至node-2机器的免密登录。
a) 在node-1机器上
ssh-keygen -t rsa [dsa] 按四下回车
生成密钥文件和私钥文件 id_rsa,id_rsa.pub b) 将公钥拷贝给node-2机器 ssh-copy-id node-2
首次链接需要输入用户密码、验证成功后后续免密登陆。

5. 文件上传、下载
在涉及Linux相关的开发中,经常需要进行linux和Windows之间的文件、安装包等上传和下载操作。sftp和lrzsz是使用比较广泛的两种方式。
5.1. SFTP
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。sftp为 SSH的其中一部分,本身没有单独的守护进程,使用sshd守护进程(端口号默认是22)来完成相应的连接和答复操作。
SecureCRT远程连接至CentOS后,按alt+p即可打开sftp会话窗口。
常用的sftp命令有: pwd和lpwd
pwd是看sftp服务所在机器(即CentOS)默认的当前目录 lpwd是看Windows本地默认目录。
在这里插入图片描述
ls和lls
ls查看sftp服务器默认当前目录下内容 lls是看Windows默认当前目录下内容
put d:/sparksql_textdata.csv
把Windows上文件上传到sftp服务器的默认当前目录下
在这里插入图片描述

get install.log.syslog
把sftp服务器当前目录下的文件下载到windows当前目录下
在这里插入图片描述
Help
帮助命令。列出sftp的使用方法。
5.2. lrzsz
lrzsz是一款在linux里可代替sftp上传和下载的程序。
Centos系统中,可直接yum -y install lrzsz 程序会自动安装好,也可以下载安装包离线进行安装,详细参考附件资料。
上传文件:命令行输入rz,打开上传文件会话窗口。
在这里插入图片描述
下载文件:sz 下载文件路径
在这里插入图片描述
三、 Linux 增强
1. 查找命令
1.1. grep
grep 命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。
格式:grep [option] pattern [file]
可使用 —help 查看更多参数。
使用实例:
ps -ef | grep sshd 查找指定ssh服务进程 ps -ef | grep sshd | grep -v grep 查找指定服务进程,排除gerp本身 ps -ef | grep sshd –c 查找指定进程个数 cat a.txt | grep -f b.txt 从文件中读取关键词进行搜索
输出a.txt文件中含有从b.txt文件中读取出的关键词的内容行
cat a.txt | grep –nf b.txt 从文件中读取关键词进行搜索,显示行号 grep -n ‘linux’ test.txt 从文件中查找关键词,并显示行号 cat test.txt |grep ^u 找出以u开头的行内容 cat test.txt |grep [u] 输出非u开头的行内容 cat test.txt |grep hat$ 输出以hat结尾的行内容 cat test.txt |grep -E “ed|at” 显示包含ed或者at字符的内容行
1.2. find
find命令在目录结构中搜索文件,并对搜索结果执行指定的操作。
find 默认搜索当前目录及其子目录,并且不过滤任何结果(也就是返回所有文件),将它们全都显示在屏幕上。
实际参数很多,可使用 —help 查看。
使用实例:
find . -name “.log" -ls 在当前目录查找以.log结尾的文件,并显示详细信息。
find /root/ -perm 777 查找/root/目录下权限为777的文件 find . -type f -name "
.log” 查找当目录,以.log结尾的普通文件 find . -type d | sort 查找当前所有目录并排序 find . -size +100M 查找当前目录大于100M的文件
1.3. locate
locate 让使用者可以很快速的搜寻档案系统内是否有指定的档案。其方法是先建立一个包括系统内所有档案名称及路径的数据库。之后当寻找时就只需查
询这个数据库(/var/lib/locatedb)。
Linux系统自动创建这个数据库,默认每天自动更新一次,所以使用locate 命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,
先使用updatedb命令,手动更新数据库。
如果是精简版CentOS系统需要安装locate命令
yum -y install mlocate
updatedb 命令来创建locate命令依赖的数据库
updatedb
使用实例:
locate /etc/sh
搜索etc目录下所有以sh开头的文件
locate pwd
查找和pwd相关的所有文件

1.4. whereis
whereis命令是定位可执行文件、源代码文件、帮助文件在文件系统中的位置。这些文件的属性应属于原始代码,二进制文件,或是帮助文件。
whereis和下locate一样,会从数据库中查找数据,而不是像find命令那
样,通过遍历硬盘来查找。
使用实例:
whereis ls 将和ls文件相关的文件都查找出来 ls: /bin/ls /usr/share/man/man1/ls.1.gz whereis -m ls 查找ls命令说明文档路径 whereis -s ls 查找ls源文件
1.5. which
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪
一个位置的命令。
使用实例:
which pwd 查找pwd命令所在路径
/bin/pwd
which java 查找path中java的路径
/root/apps/jdk1.8.0_65/bin/java
which 是根据使用者所配置的 PATH 变量内的目录去搜寻可运行档,所以,
不同的PATH配置内容所找到的命令会不一样。

2. su、sudo
2.1. su
su用于用户之间的切换。但是切换前的用户依然保持登录状态。如果是root 向普通或虚拟用户切换不需要密码,反之普通用户切换到其它任何用户都需要密码验证。
su在不加任何参数,默认为切换到root用户,但没有转到root用户根目录下;su 加参数 - ,表示默认切换到root用户,并转到root用户根目录下。
在这里插入图片描述
在这里插入图片描述

su不足:如果某个用户需要使用root权限、则必须要把root密码告诉此用户。
退出返回之前的用户:exit

 ![在这里插入图片描述](https://img-blog.csdnimg.cn/20190213212003925.png)

2.2. sudo
sudo是为所有想使用root权限的普通用户设计的。可以让普通用户具有临时使用root权限的权利。只需输入自己账户的密码即可。当然这个普通用户必须在/etc/sudoers文件中有配置项、才具有使用sudo的权利。
没有配置权限之前,普通用户无法进行root权限操作:
在这里插入图片描述
使用root用户编辑/etc/sudoers文件,给普通用户授权命令行输入visudo,打开/etc/sudoers文件,加入如下的内容,保存。
在这里插入图片描述
这样普通用户就可以使用sudo执行root权限的命令了。
在这里插入图片描述
sudo的工作过程如下:
1.当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
2.确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
3.若密码输入成功,则开始执行sudo后续的命令如果想要更加精准的控制,就需要理解配置中的含义。
hadoop ALL=(ALL) ALL
第一个ALL是指网络中的主机,我们可以指定主机名,这样hadoop只可以在此主机上执行后面的命令。第二个括号里的ALL是指目标用户,也就是以谁的身份去执行命令。最后一个ALL是指命令名了。
例如,我们想让hadoop用户在node-23主机上以allen的身份执行kill命令,就这样编写配置文件:
hadoop node-23=(allen) /bin/kill
案例:只允许hadoop用户以root身份在node-23上执行ls 、cat命令,并且执行时候免输入密码。
配置文件中:
hadoop node-23=NOPASSWD: /bin/ls, /bin/cat
在这里插入图片描述
执行非ls 、cat命令也会禁止。
在这里插入图片描述
而cat命令就可以执行。
在这里插入图片描述

3. 挂载(mount)命令
在linux操作系统中,挂载是指将一个设备挂接到一个已存在的目录上。要访问设备中的文件,通过访问这个挂载目录来访问。
命令格式:mount [-t vfstype] [-o options] device dir
-t vfstype 指定文件系统的类型。mount 会自动选择正确的类型。常用类型有:光盘镜像iso9660、linux文件网络共享nfs等等。 -o options 主要用来描述设备或档案的挂接方式。常用的参数有: loop:用来把一个文件当成硬盘分区挂接上系统 ro:采用只读方式挂接设备 rw:采用读写方式挂接设备
device 要挂接(mount)的设备 dir设备在系统上的挂接点(mount point)
案例:挂载光驱
mkdir /mnt/cdrom mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/ 将设备/dev/cdrom挂载到 挂载点/mnt/cdrom中案例:挂载光盘镜像文件(.iso)
mkdir /mnt/centos mount -o loop /root/Centos-6.7.DVD1.iso /mnt/centos
案例:卸载umount
umount /mnt/cdrom
在这里插入图片描述
4.本地 yum 源
yum(Yellow dog Updater, Modified)是一个在Fedora和RedHat以及
CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
yum机制的强大之处在于yum源。yum源相当是一个目录项,当我们使用yum 机制安装软件时,若需要安装依赖软件,则yum机制就会根据在yum源中定义好的路径查找依赖软件,并将依赖软件安装好。 yum源分为网络yum源和本地yum源。
yum源配置文件有两个。一是直接配置在/etc/yum.conf中,其中包含一些
主要的配置信息。另外就是/etc/yum.repos.d/下的 xx.repo后缀文件, 默认都
会被加载进来。

案例:使用CentOS镜像创建本地yum源
1、 挂载iso镜像,拷贝所有文件至本地yum目录
mkdir /dev/centios /mnt/local_yum mount -o loop /root/CentOS-6.7-x86_64-bin-DVD1.iso /dev/centios cp -r /dev/centios/* /mnt/local_yum/

2、 修改yum源配置
cd /etc/yum.repos.d/ rename .repo .repo.bak *.repo cp CentOS-Base.repo.bak CentOS-Local.repo vi CentOS-Local.repo [local_yum] name=This is a local repo baseurl=file:///mnt/local_yum

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值