集群搭建过程
复制三台机器,分别为node01,node02,node03
按照我们之前学习的,将IP地址改好,
并且可以互相ping通
node01 130
node02 131
node03 132
IP地址配置文件路径:
/etc/sysconfig/network-scripts/ifcfg-ens33
修改他们的主机名,分别为node01,node02,node03
vim /etc/hostname
vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.29.130 node01 node01.hadoop.com
192.168.29.131 node02 node02.hadoop.com
192.168.29.132 node03 node03.hadoop.com
直接输入:reboot即可
将三台机器的防火墙都关闭
systemctl stop firewalld.service
systemctl disable firewalld.service
将三台机器的SELinux关闭
SELinux 主要作用就是最大限度地减小系统中
服务进程可访问的资源。
vim /etc/selinux/config
添加一句话:
SELINUX=disabled
SSH免密登录的配置
为什么要配置免密登录:远程Copy文件,需要我们输入密码,会很麻烦
SSH的加密方式是非对称加密,里面含有公钥和私钥。 公钥由私钥产生,但却无法推算出私钥; 公钥加密后的密文,只能通过对应的私钥来解密。
在SSH这种非对称加密的传输中,只有公钥会被传输,而私钥被存储到本机,
即使不法分子监听到了公钥,也无法拿到私钥,所以是安全的,被广泛应用。
实现步骤:
(1)三台机器生成公钥与私钥
ssh-keygen -t rsa
(2)拷贝公钥到同一台机器
三台机器都执行这个命令:
ssh-copy-id node01
(3)将第一台机器的公钥拷贝到其他机器上。
命令:
scp /root/.ssh/authorized_keys node02:/root/.ssh
scp /root/.ssh/authorized_keys node03:/root/.ssh
(4)测试是否可以无密码登录,
ssh node02
ssh node03
通过网络,让所有主机和时钟同步服务器保持一致(前提:这些节点必须联网)。
(1)三台机器都需要安装ntp
yum install -y ntp
(2)启动定时任务(三台机器都要做)
crontab -e
会进入一个可编辑的文本中,文本最终内容为:
#每一分钟都会执行一次阿里云的定时服务
*/ * * * * /usr/sbin/ntpdate ntp4.aliyun.com
对JDK进行安装,我们安装的是1.8版本
(1)查看自带的openjdk并卸载
查看:
rpm -qa | grep java
只要含有Java就进行卸载
卸载:
rpm -e openjdk
(2)安装lrzsz工具,方便上传与下载
yum -y install lrzsz
rz -E 上传,sz 文件名 下载
(3)在node01节点上安装jdk1.8
解压:
tar -zxvf jdk-8u281-linux-x64.tar.gz -C ./
配置环境变量:
vim /etc/profile
添加如下内容:
export JAVA_HOME=/opt/software/jdk1.8.0_281
export PATH=: J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:PATH
令配置文件生效:
source /etc/profile
(4)测试
java -version
在node01节点上安装MySQL
卸载mariadb,否则安装mysql会出现冲突。
(1)该命令会列出所有mariadb的包
rpm -qa | grep mariadb
(2)上述的包列表 (备注:包和包之间用空格隔开即可) 进行卸载该命令会列出所有mariadb的包。
rpm -e --nodeps 包列表
(2)添加官方的yum源
vim /etc/yum.repos.d/mysql-community.repo
[mysql57-community]
name=MySQL 5.7 Community Server
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
备注:如果是5.7版本,则只需要将baseurl修改即可
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
(3)安装MySQL
yum install mysql-community-server
(4)启动mysql
service mysqld start
(5)设置远程访问
grant all privileges on . to ‘root’@’%’ identified by ‘Admin2022!’ ;
flush privileges;
1. 停止MySQL服务 : service mysqld stop
2. 找到my.cnf文件: vi /etc/my.cnf
添加一行:skip-grant-tables
注意位置:在第二行
3. 启动MySQL:service mysqld start
4. 登录MySQL:命令提示符下面输入 mysql -u root -p
提示输入密码,我们不用管,直接回车
进入mysql>
5. 执行命令:use mysql;
6. 修改root的密码
update user set authentication_string=password("Admin2022!") where user="root";
7. 退出MySQL,停止MySQL服务
8. 修改配置文件/etc/my.cnf ,将原来添加的
skip-grant-tables 这一行删除掉
9. 重启MySQL服务
10. 再次执行 mysql -u root -p 输入密码登录成功
1.zookeeper的安装包放在我们的/opt/software/
/opt/software/zookeeper-3.4.9.tar.gz
2.切换到/opt/software/目录下:
cd /opt/software/
解压缩:
tar -zxvf zookeeper-3.4.9.tar.gz -C ./
3.创建文件夹
:/opt/software/zookeeper-3.4.9/zkdatas mkdir -p
/opt/software/zookeeper-3.4.9/zkdatas
4.找到Zookeeper的配置文件的模板:
/opt/software/zookeeper-3.4.9/conf/zoo_sample.cfg
5.复制该配置文件模板,成立为一份真的配置文件
cd /opt/software/zookeeper-3.4.9/conf
cp zoo_sample.cfg zoo.cfg
5.打开配置文件
vim zoo.cfg
6.修改配置文件
dataDir=/opt/software/zookeeper3.4.9/zkdatas
server.1=node01:2888:3888 server.2=node02:2888:3888
server.3=node03:2888:3888
7.保存退出
8.设置node01的myid
echo 1 > /opt/software/zookeeper-3.4.9/zkdatas/myid
8.配置环境变量
vim /etc/profile
配置(你要输入的东西)
export ZOOKEEPER_HOME=/opt/software/zookeeper-3.4.9 export
PATH=…:$ZOOKEEPER_HOME/bin
9.保存退出,用
source /etc/profile
命令,使其生效
10.部署其他集群节点 node02 和 node03
scp -r /opt/software/zookeeper3.4.9/ node02:/opt/software
scp -r /opt/software/zookeeper-3.4.9/ node03:/opt/software
11.在node02上执行:
echo 2 > /opt/software/zookeeper3.4.9/zkdatas/myid
在node03上执行:
echo 3 > /opt/software/zookeeper3.4.9/zkdatas/myid
12.修改node02和node03的环境变量
配置环境变量 vim /etc/profile
export ZOOKEEPER_HOME=/opt/software/zookeeper-3.4.9
export PATH=............:$ZOOKEEPER_HOME/bin
13.保存退出,用source /etc/profile 命令,使其生效
14.运行测试
三台都要启动Zookeeper
启动命令:zkServer.sh start
停止命令:zkServer.sh stop
查看状态命令:zkServer.sh status