从零开始三节点Hadoop集群搭建2(自学用)

本文详细介绍了如何通过WSL连接并管理三台虚拟机,包括安装SSH、配置静态IP、设置域名解析、关闭防火墙和SELinux、启用免密登录以及进行时钟同步和软件安装等步骤,为Hadoop集群搭建提供基础配置指导。
摘要由CSDN通过智能技术生成

使用ssh连接虚拟机

为了后续操作方便,一般会使用一些软件然后使用ssh远程连接虚拟机(因为VMware里面不能cv操作)一般是使用Xshell,可以去网上找找Xshell 的使用方法,但是我比较懒加上原先电脑里面有wsl,所以就直接使用wsl远程连接,就是使用一个linux系统去连接另外一个Linux系统,不了解wsl的友友们可以去看看wsl,也挺简单的。

首先在虚拟机中查看ssh是否有服务

 service sshd status

一般没有出现报错就是原先有ssh

如果没有就安装ssh

sudo yum install sshd

然后使用ip addr查看虚拟机的ip地址

在wsl中使用ssh远程连接(例:ssh 虚拟机用户@虚拟机ip),三台都是如此

然后可以将三台虚拟机中的虚拟机名称更改一下,通过使用

vi /etc/hostname

我是将三台虚拟机分别改为master, slave1, slave2。改完之后重启虚拟机就能看到虚拟机名称改变。

所有节点虚拟机网络配置

修改三台虚拟机的网络配置,将ip类型设置为静态ip,并且IP地址都设置成连续的

vi /etc/sysconfig/network-scripts/ifcfg-ens32

有的是ens32有的是ens33,这个可以自己去看一下

然后将这个文件中的配置设置成

TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
DEFROUTE="yes"
IPV4_FAILURE_FATAL="no"
NAME="ens32"
DEVICE="ens32"
ONBOOT="yes"    #这里是yes
IPADDR="192.168.228.150"   #ip地址
PREFIX="24"     #子网掩码
GATEWAY="192.168.228.2"  #网关
DNS1="114.114.115.115"   #DNS

网关可以在VMware中编辑->虚拟网络编辑器->NET模式->NET设置中查看,虚拟机ip地址设置必须与网关在同一网路中,例:

我的网关192.168.228.2

我的虚拟机ip

master 192.168.228.150

slave1 192.168.228.151

slave2 192.168.228.152

三台虚拟机的网络设置都要更改,然后重启一下虚拟机,然后可以试一下ping www.baidu.com能不能行,如果是通的就没什么问题。再用wsl连接(有时候不重启一下会有一些其他问题)。

所有节点设置域名映射解析

对三台虚拟机设置域名映射解析

vi /etc/hosts

在这个文件中添加

192.168.228.150 master
192.168.228.151 slave1
192.168.228.152 slave2

所有节点关闭并且禁用防火墙

如果不关闭后面ssh和Web UI会访问不上

systemctl stop firewalld.service
systemctl disable firewalld.service

所有节点关闭Selinux

vi /etc/selinux/config

 将SELINUX改为disabled

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

所有节点配置免密登陆

配置免密登录可以不使用root用户,因为在一般开发环境中是拿不到超级管理员的权限,所以可以在三台虚拟机中都创建一个普通用户。

useradd 用户名
passwd 设置密码
su 用户名 ##切换到普通用户

 三台虚拟机可以设置一样的用户名和密码,然后再普通用户模式下

 在所有节点生成公钥和私钥

ssh-keygen -t rsa

后面直接所有的交互都敲回车 即可

拷贝公钥到每台服务器
 

ssh-copy-id master

ssh-copy-id slave1

ssh-copy-id slave2

验证ssh登录

ssh node001

exit  # 退出ssh登录

所有节点配置服务器节点时钟同步

在所有节点安装ntpdate

yum  install -y ntpdate

增加定时任务

crontab -e

在文件中添加 

*/1 * * * *  /usr/sbin/ntpdate -u ntp4.aliyun.com > /dev/null 2>&1

安装常用软件

yum install -y vim net-tools lrzsz rsync wget

创建统一目录

mkdir -p /bigdata/{soft,server}

/bigdata/soft    安装文件的存放目录

/bigdata/server  软件安装的目录

定义同步数据脚本

所有节点配置同步脚本

mkdir /home/用户名/bin
cd /root/bin
vim xsync
#!/bin/bash
#1 获取命令输入参数的个数,如果个数为0,直接退出命令 
paramnum=$#
echo "paramnum:$paramnum"
if (( paramnum == 0 )); then
    echo no params;
    exit;
fi
# 2 根据传入参数获取文件名称
p1=$1
file_name=`basename $p1` 
echo fname=$file_name
#3 获取输入参数的绝对路径 
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir 
#4 获取用户名称 
user=`whoami`
#5 循环执行rsync
current=`hostname` 

nodes=$(cat `cd ~ && pwd`/bin/works)
for host in $nodes; do 
  echo ------------------- $host -------------- 
  if [ "$host" != "$current" ];then
     rsync -rvl $pdir/$file_name $user@$host:$pdir
  fi
done

master节点创建works文件

cd /root/bin
vi works

添加 

node001
node002
node004

添加环境变量

vi /etc/profile.d/custom_env.sh
export PATH=$PATH:/root/bin
source /etc/profile

jdk和Hadoop安装请移步从零开始三节点Hadoop集群搭建3(自学用)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值