大数据day01 软件安装开发基础

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36059561/article/details/82194262

一、基础部分课程介绍

 day01

  • Linux快速上手
  • 虚拟机安装及网络配置
  • 终端连接/ssh免密登陆
  • 文件、权限、用户、工具、软件安装
  • yum本地库搭建
  • 防火墙配置详解

day02

  • Shell脚本编程
  • Crontab
  • 高并发网站技术架构简洁
  • Nginx负载均衡搭建
  • Keepalived高可用搭建
  • 自动化软件安装脚本
  • Redis集群搭建(备选)

day03

  • ZooKeeper介绍
  • ZooKeeper安装
  • ZooKeeper基本API
  • ZooKeeper编程案例

day04

  • 并发编程
  • 反射、动态代理
  • NIO入门
  • Netty入门
  • day05
  • Netty封装RPC框架
  • Dubbo
  • Hadoop RPC
  • JVM

二、Linux系统安装过程

首先,下载并安装VMware Workstation,安装和破解步骤这里就不赘述了,不会的自己百度啦。

检查是否安装成功:打开“网络和共享中心”,点击左侧“更改适配器设置”,查看是不是有VMnet1和VMnet8,如果存在,说明安装成功了,它们是VMware生成的两个虚拟网卡。这里还有一点需要注意,查看VMnet1和VMnet8下面显示什么,如果显示不识别的网络,那么这里就需要处理下,否则后面会遇到问题。

首先进入注册表,找到[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}],逐项查看其下的[项](0000,0001至00xx),看右边哪一项的[值]为:"DriverDesc"="VMware Virtual Ethernet Adapter for VMnet1",找到后,添加一个“DWORD”值(32位),名称为“*NdisDeviceType”(*号是必须的),数据值改为“1”,同理再找 VMnet8 ,再重复第2~3步,添加值,之后重启计算机,就可以看到VMnet1和VMnet8是启用状态了。

在安装过程中,可能会遇到一个错误,提示需要通过BIOS开启CPU虚拟化,因为不同品牌电脑主板不同,导致操作方式不同,而且具体操作步骤也很简单,自行百度解决。

如果遇到了虚拟网卡安装失败的现象,此时需要关闭Windows的驱动程序安装签名验证,这里我没有遇到这个问题。

新建虚拟机,需要注意的问题:

  1. 虚拟机的存放路径避免中文和空格,防止出现意外错误。

  2. 网络类型选择NAT(默认就是NAT)。

  3. 选择硬盘这里选“创建新虚拟硬盘”,意思就是说从硬盘上分出来一块磁盘空间给它做虚拟硬盘。

  4. 指定磁盘容量,不要勾选“立即分配所有磁盘空间”,一旦勾选,那么创建后,物理磁盘就会立刻减少,不必这么做,下面选择“将虚拟磁盘存储为单个文件”,因为存储为多个文件会降低大容量磁盘的性能,而且虚拟机一旦创建后,通常不会频繁的移动虚拟机。

  5. 虚拟机创建完成后,进入“虚拟机设置”,更改CD/DVD(IDE)的值,设置为Linux镜像的地址。

开启虚拟机,安装Linux操作系统。这里选择第一个“安装或更新一个已存在的系统”。

这里问你是否进行media测试,这里选择跳过即可。

之后,就看到操作界面了,也有鼠标了,根据个人需要进行简单设置,多数情况默认即可,在这里简单啰嗦两句。因为这块硬盘是虚拟出来的,所以直接格式化就可以,不会对电脑硬盘上的数据造成影响。

之后设置一个主机名,这里我设置成bigdata,后面进了系统还可以修改。这里选第一个,“使用所有空间”。

下面“查看并修改分区布局”,可以查看分区的情况,可以根据需要重新分区。下一步,选择“将修改写入磁盘”,开始Linux系统的安装。

三、Linux图形界面及文件系统结构介绍

Linux操作系统不像Windows操作系统一样区分CDEF盘,所有的东西都挂载到根目录下。下面来认识下根目录下的文件夹。

bin:可执行程序
boot:和系统启动相关的程序
dev:device的意思,表示设备
etc:用来存放配置文件的目录
home:用户目录,类似Windows下的“我的文档”
lib、lib64:库,头文件等
media:外置媒体文件,挂载光盘,usb等
usr:用于存放系统应用程序
sbin:存放的是系统管理员使用的管理程序
tmp:临时目录

四、局域网工作机制和网络地址配置

