本文详细叙述了centOS7系统虚拟机节点的搭建以及搭建hdfs完全分布式集群准备工作
学习linux,首要当然是弄一个linux系统,大多数电脑都是windows系统,而双系统装linux存在一定的风险,个人觉得,在虚拟机上安装linux环境就够了
下面介绍一下虚拟机上搭建linux系统,我用的是centos7,朋友介绍的,说是现在企业很多都是用centos系统,至于为什么使用的企业越来越多,有这么一个说法,centos可以替代商业版的Red Hat Enterprise Linux使用,里面的yum是免费的,还有就是centos是linux的发行版,80%的问题都能在网上找到
运行hdfs完全分布式运行程序的前提条件
首先需要在windows上安装vmware
我这里安装的VMwareWorkstation12PRO
在安装虚拟机之前需要在磁盘上预留出至少60G的空间给虚拟机使用,虚拟机文件最好存放在固态硬盘中。(查看哪个是固态硬盘:打开任务管理器➡点击性能磁盘下面写着SSD的就是固态硬盘)
本篇博文将虚拟机安装在D盘上
选择典型安装,继续下一步
选择稍后安装虚拟机系统,不要选择安装程序光盘映像文件,点击下一步
选择Linux操作系统,版本选择CentOS64位,点击下一步
修改虚拟机名称为node01,安装路径选择空间足够的固态硬盘,一定要修改不要安装在C盘中
默认磁盘空间,选择将磁盘拆分成多个文件,点击下一步
这里需要自定义硬件
内存和处理器根据自己的电脑配置(8G的内存选择2G,16G内存选择4G,处理器都是2)
选择使用IOS映像文件,因为后期我们可能要连接xhell,所以网络适配器选择NAT模式。选择完之后点击确定
启动虚拟机选择第一个按回车 进入安装向导选择中文 简体中文
软件安装选择最小安装
点击网络和主机名打开以太网
设置root密码,不用创建用户
密码设置123456,由于密码简单 点击两次完成
等待安装
点击重启,启动虚拟机
Windows环境配置
在网络上右键–打开“网络和Internet设置”–以太网–更改适配器设置–VMnet8虚拟网卡
右键VMnet8虚拟网卡–属性–网络–Internet协议版本4(TCP/IPv4)
·此处要使用手动设置IP,此处IP和之前看到网关地址需一致
把IP地址设置为192.168.67.1
网关和之前看到网关地址保持一致192.168.67.2
修改虚拟机的mac地址和IP
启动虚拟机用户名root密码123456
修改配置文件
vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.67.110
NETMASK=255.255.255.0
GATEWAY=192.168.67.2
DNS1=8.8.8.8
DNS2=114.114.114.114
Ping www.baidu.com
将虚拟机文件夹复制两份,并分别重命名为node02和node03使用VM打开并重命名为node02和node03
打开node02和node03修改ip为192.168.67.120和192.168.67.130
使用systemctl restart network命令重启网络
使用XShell连接客户端
配置主机名,把原本值删除,添加对应机器的主机名
vi /etc/hostname
vi /etc/hosts
192.168.67.110 node01 node01.hadoop.com
192.168.67.120 node02 node02.hadoop.com
192.168.67.130 node03 node03.hadoop.com
重启虚拟机
reboot
关闭防火墙并设置开机不启动
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
关闭selinux
vi /etc/selinux/config
SELINUX=disabled #把SELINUX值改为disabled
3台机器都执行以下命令
ssh-keygen -t rsa
输入命令后记得敲三次回车(采用默认配置),此时会生成两个文件,一个是 id_rsa(私钥),一个是 id_rsp.pub(公钥)
2.2拷贝三台机器的公钥到第一台机器
三台机器执行命令:
ssh-copy-id node01
less /root/.ssh/authorized_keys
scp /root/.ssh/authorized_keys node02:/root/.ssh
scp /root/.ssh/authorized_keys node03:/root/.ssh
此时已经完成免密登录,使用ssh命令可以从任意一台机器访问其他机器
node01上访问node02或者node03使用命令:ssh node02 或者 ssh node03
查看JDK版本
–command not found表示未安装
java -version
/usr/local/java
cd /usr/local
mkdir java
下载lrzsz插件
yum install -y lrzsz
下载JDK包
官网下载地址:
https://www.oracle.com/java/technologies/javase-downloads.html
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
上传JDK文件
上传文件到/usr/local/java目录
cd /usr/local/java/
tar -zxvf jdk-8u301-linux-x64.tar.gz
mv jdk1.8.0_301/ jdk1.8
修改配置文件
注意总共是三行配置,每行配置中不能空格,不能换行(看图对照)
vi /etc/profile
export JAVA_HOME=/usr/local/java/jdk1.8
export CLASSPATH=.:${JAVA_HOME}/jre/lib/rt.jar:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar
export PATH=$PATH:${JAVA_HOME}/bin
source /etc/profile
java -version
scp发送jdk到其他节点机器
注意:要提前在node02和node03当中创建java目录(在/usr/local里面创建)
scp -r /usr/local/java/jdk1.8/ node02:/usr/local/java
scp -r /usr/local/java/jdk1.8/ node03:/usr/local/java
修改对应机器的配置文件
参考
vi /etc/profile
source /etc/profile
检查是否存在mariadb,并删除
rpm -qa | grep mysql
rpm -qa | grep mariadb
yum remove mariadb-libs-5.5.44-2.el7.centos.x86_64
yum install wget -y
阿里云yum源配置
–通过yum安装,国外源非常慢,需要修改成国内源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum makecache
yum update -y
阿里云镜像官网:阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com)
–国内镜像源下载地址:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/MySQL-5.7/
–CentOS7对应el7
–需要下载server包,client包,common包和lib包
cd /opt/software
mkdir mysql
cd mysql/
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-server-5.7.36-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-client-5.7.36-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-common-5.7.36-1.el7.x86_64.rpm
wget https://mirrors.aliyun.com/mysql/MySQL-5.7/mysql-community-libs-5.7.36-1.el7.x86_64.rpm
安装3个依赖
yum install -y perl.x86_64
yum install -y libaio.x86_64
yum install -y net-tools.x86_64
按照顺序安装mysql的依赖
rpm -ivh mysql-community-common-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.36-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.36-1.el7.x86_64.rpm
重启mysql服务并查看状态
service mysqld.service restart
service mysqld.service status
查看默认密码,记下自己查询到的密码,后面需要使用
grep 'temporary password' /var/log/mysqld.log
•登录mysql客户端命令行界面
–需要输入刚才查询到的密码
mysql -u root -p
set global validate_password_policy=0;
set global validate_password_length=1;
•修改密码,密码设置为123456,这个密码在Navicat连接会使用,在hive-default.xml配置文件中也会使用
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
flush privileges;
•远程连接配置
use mysql;
update user set Host = '%' where Host = 'localhost' and User='root';
flush privileges;
quit