大数据工程师工作笔记之集群节点准备

  • 大数据工程师工作笔记系列分享
  • 2020,成为更好的自己

01 Linux 系统网络配置

在公司中,一般来说,大数据集群是不能上网的,这就需要一个跳板机,将需要的组件传到大数据集群中离线安装就可以了。

  1. 用 ip addr (centos7)命令来查看网络接口配置信息,此时只能查到回环地址 127.0.0.1 和 子网掩码 255.0.0.0;
  2. ping 127.0.0.1(127.0.0.1 是本地回环地址,测试本机的网络配置,能 ping 通 127.0.0.1 说明本机的网卡和 IP 协议安装都没有问题);
  3. ping 网关 — 网关 ping 不通说明网卡链路有问题;
  4. 配置网卡:vi/etc/sysconfig/network-scripts/ifcfg-eth0
  • onboot=no 表示网卡没有开启,要修改为 onboot=yes
  1. 重启网络服务(修改网卡配置,需要重启网络服务):service network restart
  2. 重启网络服务后,通过 ip addr 查看网络配置;

02 Linux 虚拟机克隆

搭建大数据集群,最小就是3个节点(5个,8个,10个都可以)

选中克隆虚拟机对象(虚拟机需要关闭),右键→管理→克隆

03 Linux 静态 IP 配置

以 hadoop 为例,在实际工作中,由于我们使用的是 DHCP(Dynamic Host Configuration Protocol: 动态主机配置协议)服务器来分配地址,那么每次重启 DHCP 服务器 ip 地址有可能是会变动的。而我们用 Linux 来搭建集群学习 Hadoop 的话,是希望 IP 固定不变的,因为有很多地方会涉及到 IP 地址的配置,如果 IP 地址变化就会涉及到很多相关地方的修改,所以我们需要配置静态 IP ,那么具体如何进行配置呢?

  1. 修改网卡信息:vi /etc/sysconfig/network-scripts/ifcfg-eth0

@数据分析-jacky
@数据分析-jacky

这里要注意的是,linux 中 ip 要跟 VMnet8 在同一个网段,否则是不能连接外网的;

  1. 重启网络
    service network restart
    @数据分析-jacky

  2. 测试运行
    @数据分析-jacky

04 远程连接虚拟机

05 Linux 用户和用户组创建

默认只有一个 root 用户,它的权限是很大的,如果误删文件,整个系统的使用可能会出现问题,存在很大的安全性问题,所以,我们需要单独创建用户,然后在该用户上进行相关的操作。(可能会出现一个问题,某些操作权限不够,只需要 sudo 权限或切换到root用户下执行即可)

在工作中,我们搭建集群的时候,不要使用 root 用户。

  1. 创建用户和用户组
  • 创建用户组:groupadd hadoop
  • 创建用户:useradd -g hadoop(指定用户所属的组)hadoop(用户)
  • 创建 hadoop 用户后,hadoop 用户的目录默认在 home 目录下。

注意:默认创建用户的时候会同时创建一个同名的用户组。

@数据分析-jacky
2. 设置用户密码

比如为 hadoop 用户设置密码:passwd hadoop,然后按回车输入两次密码即可, password–help 查看该命令用法。
@数据分析-jacky
3. 设置用户 sudo 权限

用户在执行某些系统命令时会出现用户权限不够的问题,需要切换到 root 用户下执行,频繁的切换会很麻烦,而且也很容易导致权限问题,所以最好为用户配置 sudo 权限。所有的操作都可以在用户下操作,出现权限不够的问题只需要在命令前边加上 sudo 即可。

为 hadoop 用户设置 sudo 权限,在 root 用户下输入 visudo,在文件末尾添加 hadoop ALL=(ALL) NOPASSWD:ALL 即可

@数据分析-jacky

06 Linux 主机名配置

  1. 查看主机名
  • 直接通过命令提示符即可看出主机名
  • 或者通过 hostname 命令也可显示主机名
  1. 修改主机名
  • 输入命令 vi /etc/sysconfig/network,然后在该文件中修改即可

NETWORKING=yes
HOSTNAME=hadoop01

注意:修改完之后主机名并不会立即更改,需要输入 reboot 命令重启 linux 操作系统。

  1. 什么时候需要改主机名(当虚拟机克隆时需要改)

07 Linux 防火墙

