01.环境准备

环境配置(三台)

👉机器配置
机器分布:一主二从 hadoop100, hadoop101, hadoop102
系统版本:Centos 7.4.1708
镜像版本:CentOS-7-x86_64-Minimal-1708.iso
虚拟机:VMWare 15
连接工具:XShell7
其他工具:jdk1.8
工具链接:https://pan.baidu.com/s/19qzgfufkSUXW5vlKlITgeg 提取码:86i7
👉系统环境设置

1.更新yum源**

安装wget命令

yum install -y wget

更新yum源(使用阿里云镜像源)

mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

清空&生成缓存

yum clean all
yum makecache

yum安装常用命令

yum install -y vim lrzsz ntp rsync zip git gcc-c++ chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

2.设置hosts

vim /etc/hosts

#ip hostname 通过主机名访问ip
192.168.100.100 hadoop100
192.168.100.101 hadoop101
192.168.100.102 hadoop102

3.关闭防火墙&Selinux

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

关闭Selinux

sed -i ‘s#enforcing#disabled#g’ /etc/selinux/config

4.ssh免密

在当前机器生成密钥(连摁三下回车)

ssh-keygen -t rsa

###拷贝公钥到其他两个机器上,输入root和密码123456(三台)

ssh-copy-id hadoop100
ssh-copy-id hadoop101
ssh-copy-id hadoop102

5.ntp时间同步

vim /etc/ntp.conf

hadoop100

server 127.127.1.0      ## 添加行
systemctl restart ntpd 重启服务

hadoop101,hadoop102

## 添加行:
server hadoop100 
systemctl restart ntpd 重启服务
systemctl start ntpd 启动ntp
systemctl enable ntpd 开机自启
ntpdate -u hadoop100 手动同步

JDK安装

解压

tar -zxvf jdk-8u271-linux-x64.tar.gz -C /opt/

添加环境变量

vim /etc/profile

export JAVA_HOME=/opt/jdk1.8.0_271 
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib 
export PATH=$JAVA_HOME/bin:$PATH 

环境变量生效

source /etc/profile

批量执行脚本

vim /opt/script/all

#!/bin/bash

#批量执行脚本
for i in hadoop102 hadoop101 hadoop100
  do
		echo "****************** $i exec $1*********************"
		ssh $i "source /etc/profile && $1"
	done

chmod +x /opt/script/all

批量同步脚本

vim /opt/script/xsync

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
  echo Not Enough Arguement!
  exit;
fi
#2. 遍历集群所有机器
for host in hadoop101 hadoop102
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

chmod +x /opt/script/xsync

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值