搭建Linux虚拟机流程
以下教程使用linux版本为Centos7.5
1.配置网络
1)修改虚拟机的静态IP
进入
sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33
修改如下几项配置
BOOTPROTO=static --改成静态IP
ONBOOT=yes --开机之后网卡是否重启
IPADDR=192.168.1.101 --当前IP地址
GATEWAY=192.168.1.2 --网关
DNS1=192.168.1.2 --DNS
2)重启网卡
service network restart
2.安装必要环境
sudo yum install -y epel-release
sudo yum install -y psmisc nc net-tools rsync vim lrzsz ntp libzstd openssl-static tree iotop git
3.配置主机名
vim /etc/hostname
4.配置映射
vim /etc/hosts
5.配置用户
1)创建用户
sudo useradd username
2)设置密码
sudo passwd username
3)配置用户root权限(可选)
vim sudo
进入后在命令模式下输入:nu
在91行处修改代码
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
username ALL=(ALL) ALL
6.创建软件安装目录
1)在opt目录下创建module、software文件夹
sudo mkdir /opt/module /opt/software
2) 修改module、software文件夹的所有者id(可选)
sudo chown username:groupname /opt/module /opt/software
7.配置ssh免密脚本(当前用户生效)
1)在当前机器生成公钥和私钥
ssh-keygen -t rsa
然后敲(三个回车),就会在当前用户家目录生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2)将公钥拷贝到要免密登录的目标机器上
执行每条命令时都需要输入一次yes和一次登录密码
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
3)拷贝本机的.ssh目录到所有目标机器
scp -r .ssh/* username@hadoop104:~/.ssh/
4)测试
ssh 目标机器主机名
8.集群分发脚本
使用集群分发脚本可以简化操作,提高开发效率
原理:
基于rsync命令搭建
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去
基本语法
rsync -av $pdir/$fname $user@hadoop$host:$pdir/$fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
实现方式:
1)在家目录创建一个xsync文件
cd ~
vim xsync
- 在文件中编写如下代码
#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
3)修改脚本 xsync 具有执行权限
chmod +x xsync
4)将脚本移动到/bin中,以便全局调用
sudo mv xsync /bin/
5)测试脚本
sudo xsync /bin/xsync
9.安装jdk(配置软件环境通用教程)
1)将jdk安装包放在/opt/software目录下
- 卸载现有jdk
rpm -qa | grep -i java | xargs -n1 sudo rpm -e --nodeps
3)解压
tar -zxvf /opt/software/jdk-8u212-linux-x64.tar.gz -C /opt/module/
4)配置环境变量
1))新建/etc/profile.d/my_env.sh文件
sudo vim /etc/profile.d/my_env.sh
2))添加如下内容
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
3))保存后退出
4)) 刷新环境变量
source /etc/profile
5)测试jdk是否安装成功
java -version
如果不显示,使用reboot命令重启
10.查看集群中所有节点的进程
1)在~目录下新建jpsall
vim ~/jpsall
2)将以下内容追加到脚本
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps $@ | grep -v Jps
done
3)给脚本增加执行权限
chmod +x ~/jpsall
- 将脚本移动到当前用户的bin目录下
mkdir ~/bin
mv jpsall ~/bin
5)测试
jpsall