1.大数据环境统一配置

    1. 三台虚拟机创建

第一种方式:通过iso镜像文件来进行安装(不推荐)

第二种方式:直接复制安装好的虚拟机文件(强烈推荐)

在课程资料里边已经提供了一个安装好的虚拟机node1(注意,为了大家以后环境的统一,尽量使用课程资料中提供的已经安装好的虚拟机!!!!!!),我们需要根据这个虚拟机克隆出另外两台虚拟机出来,注意,步骤如下:

  1. 使用VMware加载资料中虚拟机node1

2)克隆第二台虚拟机,注意克隆虚拟机的时候,虚拟机必须是关闭状态

 右键点击node1

下一步

下一步

创建完整克隆,下一步

指定虚拟机名字和存放位置,三台虚拟机的存放路径尽量在一起,不在一起也没关系

等待克隆完毕

关闭

  1. 克隆第三台虚拟机,通过node1虚拟机克隆,克隆方式是一样的,注意修改虚拟机的名称和存放位置。

    1. 设置三台虚拟机的内存和CPU核数设置

三台虚拟机再加上windows本身, 需要同时运行4台机器, 所以在分配的时候,, 每台虚拟机的内存为: 总内存 ÷ 4,比如电脑总内存为16G,则每台虚拟机内存为4G。

下面是以node1为例对内存进行配置:

CPU核数, 建议每个服务器设置为2核即可, 保证能够更加流畅运行

    1. 配置MAC地址

node2和node3都是从node1克隆过来的,他们的MAC地址都一样,所以需要让node2和node3重新生成MAC地址,生成方式如下:

1、配置node2的MAC地址

1)使用VMware打开node2

2)右键点击node2,选择设置

3)生成新的MAC地址

  1. 配置node3的MAC地址

node3的配置方式和node2相同,不再重复

    1. 配置IP地址

三台虚拟机的IP地址配置如下:

node1: 192.168.88.161

node2 192.168.88.162

node3: 192.168.88.163

1:配置node1主机IP

  1. 修改ip配置文件,设置IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="dfd8991d-799e-46b2-aaf0-ed2c95098d58"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.88.161"

PREFIX="24"

GATEWAY="192.168.88.2"

NETMASK="255.255.255.0"

DNS1="8.8.8.8"

DNS2="114.114.114.114"

IPV6_PRIVACY="no"

  1. 重启网络服务

systemctl restart network   # 重启网络服务

  1. 查看ip地址

ifconfig

  1. 测试网络连接

ping  www.baidu.com

2:配置node2主机IP

  1. 修改ip配置文件,设置IP地址

vim /etc/sysconfig/network-scripts/ifcfg-ens33

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="dfd8991d-799e-46b2-aaf0-ed2c95098d58"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.88.162"

PREFIX="24"

GATEWAY="192.168.88.2"

NETMASK="255.255.255.0"

DNS1="8.8.8.8"

DNS2="114.114.114.114"

IPV6_PRIVACY="no"

  1. 重启网络服务

systemctl restart network   # 重启网络服务

  1. 查看ip地址

ifconfig

  1. 测试网络连接

ping  www.baidu.com

2:配置node3主机IP

  node3主机IP的配置方式和node2一样,将其IP地址设置为:192.168.88.163,在这里不再重复。

TYPE="Ethernet"

PROXY_METHOD="none"

BROWSER_ONLY="no"

BOOTPROTO="static"

DEFROUTE="yes"

IPV4_FAILURE_FATAL="no"

IPV6INIT="yes"

IPV6_AUTOCONF="yes"

IPV6_DEFROUTE="yes"

IPV6_FAILURE_FATAL="no"

IPV6_ADDR_GEN_MODE="stable-privacy"

NAME="ens33"

UUID="dfd8991d-799e-46b2-aaf0-ed2c95098d58"

DEVICE="ens33"

ONBOOT="yes"

IPADDR="192.168.88.163"

PREFIX="24"

GATEWAY="192.168.88.2"

NETMASK="255.255.255.0"

DNS1="8.8.8.8"

DNS2="114.114.114.114"

IPV6_PRIVACY="no"

    1. 使用CRT连接三台虚拟机

1、建立连接

2、参数配置

3、设置主题,颜色和仿真

其他两台基本类似

    1. 设置主机名和域名映射
  1. 配置每台虚拟机主机名:

分别编辑每台虚拟机的hostname文件,直接填写主机名,保存退出即可。

vim /etc/hostname

第一台主机主机名为:node1.itcast.cn

第二台主机主机名为: node2.itcast.cn

第三台主机主机名为: node3.itcast.cn

  1. 配置每台虚拟机域名映射

分别编辑每台虚拟机的hosts文件,在原有内容的基础上,填下以下内容:

注意:不要修改文件原来的内容,三台虚拟机的配置内容都一样。

