一、虚拟机准备
cd /etc/sysconfig/network-scripts/
修改文件:vim ifcfg-enp0s3
ONBOOTS=YES
重启 init 0
yum -y install net-tools
拷贝并修改静态IP 、name、
cp ifcfg-enp0s3 ifcfg-enp0s8
添加网卡2(host-only)
修改主机名
hostnamectl set-hostname node1
关闭防火墙
#第一步: 停止firewall
systemctl stop firewalld.service
#第二步:禁止firewall开机启动
systemctl disable firewalld.service
#第三步:查看防火墙状态
systemctl status firewalld.servic
(systemctl status firewalld)
安装vim插件
yum -y install vim
修改hosts文件 vim /etc/hosts
192.168.56.111 node1
192.168.56.112 node2
192.168.56.113 node3
192.168.56.114 node4
修改网络服务主机名 vim /etc/sysconfig/network
HOSTNAME=node1
二、集群环境搭建
1、ping www.baidu.com
2、Ping 主机名(ping通各个主机名)
4、vi /etc/selinux/config
修改第七行:
SELINUX=disabled
(不配软件运行不了)
3、关防火墙、
4、ssh免密登录
官网:(hadoop.apache.org -> release 3.2.1 -> single node setup)
四台同步以下输入命令:
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
测试:
ssh localhost (退出 ctrl+d)
将四台~/.ssh/authorized_keys里的密钥整合到一个文件中去,同步四台。
三、搭建集群高可用
1、创建存放数据位置
[root@node01 /]# mkdir data
2、安装jdk
拉包rpm包
进入目录 yum -y install jdk-8u221-linux-x64.rpm
3、查找jdk目录
[root@node01 ~]# whereis javac
[root@node01 ~]# ll /usr/bin/javac -h
[root@node01 ~]# ll -h /etc/alternatives/javac
[root@node01 ~]# ll -h /usr/java/jdk1.8.0_221-amd64
4、拉包zookeeper
解压、删除docs
[root@node03 zookeeper-3.5.6]# cd conf/
[root@node03 conf]# mv zoo_sample.cfg zoo.cfg
[root@node03 conf]# vim zoo.cfg
dataDir=/data/zookeeper/data(没有data要mkdir)
最后添加myid映射
5、配Hadoop
拉包、解压
hadoop-env.sh:
各个节点启动
[root@node03 hadoop-3.2.1]# sbin/hadoop-daemon.sh start journalnode
在node1上启动格式化namenode
bin/hdfs namenode -format
在node1上启动namenode
bin/hdfs --daemon start namenode
在node2上启动namenode standby
bin/hdfs namenode -bootstrapStandby
在node2上启动namenode
[root@node02 hadoop-3.2.1]# bin/hdfs --daemon start namenode
任意节点重新初始化zkfc
[root@node01 hadoop-3.2.1]# bin/hdfs zkfc -formatZK
Jps
Node1停止所有
[root@node01 hadoop-3.2.1]# sbin/stop-all.sh
再启动所有
[root@node01 hadoop-3.2.1]# sbin/start-all.sh
异常问题:
fuser问题
在zookeeper 下 yum -y install fuser
hadoop高可用切换不成功
Yum install psmisc
四、Mysql
查看MySQL
yum search mysql
查看MySQL版本
yum install mysql 查看版本,暂停,不能继续安装
解压包
tar -xvf mysql-8.0.17-1.el7.x86_64.rpm-bundle.tar
进入mysql解压目录
yum -y install mysql-community*.rpm
修改 vim /etc/my.cnf
拷贝my.cnf
cp /etc/my.cnf 到 /data/mysql/
重启MySQL服务
service mysqld restart
service mysqld status
查看生成密码(并复制密码)
vim /var/log/mysqld.log
问题报错:
/var/log/mysqld.log 中找不到临时密码
1.删除原来安装过的mysql残留的数据(这一步非常重要,问题就出在这)
rm -rf /var/lib/mysql
2.重启mysqld服务
systemctl restart mysqld
3.再去找默认密码
cat /var/log/mysqld.log | grep password
mysql -u root -p 粘贴密码
– 重置密码,所有的操作得先重置密码,要求
ALTER USER ‘root’@‘localhost’ IDENTIFIED BY ‘MyNewPass4!’;
– 修改为%,才能远程访问
RENAME USER root
@localhost
TO root
@%
;
– 修改密码,Jh123456!
– 并且密码的类型是mysql本地(密码的加密方式);WITH mysql_native_password
– 密码的过期策略;PASSWORD EXPIRE NEVER;
ALTER USER root
@%
IDENTIFIED WITH mysql_native_password BY ‘Jh123456!’ PASSWORD EXPIRE NEVER;
五、Hive高可用
官网:apache.org
拉包到node04
解压 tar -zxvf apache-hive-3.1.2-bin.tar.gz
分别配置客户端和服务端 hive-site.xml
驱动拷贝:拷贝mysql-connector-java-5.1.47-bin.jar到/data/hive/lib/
一定在都配置好之后,在服务端初始化(node04)
bin/schematool -dbType mysql -initSchema
如果报错:
解决方案:
将客户端和服务端lib 下的guava-19.0.jar替换为 guava-27.0-jre.jar
重新初始化
bin/schematool -dbType mysql -initSchema
启动服务端启动服务
bin/hive --service metastore
在客户端启动hive(node02)
bin/hive
六、HBase高可用
拷贝hbase目录到四台虚拟机上
进入data目录 [root@node3 data]# scp -r hbase/ node2:pwd
删压缩包、docs
这时要启动所有服务,注意先启动zookeeper
Node2 | Node3 | Node4 | Node5 | |
---|---|---|---|---|
Zookeeper | ✔ | ✔ | ✔ | |
大哥(Master) | ✔ | |||
二哥(backMaster) | ✔ | ✔ | ||
小弟(regionServer) | ✔ | ✔ | ✔ |
配置文件(注意也要将hdfs-site.xml放入conf目录下)
将配置文件同步到其它的服务器上
在想当大哥的服务器启动hbase;(node3)
bin/start-hbase.sh
停止服务(在大哥上停止)
bin/stop-hbase.sh
访问
http://node3:16010/