/opt 根目录
创建新文件夹管理安装的软件
/opt/module 安装应用程序(如:jdk、Tomcat)/opt/software 安装资源文件 (如: mysql的jar包、jdk.tar包)
安装JDK1.8 下载 官网华为云官网下载路径:https://www.oracle.com/java/technologies/downloads/#java8
上传文件 修改权限 chmod国内仓库(华为云): https://mirrors.huaweicloud.com/java/jdk/8u202-b08/
r:4 读权限 w:2 写权限 x:1 执行权限
owner group others 三个身份
修改jdk1.8 tar包权限 chmod 700 jdk-8u202-linux-x64.tar.gz
解压tar包Liunx 安装tar命令
yum install -y tar
解压jdk8到module文件夹
修改环境变量tar -zxvf jdk-8u202-linux-x64.tar.gz …/module/
修改/etc/profile文件
vim /etc/profile
配置jdk1.8环境变量
# 配置jdk1.8 环境变量
export JAVA_HOME=/opt/module/jdk1.8.0_202
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
让profile文件立即生效
source /etc/profile
测试是否安装成功
配置免密登录 修改主机名称java -version
参考:华为云文档 https://support.huaweicloud.com/ecs_faq/zh-cn_topic_0050735736.html
- 修改 hostname
vim /etc/hostname
hostname文件下
如:名称改为hadoop101
- 修改 network
vim /etc/sysconfig/network
说明: 如果配置文件中没有HOSTNAME,请手动补充并将参数值设置为修改后的主机名
如:HOSTNAME=new_hostname
- 修改 cloud.cfg
vim /etc/cloud/cloud.cfg
注释语句- update_hostname
- 重启弹性云服务器
reboot
修改 主机名和ip映射关系
vim /etc/hosts
127.0.0.1 hadoop101 hadoop101 121.36.85.121 hadoop101 121.36.64.238 hadoop102 121.36.17.47 hadoop103
修改内容
修改后所有主机名称
| 主机名称 | hadoop101 | hadoop102 | hadoop103 |
|---|---|---|---|
生成公钥和私钥
ssh-keygen -t rsa
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
拷贝公钥到其他机器上
每台机器都执行
ssh-copy-id hadoop101 ssh-copy-id hadoop102 ssh-copy-id hadoop103
.ssh文件夹下(~/.ssh)的文件
| known_hosts |
| id_rsa |
| id_rsa.pub |
| authorized_keys |
报错现象
解决方法
vi ~/.ssh/known_hosts
将对应的IP地址信息全部清空,重新ssh-copy-id就行了
分发脚本xsync集群分发脚本 (参考:尚硅谷xsync集群脚本)
实现循环复制文件到所有节点的相同目录下
安装 rsync
yum -y install rsync
rsync命令原始拷贝
rsync -rvl /opt/module root@hadoop103:/opt/
脚本实现
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0));
then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=102; host<104; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
"xsync" 26L, 487C