vim /etc/hosts

192.168.88.161 node1 node1.itcast.cn

192.168.88.162 node2 node2.itcast.cn

192.168.88.163 node3 node3.itcast.cn

    1. 关闭三台虚拟机的防火墙和Selinux
  1. 关闭每台虚拟机的防火墙

在每台虚拟机上分别执行以下指令:

systemctl stop firewalld.service          #停止firewall

systemctl disable firewalld.service       #禁止firewall开机启动

关闭之后,查看防火墙状态:

systemctl status firewalld.service

  1. 关闭每台虚拟机的Selinux

1)什么是SELinux ?

  1)SELinux是Linux的一种安全子系统

  2)Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程,  则这个进程可以操作任何一个文件。

3)SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源

2)为什么要关闭SELinux

如果开启了SELinux, 需要做非常复杂的配置, 才能正常使用系统, 在学习阶段, 在非生产环境, 一般不使用SELinux

 SELinux的工作模式:

  enforcing 强制模式

  permissive 宽容模式

  disabled 关闭

  1. 关闭SELinux方式

编辑每台虚拟机的Selinux的配置文件

vim /etc/selinux/config

Selinux的默认工作模式是强制模式,配置如下:

将Selinux工作模式关闭:

  1. 分别重启三台虚拟机

reboot

    1. 三台机器机器免密码登录

1、为什么要免密登录

 Hadoop 节点众多, 所以一般在主节点启动从节点, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦。

         

2、免密 SSH 登录的原理

1. 需要先在 B节点 配置 A节点 的公钥

2. A节点 请求 B节点 要求登录

3. B节点 使用 A节点 的公钥, 加密一段随机文本

4. A节点 使用私钥解密, 并发回给 B节点

5. B节点 验证文本是否正确

3、实现步骤

第一步:三台机器生成公钥与私钥

在三台机器执行以下命令,生成公钥与私钥

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可,然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥),默认保存在/root/.ssh目录。

第二步:拷贝公钥到同一台机器

三台机器将拷贝公钥到第一台机器

三台机器执行命令:

ssh-copy-id node1

在执行该命令之后,需要输入yes和node1的密码:

第三步:复制第一台机器的认证到其他机器

将第一台机器的公钥拷贝到其他机器上

在第一台机器上指行以下命令

scp /root/.ssh/authorized_keys node2:/root/.ssh

scp /root/.ssh/authorized_keys node3:/root/.ssh

执行命令时,需要输入yes和对方的密码

第三步:测试SSH免密登录

可以在任何一台主机上通过ssh 主机名命令去远程登录到该主机,输入exit退出登录

例如:在node1机器上,免密登录到node2机器上

ssh node1

exit

执行效果如下:

    1. 三台机器时钟同步

为什么需要时间同步

因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是1, B节点 记录的时间是2, 就会出问题

时钟同步方式

方式一:通过网络进行时钟同步

通过网络连接外网进行时钟同步,必须保证虚拟机连上外网

  1. 启动定时任务

crontab -e

随后在输入界面键入以下内容,每隔一分钟就去连接阿里云时间同步服务器,进行时钟同步

*/1 * * * * /usr/sbin/ntpdate -u ntp4.aliyun.com;

方式二:通过某一台机器进行同步

以192.168.88.161这台服务器的时间为准进行时钟同步

      1. 第一步:在node1虚拟机安装ntp并启动

安装ntp服务

yum -y install ntp

启动ntp服务

systemctl start  ntpd

设置ntpd的服务开机启动

#关闭chrony,Chrony是NTP的另一种实现

systemctl disable chrony

#设置ntp服务为开机启动

systemctl enable ntpd

      1. 第二步:编辑node1的/etc/ntp.conf文件

编辑node1机器的/etc/ntp.conf

vim /etc/ntp.conf

在文件中添加如下内容(授权192.168.88.0-192.168.88.255网段上的所有机器可以从这台机器上查询和同步时间)

restrict  192.168.88.0  mask  255.255.255.0  nomodify  notrap

注释一下四行内容:(集群在局域网中,不使用其他互联网上时间)

#server  0.centos.pool.ntp.org

#server  1.centos.pool.ntp.org

#server  2.centos.pool.ntp.org

#server  3.centos.pool.ntp.org

去掉以下内容的注释,如果没有这两行注释,那就自己添加上(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)

server   127.127.1.0

fudge    127.127.1.0  stratum  10

配置以下内容,保证BIOS与系统时间同步

vim /etc/sysconfig/ntpd

添加一行内容  

SYNC_HWLOCK=yes    

                             

重启ntp服务

systemctl restart  ntpd    

      1. 第三步另外两台机器与第一台机器时间同步

另外两台机器与192.168.88.161进行时钟同步,在node2和node3机器上分别进行以下操作

crontab  -e

