追随大数据Hadoop的脚步-1-入门与背景(含视频资料与代码)

视频资料:https://www.bilibili.com/video/BV1JT4y1g7nM?

一、大数据基本背景

1.1 大数据架构:

1.2 企业数据部门的大数据工作流程:

  • 构建环境背景知识:服务器、磁盘、交换机、局域网、机架

  • IDC(Internet Data Center)互联网数据中心

  • 磁盘阵列Radi廉价冗余磁盘阵列:将小容量磁盘整合为大磁盘充分利用 => 独立磁盘冗余阵列

二、Linux集群的搭建

2.1 准备工作

使用工具VMWare

Linux使用CentOS

2.1.1 开启VMware的所有服务

2.1.2 确定自己的网关地址

我们采用NAT模式使虚拟机连上网络

我的网关地址是:192.168.178.2

2.1.3 确认VmNet8网卡已经配置好了IP地址和DNS

2.1.4 NAT模式的介绍

NAT模式借助虚拟NAT设备和虚拟DHCP服务器,使得虚拟机可以联网。其网络结构如下图所示:

在NAT模式中,主机网卡直接与虚拟NAT设备相连,然后虚拟NAT设备与虚拟DHCP服务器一起连接在虚拟交换机VMnet8上,这样就实现了虚拟机联网。

VMware Network Adapter VMnet8虚拟网卡主要是为了实现主机与虚拟机之间的通信。

2.2 复制虚拟机

将准备好的虚拟机文件复制三份,并分别重命名为node1、node2、node3

双击文件夹下的vmx后缀文件,就会在VMware中打开

打开三台,并且在VMware中重新命名:

分配内存:

虚拟机的内存配置的简单公式:每台机器的内存=(主机内存 - 4)/ 3

(如果是8G内存的那么只需要-2,也就是每个虚拟机分配2G内存)

2.3 集群规划

主机名 IP Mac地址 环境配置 安装
node1 192.168.178.100 00:50:56:24:BA:6B
node2 192.168.178.101 00:0c:29:b1:c1:ce
node3 192.168.178.102 00:50:56:24:7d:00

2.4 设置ip和Mac地址

  • 修改虚拟机的Mac地址

    在开启每一台虚拟机之前,先生成每台主机的mac地址并记住,这样使每个主机的Mac地址都不相同

    开启每一台虚拟机,分别登陆,账号:root, 密码:123456

    vim /etc/udev/rules.d/70-persistent-net.rules
    

    修改以下网卡名并核对每台虚拟机的Mac地址是否正确:

  • 设置IP地址

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

    设置静态IP,编写成如下格式:

    重启检查IP与是否联网(只要主机联网了,虚拟机就可以联网)

    如果发现错误:
    那么很有可能就是配置文件没写对,再次检查mac地址ip地址与网关是否正确

    修改完毕后可以不重启,只重起网卡,命令如下:

    service network restart
    

    然后再次重试

2.5 修改每台机的主机名

  • 修改主机名

    vi /etc/sysconfig/network
    

    HOSTNAME=node01

  • 给每台虚拟机设置ip和域名映射

    vim /etc/hosts
    

    设置完毕后,分别重新启动三台主机

2.6 关闭防火墙和SELinux

  • 关闭防火墙

    service iptables stop #关闭防火墙
    chkconfig iptables off #禁止开机启动
    

  • 关闭SELinux

    SELinux是Linux的一种安全子系统,Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程, 则这个进程可以操作任何一个文件,SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源

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

    # 修改selinux的配置文件
    vi /etc/selinux/config
    

2.7 虚拟机免密登录

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

  • 免密 SSH 登录的原理(rsa)

    1. 需要先在 B节点 配置 A节点 的公钥
    2. A节点 请求 B节点 要求登录
    3. B节点 使用 A节点 的公钥, 加密一段随机文本
    4. A节点 使用私钥解密, 并发回给 B节点
    5. B节点 验证文本是否正确

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

三台机器上执行:

ssh-keygen -t rsa

执行该命令之后,按下三个回车即可

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

三台机器将拷贝公钥到第一台机器
三台机器执行命令:
ssh-copy-id node01

都会拷贝到node01的如下目录:

这一步就是让node01拥有各个主机的公钥

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

将第一台机器的公钥拷贝到其他机器上
在第一台机器上面指向以下命令

scp /root/.ssh/authorized_keys node02:/root/.ssh
scp /root/.ssh/authorized_keys node03:/root/.ssh

这一步就是将node01的公钥库拷贝到各个节点中,这样就实现了各个节点的公钥共享

如果提示连接失败,就是刚刚主机域名映射没有写对

2.7.4 免密登录测试

ssh node02

成功

2.8 三台机器时钟同步

  • 为什么需要时间同步
    因为很多分布式系统是有状态的, 比如说存储一个数据, A节点 记录的时间是 1, B节点 记录的时间是 2, 就会出问题
  • 方式 1:
    所有主机和同一台主机的时间保持同步
  • 方式2:
    通过网络,所有主机和时钟同步服务器保持同步

采用第二种方式

## 安装
yum install -y ntp
## 启动定时任务
crontab -e

随后在输入界面键入

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

这个命令的意思就是每分钟执行后面的命令,与阿里的时钟同步服务器保持一致

2.9 三台机器安装jdk

2.9.1 卸载自带openjdk

rpm -qa | grep java
rpm -e java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 tzdata-java-2016j-1.el6.noarch java-1.7.0-openjdk-1.7.0.131-2.6.9.0.el6_8.x86_64 --nodeps

2.9.2 创建安装目录

mkdir -p /export/softwares #软件包存放目录
mkdir -p /export/servers #安装目录

2.9.3 上传并解压

官网下载linux jdk : Java SE Development Kit 8 — 下载 | Oracle 中国

传输到三个linux节点中

#上传jdk到/export/softwares路径下去,并解压
tar -zxvf jdk-8u271-linux-x64.tar.gz -C /export/servers/

2.9.4 配置环境变量

vim /etc/profile

export JAVA_HOME=/export/servers/jdk1.8.0_271
export PATH=:$JAVA_HOME/bin:$PATH
source /etc/profile

测试下是否成功安装:

2.10 Mysql的安装

安装在一台主机上即可:我安装在node02上

2.10.1 第一步:在线安装mysql相关的软件包

yum install mysql mysql-server mysql-devel

2.10.2 第二步:启动mysql的服务

/etc/init.d/mysqld start

2.10.3 第三步:通过mysql安装自带脚本进行设置

/usr/bin/mysql_secure_installation

密码:123456

2.10.4 第四步:进入mysql的客户端然后进行授权

进入客户端

mysql -u root -p

授权:

#  *.*:任何数据库的任何表, root@%:代表任何IP的root用户,总体表示允许任何人通过root身份访问任何数据库与表(开放所有权限)
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;

安装完毕了可以通过远程工具去访问:

成功连接上。

猜你喜欢

转载自blog.csdn.net/weixin_43988498/article/details/109999351