目录
(2)阿里云配置(https://www.aliyun.com)
(3)UCloud配置(https://www.ucloud.cn)
一、前言-环境配置(VMware Workstation)
(1)IP与免密登录
在开始之前需要构建Hadoop开发环境,本文以3台服务器来学习,这三个服务器(linux系统)分别命名为node11(192.168.11.141,4GB),node22(192.168.11.142,2GB),node33(192.168.11.143,2GB)。网段为192.168.11.0,网关为192.168.11.2。node11-33都以设置固定IP,root用户SSH免密登录。
此外还需要创建hadoop(普通用户)用户,以及它的SSH免密登录。思考:已经配置好root用户的免密登录了,为什么还要配置hadoop用户免密登录呢?
配置root用户免密登录的目的是方便在不同服务器上进行文件传输。由于root用户权限太大,为了安全考虑,一般大数据的软件都不会以root用户去启动;例如在公司里,大数据的软件都使用root用户去启动,不法分子入侵了这个软件后将会直接得到root权限,非常危险。因此大数据的软件都以普通用户去启动,即使被入侵,不法分子也只有普通权限,危害不大。(良好的习惯,不仅仅在数据库软件上是这样,整个IT都是这样的)
在每台linux系统上执行:useradd hadoop
passwd hadoop
su - hadoop
ssh-keygen -t rsa -b 4096
ssh-copy-id node11
` ssh-copy-id node22
ssh-copy-id node33
(2)JDK环境
大数据的很多软件的运行都需要java运行环境的支持。
(3)关闭防火墙,关闭SELinux
大数据的软件大多都涉及多台服务器的信息互通,为了后续在传输数据,信息通讯过程中能够顺利进行这里关闭防火墙与linux的安全模块。
二、云平台学习
(1)云平台提供的三种服务类型
基础设施既服务(IaaS, Infrastructure as a Service):将基础设施作为服务,既我们可以在云平台上租一些CPU,4090显卡等基础设施。
平台既服务(PaaS, Platform as a Service):将平台作为服务,云平台也是PaaS,例如腾讯地图开发平台。
软件既服务(SaaS, Software as a Service):将某个特定功能的软件提供给我们。
(2)阿里云配置(https://www.aliyun.com)
云平台有很多很多,我们这里只学习较流行的两款云平台(阿里云,UCloud),其他云平台都是类似的。
1)注册阿里云账号
2)创建云上虚拟局域网(VPC, Virtual Private Cloud)和子网
云平台是给全世界的人服务的,因此我们每个人在使用云平台时,都可以创建一个属于自己的私有网络。在这个私有网络中我们可以开辟很多的子网,以后在云平台上租的各种服务器,数据库就可以在这个子网中运行。
云平台
构建步骤:
bigdata就是我们创建的VPC,bigdata-sub就是该VPC中的1个子网(注意这里为了方便与vmware一致,网络也设置为192.168.11.0网段),在阿里云上交换机就是要创建的子网。
必须配置VPC,与子网,因为在云平台上租的服务器必须在网络环境下才可运行
3)创建安全组(security group)
安全组实质上是云上的虚拟流量防火墙,被安全组绑定的资源(比如后续我们租的服务器),其网络流量的进出都被安全组所控制(资源的流量可以去往什么地方,出站控制;外部的那些访问可以连接到资源,入站控制)。这么做的目的是保护安全组内的资源,确保整个云服务器的安全。
构建步骤:打开控制台
这里我们只允许自己的网络连接安全组内的资源,其他网络不允许访问,这里设置的ip是公网ip(whatismyip.com可查公网ip),不是本地ip,注意家庭网络的公网ip可能会发生变化,后续连接不上时可能是由于公网ip变化而导致的,需要重新设置公网ip。出方向不设置任何限制,既允许资源的流量去往任何地方。
4)创建云服务器ECS
构建步骤
node11的构建
根据需求选择付费模式,地域的选择要与前面创建VPC时一致。
选择上诉创建的VPC
镜像是服务器的操作系统,选好服务器后要为该服务器选择操作系统,这里我们选择与vmware中一致的centos7.6系统。
云服务器是在公网上运行的,因此如果想要实现自己本机与服务器的通信必须设置好公网ip。
创建好后会自动下载一个bigdata-key.pem文件,要好好保存
以同样的方式可以构建node22(192.168.11.142),node33(192.168.11.143)
5)FinalShell远程连接
注意这里需要使用公网ip实现远程连接,这三台服务器的主机在离我们很远很远的地方,通过私网ip是无法建立联系的,这也是为什么我们要为每台服务器配置公网ip的原因。私网ip只在很小的范围内有效(一个办公室内,一个教室内),而公网ip就是整个互联网。使用云服务器需要在整个错综复杂的互联网上进行网络流量传输,因此,必须配置安全组,对服务器资源进行保护。
选择上诉下载好的服务器登录密钥bigdata-kay.pem,至此我们就可以登录到这3台服务器上了。
6)hadoop开发环境的配置
这里的内容与在vmware workstation的配置大体一致。
在vmware workstation上我们 设置了三台linux服务器的主机名和固定ip
配置了在linux系统上和windows上的主机名映射
SSH免密登录(root、hadoop用户)
jdk环境
关闭防火墙和selinux
更新了时区并同步了时间
拍摄快照
在阿里云上需要 在linux系统上配置主机映射
SSH免密登录(root、hadoop用户)
jdk环境
其他在vmware上的设置无需去做,因为防火墙
和selinux在云上默认就是关闭的,时间已自动同步,
主机名和固定ip在前面创建服务器时已配置。
配置步骤:在linux系统上配置主机映射(在每台服务器上执行下面操作)
vim /etc/hosts
SSH免密登录(root用户,用于传输文件)
这里与vmware不同,在vmware中我们以root身份登录服务器是通过密码方式登录的,所以它们本身还没有生成密钥,因此需要先生成密钥,在分发出去。而在云服务器上我们本身就是通过密钥的方式登录的,因此3台云服务器的密钥已经生成了,不需要生成密钥了。
此外,ssh远程登录的原理是:例如在A服务器上执行ssh B,系统会自动去A服务器的/root/.ssh目录下寻找id_rsa密钥文件,如果这个文件不存在则需要自行输入密码来登录B,如果这个文件存在,则系统会自动使用该密钥文件实现B服务器的免密登录,因此,这里只需要将之前下载下的bigdata-key.pem密钥上传到/root/.ssh文件下,重命名为id_rsa就可以实现免密登录。
在每台服务器上执行下面操作:
cd /root/.ssh/
上传文件
mv bigdata-key.pem id_rsa
chmod 400 id_rsa # 为了安全期间权限设为只读
SSH免密登录(hadoop用户,用于开启大数据软件)
hadoop用户,目前我们的云服务器上是没有的,需要创建hadoop用户,并设置密码,hadoop用户是用密码登录的,本身没有密钥,因此hadoop用户的免密登录与vmware上一致,先生成密钥,在分发。
在每台服务器上执行下面操作:
目前在node11,node22,node33上都创建好了hadoop用户并生成了密钥。
经本人测试生成密钥后直接利用ssh-copy-id分发密钥会被拒绝,这里需要简单设置一下
exit : 退回到root用户下
vim /etc/ssh/sshd_config跳到最后一行
systemctl restart sshd : 重启ssh服务
su - hadoop
ssh-copy-id node11
ssh-copy-id node22
ssh-copy-id node33
jdk环境
这里与vmware的配置过程一致
(3)UCloud配置(https://www.ucloud.cn)
1)注册账号
2)配置VPC和子网
3)配置安全组
4)创建服务器
创建node11:
机型和CPU平台随意,建议选择快杰O型与AMD(x86_64),因为最便宜。
外网弹性IP就是公网IP,防火墙就是安全组。
在Ucloud中私有IP是自动分配的。同理node22,node33也可按上述步骤搭建。
5)FinalShell远程登录
使用公网ip,和密钥远程登录,至此我们已经创建好所需的服务器并成功远程登录。
6)hadoop开发环境的配置
与阿里云配置一样。唯一不同的是在Ucloud上需要配置一下主机名,上文设置的主机名称实质上是实例名称
至此,所有hadoop环境都已搭建完成
补充:
CTRL+U : 删除已输入的内容