文章目录
- 1 前言
- 1 配置VPC和子网
- 2 创建安全组
- 3 创建云服务器ECS
- 3.1 规划配置
- 3.2 配置
- 4 xshell连接服务器
- 5 配置基础环境
- 5.1 主机名映射
- 5.2 ssh免密登录
- 5.3 jdk
- 6 问题集
- 6.1 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
- 6.2 用tar解压文件出现错误Not found in archive
- 结语
1 前言
公司电脑配置想要运行虚拟机或者其他一些软件实在卡的不行,只能选择云服务器了。选择阿里云服务器,只是因为其他的没接触过。账号注册什么的,自行查阅相关文档,下面开始。
1 配置VPC和子网
在云上,每个人都可以得到专属的云上私有局域网,称之为 VPC ( virtual private cloud )
它就相当于物理的路由器,可以提供一个子网,并允许我们将所需的资源(服务器、数据库等)放置在这个网络内。 简单理解相当于家庭网络中的路由器。
子网是在 VPC 内部创建的局域网络,可以在一个 VPC 内创建多个子网。
子网支持 /17 至 /29 的子网掩码,可以支持约 8 到 65535 个 IP 地址
第一步:登录阿里云,搜索专有网络VPC,点击打开专有网络控制台,如下图1-1所示
第二步:选择专有网络选项页-选择区域,遵循就近或者周边原则,我这里选择青岛,如下图1-2所示
第三步:点击创建专用网络和交换机
tips:交换机也可以随后配置,然后绑定到我们创建的专用网络上,这里我们就一起配置了
2 创建安全组
安全组其实就是云上的虚拟流量防火墙。
被安全组绑定的资源(比如服务器),其网络流量的进出都被安全组所控制。
我们可以通过控制安全组的规则,来决定:
• 资源的流量可以去往什么地方(出站控制)
• 外部的哪些访问可以连接到资源(入站控制)
安全组的创建
我们将要搭建大数据集群,对于集群,我们需要一个安全组来控制服务器和外部的交互
即通过安全组来控制进出的网络流量。
第一步:找到云服务ECS控制台,点击左侧安装组
tips: 因为我们创建的服务器就是用来学习使用,不对外开放,只要入方向自己能访问,出方向随意
第二步:删除默认规则,只留1条,入方向IP地址为自己的公网IP地址,目的任意,端口任意,如下图2-2所示
3 创建云服务器ECS
3.1 规划配置
集群规划
对于搭建大数据集群,规划使用三台服务器。根据部署的服务,其规格要求基本如下:
节点 | CPU | 内存 |
---|---|---|
node1 | 1核心 | 2GB |
node2 | 1核心 | 1GB |
node3 | 1核心 | 1GB |
当然,如果预算充足可以选择更高的配置。
3.2 配置
第一步:打开云服务器ECS控制台,云服务器ECS-创建实例
第二步:云服务器配置,服务类型,区域,网络,实例规格,镜像,系统盘,公网IP,宽带计费,安全组,登录凭证,高级选项-实例名称,主机名
- 区域 与网络对应,之前网络配置选择了区域
- 需要配置公网IP ,不然本地机器访问不了服务器
- 登录凭证选择密钥对形式,相对安全
- 设置主机名,或者脸上服务器后设置
如下图所示;
配置3台ECS服务器完成,如下图所示:
4 xshell连接服务器
我们配置的ECS服务器选择登录方式为密钥对,创建密钥对时会生成*.pem文件,这个找个位置保存,我们需要用到,如果丢失,删除创新创建和执行绑定。
第一步:主机名映射
# aliyun ecs bigdata
x.x.x.x node1
x.x.x.x node2
x.x.x.x node3
- x.x.x.x换成你服务器公网地址
第二步:打开xshell,创建新的回话,设置连接地址和名称
tips:主机可以填映射的主机名或者IP地址
第三步:用户身份验证
第四步:相同的操作,配置node2和node3的连接,连接3台服务器如下图所示:
5 配置基础环境
对于云服务器,我们也需要做对应的设置,只需要做:
• 主机名映射
• SSH 免密
• JDK 环境
三项即可,其余的在云服务器无需去做,因为
• 防火墙 SELinux 在云上默认关闭
• 时间云会自动同步,主机名和固定 IP 也是预先就设置好了
5.1 主机名映射
其中本地主机名映射,在xshell连接服务器时,已配置过,下面配置下服务器的主机名映射
在三台服务器编辑/etc/hosts
文件
vim /etc/hosts
# 内容
192.168.207.131 node1
192.168.207.132 node2
192.168.207.133 node3
- 三台服务器在同一子网下,所以可以配置内网(私网)IP地址,可以互通
5.2 ssh免密登录
- root用户ssh免密登录
root用户我们已经设置为密钥对登录,只需要把密钥对文件*.pem 上传到/root/.ssh/
文件夹,并改名为id_rsa
即可。
后续大数据的软件,将不会以root用户启动(确保安全,养成良好的习惯)我们为大数据的软件创建一个单独的用户hadoop,并为三台服务器同样配置hadoop用户的免密互通
-
在每一台机器执行:useradd hadoop,创建hadoop用户
-
在每一台机器执行:passwd hadoop,设置hadoop用户密码为123456
-
在每一台机器均切换到hadoop用户:su - hadoop,并执行 ssh-keygen -t rsa -b 4096,创建ssh密钥
-
在每一台机器均执行
ssh-copy-id node1 ssh-copy-id node2 ssh-copy-id node3
如果报错Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
,手动配置ssh免密互通,解决方案在下面6.1。
5.3 jdk
参考下面连接4
6 问题集
6.1 Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
-
在配置完ssh免密登录后,测试的时候报错,报错内容
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).
-
报错原因不清楚
-
解决方案,参考下面连接3
第一步:编辑/etc/ssh/sshd_config
,修改如下内容
# 启用pubkey认证
PubkeyAuthentication yes
第二步:使用ssh-keygen -t rsa -b 2048 生成密钥对,root用户默认会在~/.ssh目录下,将生成的公钥添加到.ssh/authorized_keys。
第三步:更改.ssh和authorized_keys权限
chmod 0700 ~/.ssh
chmod 0600 ~/.ssh/authorized_keys
第四步:相互添加公钥,把所有的公钥在每个节点的~/.ssh/authorized_keys文件中都添加一遍
6.2 用tar解压文件出现错误Not found in archive
-
解决方案,用参数
-C
指定解压缩目录,示例tar -zxvf jdk-8u361-linux-x64.tar.gz -C /export/server
参考地址下面连接5
结语
如果小伙伴什么问题或者指教,欢迎交流。
❓QQ:806797785
参考链接:
[1]大数据视频[CP/OL].2020-04-16.p1-6.
[2]Xshell ssh密钥对连接阿里云服务器[CP/OL].
[3]SSH 免密登录配置与Permission denied (publickey,gssapi-with-mic,password)问题[CP/OL].
[4]0101preparation-大数据学习[CP/OL].
[5]Centos7:用tar解压文件出现错误Not found in archive[CP/OL].