文章目录
注意事项
-
有问题及时留言,每个人的能力都有其边界,但集体的智慧是无限的,因此我对每一份建议都给予最高的重视
-
操作中的一些备份操作都可以使用快照替代,个人比较喜欢克隆出来一份,请按照自己的习惯进行操作
-
操作系统使用的是ubuntu,版本为22.04.02,和16版本之前的系统指令不同,请自定甄别
-
绝大部分操作使用的都是非root用户,包括免密登录以及环境变量的设置等
-
经常备份是个好习惯,做好一段时间之后快照备份一下
-
软件安装目录目前多放在了
/opt
文件夹下,笔者后续会安装其他的一些软件,比较多且杂乱,所以没有在/usr/local
进行创建,请按照自己的习惯进行 -
本次展示的是在vm上的安装操作,扩展内存,cpu,存储空间操作请移步👉(暂时空着,后续会写一下简单的教程)
准备工作
开发软件
- 虚拟化软件:vmware
- 连接工具:xshell
- 文件传输程序:xftp
操作系统
本次安装使用ubuntu-22.04.2_server版本,官网下载路径
使用LTS版本安装即可,下载iso镜像文件到指定文件夹
环境创建
先创建一个基础的环境配置,后续根据基础的环境进行复制即可
创建虚拟机
加载镜像
查看虚拟网络配置信息
用于安装网络配置,请提前记录
安装
语言,键盘,Server版本
网络设置
镜像源设置
更改阿里镜像源
http://mirrors.aliyun.com/ubuntu
磁盘分配
默认情况下将存储空间先全部分配,后续扩容可以关闭虚拟机,调节磁盘空间变大,之后通过命令行或者管理工具进行扩大
- Cockpit
- 命令行
信息设置
填写自己的信息即可,用户名,服务器名称,密码等等,点击安装
需要等待一段时间
注意:server name无法识别下划线
选择重启
不安装更新重启,需要继续等待一段时间
快照保存
ubuntu默认情况下是禁用root用户的,因为系统的安全性,应该使用sudo命令来执行管理员的操作
使用刚才创建的用户可以正常登录,执行关机操作,并创建快照保存当前的状态
环境配置
基础环境保持不变,克隆出另一个环境,安装基础的jdk环境以及环境变量等。
jdk1.8下载地址(需要oracle账户)
我这里安装的是jdk-8u212-linux-x64.tar.gz
环境克隆
建议完整克隆,方便迁移管理
修改机器名称,重启后会生效
sudo vim /etc/hostname
修改ip地址
# 查看ip地址,和ifconfig功能类似,ubuntu默认使用ip addr
ip addr
# 修改网络配置文件(ubuntu18之后的配置文件,18之前的配置文件为 /etc/network/interfaces), 记得:wq保存
sudo vim /etc/netplan/00-installer-cofig.yml
# 应用网络配置
sudo netplan apply
之后使用xshell进行连接(xshell,mobaxterm,finalshell等连接工具选择自己喜欢用的就可以)
文件上传
将下载好的java包通过xftp上传到指定的文件夹,文件夹给与比较高的权限
# 创建文件夹并给予权限方便上传文件
cd /opt
sudo mkdir package
sudo chmod 777 package
安装目录
安装目录看个人的习惯,除了自己在根目录下创建,一般情况下有两个目录可以选择
- /opt:用于安装可选或者附加的软件包,特别是较大的应用程序,有助于从系统的其余部分中隔离大型应用程序,便于管理和升级
- /usr/local:将软件安装在这里,可以避免与系统软件包管理器安装的软件冲突,所有的用户程序和库默认查找/usr/local下的路径,易于发现与使用
考虑到隔离软件避免干扰的情况(多用户的场景),选择/opt目录
测试环境自己练习使用
创建文件夹并解压到指定的安装路径下,我这里在原本解压的文件夹上面又创建了一层,方便后续如果有多版本的情况选择合适的版本。
创建目录
安装JDK
创建目录并解压安装包
环境变量配置
#set oracle jdk environment
export JAVA_HOME=/opt/program/jdk/jdk1.8.0_212
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
到这一步,我们已经创建好了带有jdk的ubuntu环境了,接下来只需要克隆,并修改ip地址和机器名称即可。
环境克隆
克隆之前先进行备份,快照或者克隆都可以,我这里习惯性的再克隆了另外的机器,如果存储空间不足的话使用快照即可。
由于克隆的机器最开始的ip地址是相同的,在机器同时开机的情况下,使用xshell等连接工具会连接不到指定的机器,这里在vmware的操作界面进行。
机器克隆
我这里习惯性的使用克隆,仅供参考,之后同样的操作克隆三台
hostname以及ip修改
另外两台同样的操作,修改各自的hostname以及ip地址,下面是hadoop02节点的修改,hadoop03节点的操作类似。这样我们就得到了三台虚拟机,请快照备份,方便出现问题及时恢复
sudo vim /ect/hostname
sudo vim /etc/netplan/00-installer-cofig.yml
后续操作都会使用xshell进行操作
免密登录设置
hosts文件修改
首先需要将每台机器的配置信息配置到hosts文件中,复制自己环境的配置信息,追加到文件的末尾即可
sudo vim /etc/hosts
另外的机器重复上述操作。
免密登录
生成rsa密钥对,连续回车即可,三台机器都要执行,默认在当前用户的目录下生成对应的文件。
# 私钥
id_rsa
# 公钥
id_rsa.pub
# 授权key,存储免密服务器公钥
authorized_keys
# 记录访问过服务器的公钥信息
known_hosts
三台机器保持authorized_keys
中的公钥信息一致即可
如果有很多台机器,则使用ssh-copy-id
将所有的公钥发送到一台机器上即可。
ssh-copy-id是一个用于将本地的 SSH 公钥文件安全地复制到远程主机的登录目录中的命令。
此处只要三台机器,所以在每台机器上依次执行发送公钥的指令即可
ssh-copy-id base-node-hadoop01
ssh-copy-id base-node-hadoop02
ssh-copy-id base-node-hadoop03
发送公钥并查看最终的authorized_keys
【笔者是vmware虚拟化环境,对外访问的话不建议公开】
验证