|NO.Z.00007|——————————|^^ 部署 ^^|——|Hadoop&Hadoop核心框架.V07|——|Hadoop.v07|基础环境配置|
一、配置环境规划
### --- vmware、linux版本
~~~ vmware版本:VMware-workstation-full-15.5.5-16285975.exe
~~~ Linux版本:CentOS-7-x86_64-DVD-1810.iso
### --- Linux主机配置参数
~~~ CPU:1块1核
~~~ 内存:2GB
~~~ 网络规划:四块网卡:NAT模式/仅主机模式/桥接模式/桥接模式
~~~ 硬盘:2块硬盘:100GB/100GB
### --- 磁盘分区
~~~ /boot:1024MB
~~~ /swap:4096MB
~~~ /home:30G
~~~ /:65G
### --- 配置参数:
~~~ DATE & TIME:Asia/Shanghai timezone
~~~ SOFTWARE SELECTION:Minimal Install
二、配置规划
IP地址 | 主机名 | |
第一台机器 | 192.168.1.121 | linux121 |
第一台机器 | 192.168.1.122 | linux122 |
第一台机器 | 192.168.1.123 | linux123 |
三、基础环境配置
### --- 配置主机IP地址
[root@localhost ~]# 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=7f4574bc-5025-4bd6-bfbd-7aceb83645b2
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.1.121
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=114.114.114.114
DNS2=8.8.8.8
~~~ 注:ONBOOT改为yes开启自动启用网络连接
~~~ 注:BOOTPROTO改为静态static
~~~ 注:IPADDR改为你自己设置的ip (ip可以通过命令 ip addr来获得)
~~~ 注:GATEWAY设置网关
~~~ 注:设置DNS1作为主DNS,也可以加个DNS2作为备⽤用;常见的DNS1=8.8.8.8 DNS2=8.8.4.4
~~~ # 重启网络
[root@localhost ~]# systemctl restart network
### --- 永久关闭selinux
~~~ # 永久关闭selinux
[root@localhost ~]# vim /etc/sysconfig/selinux
SELINUX=disabled
~~~ # 查看selinux状态
[root@localhost ~]# getenforce
Disabled
### --- 永久关闭firewalld
~~~ # 永久关闭firewalld
[root@localhost ~]# systemctl stop firewalld.service
[root@localhost ~]# systemctl disable firewalld.service
~~~ # 查看firewalld状态
[root@localhost ~]# systemctl status firewalld.service
### --- 配置主机hostname
~~~ # 配置主机hostname
[root@localhost ~]# vim /etc/sysconfig/network
# Created by anaconda
NETWORKING=yes
hostname=linux121
### --- 配置主机hosts文件
~~~ 此时已经配置了三台机器的IP与hostname映射,从而可以达到,在本机ping hostname可通,
~~~ 如果没有配此映射,需⽤用ping IP地址可通。
~~~ 如果是三台机器互相⽤用hostname来ping,那么三台机器必须同时配好三个IP和hostname的映射。
~~~ # 配置主机hosts
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.121 linux121
192.168.1.122 linux122
192.168.1.123 linux123
三、配置主机yum源
### --- 配置本地yum源
[root@localhost ~]# mkdir /mnt/cdrom
[root@localhost ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom/
[root@localhost ~]# echo "/dev/sr0 /mnt/cdrom iso9660 defaults 0 0" >>/etc/fstab
[root@localhost yum.repos.d]# mkdir back
[root@localhost yum.repos.d]# mv * back/
[root@localhost yum.repos.d]# cp -a back/CentOS-Media.repo .
[root@localhost yum.repos.d]# vim CentOS-Media.repo
[c7-media]
name=CentOS-$releasever - Media
baseurl=file:///mnt/cdrom
gpgcheck=0
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
### --- 安装基础软件包
[root@localhost ~]# yum install -y net-tools
[root@localhost ~]# yum install -y net-tools vim lrzsz wget gcc gcc-c++
[root@localhost ~]# yum install gcc make gcc-c++ glibc glibc-devel pcre pcre-devel openssl openssl-devel systemd-devel zlib-devel vim lrzsz tree tmux lsof tcpdump wget net-tools iotop bc bzip2 zip unzip nfs-utils man-pages
四、配置主机免密登录
### --- 配置主机hosts文件
[root@localhost ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.121 linux121
192.168.1.122 linux122
192.168.1.123 linux123
### --- 在所有主机创建目录并赋予权限
[root@localhost ~]# mkdir /root/.ssh
[root@localhost ~]# chmod 700 /root/.ssh
### --- 生成公钥私钥文件
~~~ # 生成秘钥文件
~~~ 注:是生成ssh密码的命令,-t 参数表示生成算法,有rsa和dsa两种;
~~~ -P表示使用的密码,这里使用""空字符串表示无密码。
[root@localhost ~]# ssh-keygen -t rsa -P ""
~~~ # 将公钥文件发送到其它节点
[root@localhost ~]# cd .ssh/
[root@localhost ~]# ssh-copy-id -i id_rsa.pub root@linux122
[root@localhost ~]# ssh-copy-id -i id_rsa.pub root@linux123
五、配置主机时间同步:
### --- ntp.server端配置:linux121
~~~ # 查看当前服务端和客户端版本一致
[root@localhost ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
~~~ # 所有节点安装ntpdate
[root@localhost ~]# yum install -y ntpdate
~~~ # 启动ntpdate
[root@localhost ~]# systemctl start ntpdate
[root@localhost ~]# systemctl enable ntpdate
~~~ # 安装ntpdate;进行外网时间同步
~~~ # 通过网络连接外网进行时钟同步,必须保证虚拟机连上外网
[root@localhost ~]# ntpdate us.pool.ntp.org;
~~~ # 阿里云时钟同步服务器
~~~ # 集群中其他机器与这台机器器定时的同步时间,⽐比如,每 隔十分钟,同步一次时间。
[root@localhost ~]# ntpdate ntp4.aliyun.com
### --- 时间服务器配置部署(必须root用户)
~~~ # 安装ntpd服务
[root@localhost ~]# yum -y install ntpd
### --- 编辑/etc/ntp.conf
~~~ # 编辑/etc/ntp.conf配置文件
[root@localhost ~]# vim /etc/ntp.conf
restrict default nomodify notrap nopeer noquery // 第8行:开启配置始终同步广播地址
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap //开启17行;同步源:配置同步源
# server 0.centos.pool.ntp.org iburst // 第21~24行:注释掉
# server 1.centos.pool.ntp.org iburst
# server 2.centos.pool.ntp.org iburst
# server 3.centos.pool.ntp.org iburst
server 127.127.1.0 # local clock // 第25~26行:添加这两行
fudge 127.127.1.0 stratum 10
### --- 配置以下内容,保证BIOS与系统时间同步 vim /etc/sysconfig/ntpd添加一行内容
~~~ # 配置BIOS时间与系统时间同步
[root@localhost ~]# vim /etc/sysconfig/ntpd
SYNC_HWLOCK=yes
### --- 启动ntpd并设置开机自启动
[root@localhost ~]# systemctl restart ntpd
[root@localhost ~]# systemctl enable ntpd
### --- 配置ntp.client端配置:linux122、linux123
~~~ # 安装ntpdate服务
[root@localhost ~]# yum install -y ntpdate
~~~ # 启动ntpdate
[root@localhost ~]# systemctl start ntpdate
[root@localhost ~]# systemctl enable ntpdate
~~~ # 在其他机器配置10分钟与时间服务器同步一次
~~~ # 另外两台机器与192.168.1.121进行时钟同步
[root@localhost ~]# crontab -e
*/10 * * * * /usr/sbin/ntpdate 192.168.1.121
### --- 修改任意机器时间
[root@localhost ~]# date -s "2020-06-20 11:11:11"
~~~ # 十分钟后查看机器是否与时间服务器同步
[root@localhost ~]# date
六、安装jdk:所有节点
### --- 查看自带的openjdk
~~~ # 查看系统自带的jdk环境
[root@localhost ~]# rpm -qa | grep java
~~~ # 如果有⾃自带的,卸载系统自带的openjdk
[root@localhost ~]# 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
### --- 安装jdk
~~~ # 所有软件安装路径
[root@localhost ~]# mkdir -p /opt/yanqi/servers
~~~ # 所有软件压缩包的存放路径
[root@localhost ~]# mkdir -p /opt/yanqi/software
~~~ # 上传jdk到/opt/yanqi/software路径下去,并解压
[root@localhost ~]# tar -zxvf jdk-8u141-linux-x64.tar.gz -C ../servers/
~~~ # 配置环境变量
[root@localhost ~]# vim /etc/profile
export JAVA_HOME=/opt/yanqi/servers/jdk1.8.0_231
export PATH=:$JAVA_HOME/bin:$PATH
~~~ # 修改完成之后记得 source /etc/profile⽣生效
[root@localhost ~]# source /etc/profile
### --- 查看jdk版本
[root@localhost ~]# java -version
java version "1.8.0_231"
Java(TM) SE Runtime Environment (build 1.8.0_231-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.231-b11, mixed mode)
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通