一台局域网中的电脑要想联网,多台设备就要连接路由器,路由器相当于一个网关,给这些设备分配ip地址,网关地址通常为192.168.*.1,其下的设备被分配到的ip地址为192.168.*.*,前三位一致,最后一位值域是2-254,其中255是广播地址,不能通过255找到对应设备。子网掩码用来查看设备属于哪个网段,通常写为255.255.255.0,因为这个子网掩码和ip做与操作运算,会得到ip的前三位加上一个0,那么对应的网段就是ip的前三位加上一个0了。网关就是对应的路由器的ip地址。DNS:用来做ip和域名映射的,当我们请求www.baidu.com的时候,先去本地找一个hosts的文件,看里面有没有ip和域名的映射关系,如果有,就访问对应的ip,如果没有,就交给DNS服务器,DNS将域名转化成ip地址,告诉浏览器就知道访问哪个ip地址了,这里可以设置成网关的ip,因为网关会自动去寻找dns,网关能解析域名,设备也能解析。

学会添加hosts文件中的内容,一个大型分布式系统,可能有很多台机器,使用ip地址比较难记忆,可以用主机名来记忆,但是ping主机名肯定是找不到的,所以要在hosts中写入主机名和ip的对应关系,此时,再ping主机名就可以ping通了。

关于网络地址的配置,下一节详细介绍下。

五、VMware虚拟网络的配置介绍

首先打开VMware,点击“编辑”菜单,选择“虚拟网络编辑器”,点击选择“VMnet8”,设置如图,点击NAT设置。

举个例子,把网关设置成192.168.156.2,这个网关ip后面还会用到。设置好之后,点击虚拟机查看“网络适配器”是不是NAT模式。启动虚拟机,需要修改一个文件才能生效。

使用“vi /etc/sysconfig/network-scripts/ifcfg-eth0”命令,来配置虚拟网卡,BOOTPROTO属性由“dbcp”改为“static”,ONBOOT属性由“no”改为“yes”。下面添加4行内容,分别设置ip,网关,子网掩码,dns。其中ip要和VMnet8的子网ip在同一个网段。gateway:设置的网关。netmask:子网掩码。DNS:可以写网关的ip地址。

注意:这里的ip必须要和VMnet8的子网ip在同一网段,否则是ping不通的。

DEVICE=eth0
HWADDR=00:0C:29:56:0B:0A
TYPE=Ethernet
UUID=f4dd0abc-6a2d-407a-ac47-a234c7d76b1a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.156.50
GATEWAY=192.168.156.2
NETMASK=255.255.255.0
DNS=192.168.156.2

保存,重启Linux操作系统。物理机和虚拟机互相ping看看能不能通,虚拟机ping百度看看能不能通。发现虚拟机和物理机可以互相ping通,不过虚拟机ping不通外网,这个情况之前没有遇到过,查询了一些资料后,需要给虚拟机添加DNS。使用命令vi /etc/resolv.conf,然后在里面添加nameserver 114.114.114.114,保存关闭。再去ping百度就可以ping通了。

扩展:桥接,NAT,仅主机三者的区别:

  • 桥接:VMware虚拟出来的计算机像真实的计算机应用,和物理计算机是同等地位,直接与外网通信。
  • NAT:虚拟系统需要借助NAT系统转换功能,通过宿主机所在网络来访问外网,虚拟系统把物理机当做路由器来访问外网,虚拟系统位于宿主机的下一级。
  • 仅主机:虚拟环境和真实环境是分开的,所有虚拟系统可以互相通信,虚拟系统和宿主机和可以互相通信,虚拟系统不能和外网通信。

六、Linux网络配置及CRT远程连接

当物理机可以ping通虚拟机的时候,就可以用远程连接软件连接虚拟机了,比如SecureCRT,Xshell等。连接的时候,输入ip地址,用户名和密码,连接上远程Linux之后,就可以在其中敲命令了,没什么多说的,具体操作一下就知道了。

七、回顾上午的ip地址配置

修改主机名:使用命令vi /etc/sysconfig/network
修改ip地址:使用命令vi /etc/sysconfig/network-scripts/ifcfg-eth0,记得service network restart才能生效
修改ip地址和主机名映射关系:使用命令:vi /etc/hosts
关闭iptables使用命令:service iptables stop
永久关闭防火墙:chkconfig iptables off

八、文件常用操作命令