添加以下内容:(每隔一分钟与node1进行时钟同步)

*/1 * * * * /usr/sbin/ntpdate 192.168.88.161

    1. 虚拟机软件安装
      1. Linux上安装MySQL(node1)

注:需要连接互联网,在线 mysql 的安装包,5.6 的版本大约 86M , 仅需在node1安装即可

        1. MySQL在线下载安装

 1) 查看 CentOS 是否自带的 MySQL,如果已经安装需要卸载。如果没有找到,则表示没有安装。

如果查询到有内容:  使用  rpm -e --nodeps 要卸载名称

例如:

rpm -e --nodeps mysql-libs-5.1.73-8.el6_8.x86_64

2) 在线获取 CentOS7 mysql rpm 安装文件,直接执行如下命令:

wget https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm

这条语句只是下载了一个 rpm 文件,25K 大小

3) 执行安装命令:

rpm -ivh mysql80-community-release-el7-1.noarch.rpm

4) 得到两个配置文件,在/etc/yum.repos.d 目录下。

4.1) mysql-community.repo 用于指定下载哪个版本的安装包

4.2) mysql-community-source.repo 用于指定下载哪个版本的源码

5) 修改 MySQL 的下载配置文件

   进入目录命令:

cd /etc/yum.repos.d

编辑配置文件命令:

vim mysql-community.repo

我们下载 MySQL 5.6,把 5.6 下的 enabled 设置为 1,表示下载。

MySQL8 的下载关闭,将 enabled 设置为 0

保存修改退出。

6) 在当前目录/etc/yum.repos.d 下执行下面的命令,开始在线下载:客户端,服务器端,开发的工具包。

在线下载安装命令介绍:yum(全称为 Yellow dog Updater, Modified

作用:用于自动从服务器上下载相应 的软件包,自动安装,并且自动下载它的依赖包。

yumYellow dog Updater, Modified)是一个基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且 安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装。

  1.  语法说明

进行在线下载安装 mysql 命令

yum -y install mysql-community-client mysql-community-server mysql-community-devel

这里需要比较长的时间,要从互联网上下载 86M 左右的内容

7) 使用 rpm 命令,可以查询到 mysql 已经安装好的包

        1.  启动MySQL服务并登陆

1) 启动 mysql 的服务

systemctl start mysqld

2) mysql 加到系统服务中并设置开机启动

systemctl enable mysqld

3) 登录 mysqlroot 用户默认没有密码

mysql -uroot

4) mysql 中修改自己的密码 : 此处设置为 123456

set password = password('123456');

        1.  设置远程访问权限

1) 开启 mysql 的远程登录权限,默认情况下 mysql 为安全起见,不支持远程登录 mysql,所以需要设置开启,并且刷新权限缓存。远程登录 mysql 的权限登录 mysql 后输入如下命令:

grant all privileges on *.* to 'root'@'%' identified by '123456';

flush privileges;

  1. 确保防火墙已关闭

        1.  客户端windows连接linux中mysql

到此mysql安装全部结束

注意:如果希望删除卸载 mysql 执行如下命令

yum -y remove mysql-community-client mysql-community-server mysql-community-devel

      1.  JDK安装(所有节点安装)

JDK 是个绿色软件,解压并且配置环境变量即可使用, 三个节点都需要安装的

        1.  JDK安装步骤

1) 在虚拟机中创建两个目录

mkdir -p /export/software    软件包放置的目录

mkdir -p /export/server      软件安装的目录

2) 进入 /export/software 目录, 上传jdk的安装包:  jdk-8u241-linux-x64.tar.gz

3) 解压压缩包到/export/server目录下

tar -zxvf jdk-8u241-linux-x64.tar.gz -C /export/server

查看解压后的目录,目录中有 jdk1.8.0_144 jdk 解压的目录

4) 配置 jdk 环境变量,打开/etc/profile 配置文件,将下面配置拷贝进去。export 命令用于将 shell 变量输出为环境变量

第一步: vi /etc/profile

第二步: 通过键盘上下键 将光标拉倒最后面

第三步: 然后输入 i, 将一下内容输入即可

#set java environment

JAVA_HOME=/export/server/jdk1.8.0_241

CLASSPATH=.:$JAVA_HOME/lib

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

第四步: esc键 然后 :wq  保存退出即可

  1. 重新加载环境变量:

source /etc/profile

  1. 配置jdk是否安装成功

java -version

7) 将jdk分发给node2和node3

cd /export/server/

scp -r jdk1.8.0_241/ node2:$PWD

scp -r jdk1.8.0_241/ node3:$PWD

8) 在node2和node3配置jdk的环境变量

scp -r /etc/profile node2:/etc/

scp -r /etc/profile node3:/etc/

分别在node2和node3重新加载环境变量

source /etc/profile

9) 测试node2和node3 是否安装成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一鸣888

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值