防火墙是对我们的服务器进行一种保护,但是有时候也会妨碍集群间的互相通讯,所以为了不影响集群间的通信,我们可以关闭掉防火墙。

  1. 通过下面的命令,查看防火墙状态
systemctl status firewalld
  • 当出现如下信息时就表明防火墙是开启的状态: active (running)
    @数据分析-jacky
  1. 开启防火墙和关闭防火墙
  • 查看防火墙状态
firewall-cmd --state
  • 停止firewall
systemctl stop firewalld.service
  • 开启firewall
firewall-cmd --state
  • 禁止firewall 开机启动
systemctl disable firewalld.service

08 openssh-clients 服务

做免密码登录的时候需要用到这个服务

安装 openssh-clients 服务

yum install -y openssh-clients

09 主机名与 IP 映射

一般情况下通过主机名是无法访问虚拟机的,需要通过 IP 地址才可以访问虚拟机。但是 IP 地址不容易记住,工作中,集群的主机名也比较多,这时可以通过配置主机名与 IP 地址的映射关系,从而可以通过主机名来访问虚拟机。

通过命令:vi /etc/hosts 即可修改主机名与 IP 的映射关系。
@数据分析-jacky
在这里插入图片描述

10 SSH 免密码登录

SSH 是一个可以在应用程序中提供安全通信的一个协议,通过 SSH 可以安全地进行网络数据传输,它的主要原理就是利用非对称加密体系,对所有待传输的数据进行加密,保证数据在传输时不被恶意破坏、泄露或者篡改。

但是 hadoop 使用 ssh 主要不是用来进行数据传输的,hadoop 主要是在启动和停止的时候需要主节点通过 SSH 协议将从节点上面的进程启动或停止。也就是说如果不配置 SSH 免密码登录对 hadoop 的正常使用也没有任何影响,只是在启动和停止 hadoop 的时候需要输入每个从节点的用户名的密码就可以了,但是我们可以想象一下,当集群规模比较大的时候,比如上百台,如果每次都要输入每个节点的密码,那肯定是比较麻烦的,所以这种方法肯定是不可取的,所以我们要进行 SSH 免密码的配置,而且目前远程管理环境中最常使用的也是 SSH (Secure Shell )

  1. 明确目标用户

首先要明确是为哪个要哪个号创建免密码登录,比如我们为 hadoop 用户创建 SSH 免密码登录。在 hadoop 用户下,切换到 hadoop 用户的家目录(即 /home/hadoop 目录)。
@数据分析-jacky
2. 生成秘钥

输入命令: ssh-keygen -t rsa 生成秘钥,然后一直按回车即可。ssh-keygen 是 ssh 秘钥生成器,-t 是指定参数,ras 是一种加密算法。

@数据分析-jacky
3. 生成认证文件

切换到 .ssh 目录下:输入 cd /home/hadoop/.ssh 然后输入 ll 命令查看,发现有一个公钥,有一个私钥,(ssh生成的秘钥对都是存储在 .ssh 这个目录下的)

1)用 ls -a 来查看隐藏文件
@数据分析-jacky
@数据分析-jacky
2) 输入命令:cp id_rsa.pub authorized_keys 将公钥 copy 到认证文件。
@数据分析-jacky
4. 为 .ssh 赋予权限
退回到 hadoop 的 home 目录,为 .ssh 赋予权限

# 表示为 .ssh 目录赋予700的权限
chmod 700 .ssh
# 表示为 .ssh 目录下所有文件赋予600的权限
chmod 600 .ssh/*

@数据分析-jacky

注意:700、600指什么意思?比如文件权限 "-rw--------"其中第一个“-”表示该文件为普通文件,接下来9个字符3个为一组,第一组表示该用户的读、写、执行权限,第二组表示用户组,第三组表示其他用户。其中文件的读、写和执行权限,对应字母分别为 w/r/x 对应数字分别为 4/2/1,那么700就表示用户有读、写、执行权限(7=4+2+1),而用户组合其他用户什么权限都没有。(其实赋予权限这两步也可以不做)

  1. ssh 验证

用 ssh 登录 ,第1次登录需要输入 yes,第二次以后就不用输入密码了,如果能达到这个效果就表示 SSH 免密码登录设置成功,登录的时候用 ssh cdh01 这个命令。

@数据分析-jacky

posted on 2020-04-22 13:57  朱元禄  阅读(65)  评论(0编辑  收藏  举报