cd /home:切换到home目录
mkdir aaa:创建aaa目录,使用-p参数可以创建父目录,即mkdir -p ccc/bbb/aaa,如果ccc和bbb不存在,会先创建出来
rmdir aaa:删除空目录,不方便,一般不用它
rm -rf aaa:递归删除aaa文件夹及其中的子节点,没有提醒,强制删除
mv aaa bbb:把aaa改名为bbb
mv aaa bbb/:把aaa移动到bbb文件夹下
touch a.txt:创建一个空的a.txt文件
echo "i miss you" > b.txt:不添加>的时候,就会在控制台输出i miss you,添加了>后就会重定向到b.txt文件,此时控制台就没有输出了,如果b.txt不存在就会自动创建
扩展:>>是追加的用法,使用>的时候,如果原文件有内容,会覆盖原文件。
cat a.txt:查看a.txt文件的内容
vi b.txt:进入vi编辑器普通模式,按下i进入输入模式,完成输入后,按下键盘esc,再按:wq!或shift+zz即可保存后退出,按下:q!表示不保存退出

vi普通模式下的常用快捷键:a(在光标后一位开始插入)、A(在该行最后插入)、I(在该行最前面插入)、gg(跳转到文件首行)、G(跳转到文件末尾)、dd(删除当前行,如果输入5dd,一次性删除光标后的5行)、yy(复制当前行,如果输入5yy,一次性复制光标后的5行)、p(粘贴)、v(字符选择模式,选择完成后,按y复制,按p粘贴)、ctrl+v(进入块选择模式,选择完成后,按y复制,按p粘贴)、shift+v(进入行选择模式,选择完成后,按y复制,按p粘贴)、%s/aaa/bbb:(查找文件中所有的aaa,并替换为bbb)、/ccc:(查找ccc字符,并定位到第一个位置,按n可以定位到下一个匹配位置,按N可以定位到上一个匹配位置)

九、文件权限的操作

比如drwxr-xr-x,其中d(标识节点类型,d:文件夹,-:文件,l:链接),rwx(r:可读,w:可写,x:可执行),这里有3组rwx,第一组rwx:文件拥有者对文件的权限;第二组rwx:文件所属组对文件的权限;第三组rwx:文件的其他用户(相对于上面两类用户)对文件的权限。

chmod 777 ccc:修改ccc文件或文件夹的权限,其中777表示rwx是111,表示最高权限,如果需要修改文件夹下的所有文件,可以使用-r参数,并把ccc改为ccc/即可。

chown angle:angle aaa:在root用户下,将aaa的所有者和所属组改为angle。

十、常用系统操作命令

useradd angle:添加angle用户,需要在root用户下执行
passwd angle:给angle用户设置登录密码,输入的时候密码不回显
sudo+命令:在普通用户下执行root用户下的命令,只有这一条命令获取root用户权限
su+用户名:切换用户
exit:退出当前用户
mount:先创建一个目录用于挂载mkdir /mnt/cdrom,使用挂载命令挂载mount -t iso9660 -o ro /dev/cdrom /mnt/cdrom/,意思是把dev下的cdrom挂载到mnt下的cdrom,-t iso9660表示挂载的文件类型或者设备类型,-o ro表示挂载后是readonly模式。
umount /mnt/cdrom:卸载刚才的挂载
du -sh a.txt:查看a.txt的大小
df -h:查看分区情况和占用情况

十一、ssh免密登陆配置

如果现在Linux上通过ssh协议访问同网段下的另一台机器,使用ssh 192.168.*.*的命令,输入另一台机器的root用户的密码,就可以通过ssh协议登录到另一台机器上,exit是退出。

发送文件到另一台机器:scp a.txt [email protected].*.*:/home/。它的意思是拷贝a.txt到192.168.*.*这个ip下的home目录下,以root身份拷贝,发现需要输入密码,也就是每次访问远程都需要输入密码,这对于批量操作非常的费时,所以下面了解一下ssh如何免密登陆。

ssh是一种远程登陆的安全协议,有两种验证机制:1.用户名+密码;2.密钥验证。

假如现在有两台机器,a和b,a希望连接b,a发送ssh连接请求,首先a使用ssh-keygen生成一对密钥(一个公钥,一个私钥),a把公钥拷贝给b,b拿到公钥,将公钥授权到authorized_keys列表中。之后在连接的时候,a发送请求,b收到后,去authorized_keys中去查看有没有授权,发现有a的授权,因为别人可以冒充a的公钥,那么b会生成一个随机字符串,并将这个随机字符串用a的公钥加密后,发送给a,a收到后,用a的私钥解密,将解密后的字符串发送给b,b验证一致后,允许a连接b。

在a机器上输入命令ssh-keygen生成密钥。生成的密钥在/root/.ssh下,将公钥拷贝给b,并完成授权的命令:ssh-copy-id 192.168.*.*,之后输入yes就可以完成了,尝试用ssh 192.168.*.*连接一下,发现可以免密连接上了。

猜你喜欢

转载自blog.csdn.net/qq_36059561/article/details/82194262