1.集群准备
1 首先准备三台虚拟机,虚拟机ip地址可以ping通。
ip | 名称 |
---|---|
192.168.25.120 | cdh1 |
192.168.25.121 | cdh2 |
192.168.25.122 | cdh3 |
2.修改IP和主机名
选择centos7来进行集群部署,克隆三台虚拟机 全部是在root 权限下执行
1.修改主机名
hostnamectl set-hostname cdh1
2 .修改IP地址
cd /etc/sysconfig/network-scripts/
vim 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=cdbe8b2a-8792-43cc-b66e-fe176a3803bd
DEVICE=ens33
ONBOOT=yes
DNS1=8.8.8.8
IPADDR=192.168.25.120
NETMASK=255.255.255.0
GATEWAY=192.168.25.2
重启网卡: service network restart
3.reboot 重启虚拟机
4.重新登录root 用户
查看IP地址和主机名是否更改成功
ifconfig
5.ping www.baidu.com 能否ping成功
6.Centos7 切换 yum 源
yum install lrzsz(rz上传 lz下载)
修改CentOS默认yum源为mirrors.aliyun.com
1、首先备份系统自带yum源配置文件/etc/yum.repos.d/CentOS-Base.repo
[root@localhost ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
2、下载ailiyun的yum源配置文件到/etc/yum.repos.d/
[root@localhost ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3、运行yum makecache生成缓存
yum makecache
yum -y update
7.其他两台主机重复上面操作。
3 系统环境搭建
三台虚拟机上 进行网络配置, 免密登录、防火墙关闭、selinux关闭
1.修改Hosts 域名映射
vim /etc/hosts
192.168.25.120 cdh1
192.168.25.121 cdh2
192.168.25.122 cdh3
2.SSH免密登录
1.Linux下生成密钥
生成linux下的密钥要用到 ssh-keygen 命令,一般执行完这个命令公钥和私钥会生成到 .ssh 的隐藏目录。在执行这个命令之前我们先检查一下这个目录是否存在,因为有些linux如果没有这个目录的话是不会生成key的。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-bt4huPS2-1596723064618)(C:\Users\Lvli\AppData\Roaming\Typora\typora-user-images\1594626358330.png)]
2.执行 ssh-keygen -t rsa 直接回车回车就OK
3.拷贝公钥到其他两台机器:
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.25.121
ssh-copy-id -i .ssh/id_rsa.pub root@192.168.25.122
3.防火墙关闭
yum install -y lrzsz
yum install -y iptables-services
systemctl stop firewalld
systemctl disable firewalld
4.SELINUX 关闭
1 永久方法 – 需要重启服务器
修改/etc/selinux/config文件中设置
SELINUX=disabled
然后重启服务器。
2 临时方法 – 设置系统参数
使用命令 setenforce 0
5.JDK安装
三台机器都装所有软件的安装路径mkdir -p /export/servers 所有软件压缩包的存放路径mkdir -p /export/softwares
上传jdk到/export/softwares路径下去,并解压
tar -zxvf jdk-8u141-linux-x64.tar.gz -C ../servers/
配置环境变量
vim /etc/profile
export JAVA_HOME=/export/servers/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH
修改完成之后记得 source /etc/profile生效
javac -version 查看是否安装成功
vim /etc/profile
启动Jar
nohup java -jar ruoyi.jar ->log.file &
查看jar包进程
ps aux|grep xxx.jar
ps -ef | grep java
停止jar包
也就是杀死进程
找到jar的pid,杀掉命令为:
kill -9 pid
pkill 进程名
6 安装NTP
yum install -y ntp
(1)修改ntp.conf 配置文件 vi /etc/ntp.conf
(2)先注释 四个server 然后添加server主机ip
(3)
vi /etc/sysconfig/ntpd
(4) 启动ntp 服务
?
systemctl start ntpd.servicesystemctl enable ntpd.serviceservice ntpd status
7 修改系统参数
sysctl vm.swappiness=10echo 'vm.swappiness=10' >> /etc/sysctl.confecho never > /sys/kernel/mm/transparent_hugepage/defragecho never > /sys/kernel/mm/transparent_hugepage/enabledecho 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.localecho 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local
8 安装httpd
yum -y install httpdservice httpd start service httpd status
直接用ip地址登录,验证一下
9 下载第三方依赖包
在root 权限下,选择三个窗口同时安装一下依赖包
yum -y install bind-utils
yum -y install chkconfig
yum -y install cyrus-sasl-gssapi
yum -y install cyrus-sasl-plain
yum -y install fuse
yum -y install fuse-libs
yum -y install gcc
yum -y install libxslt
yum -y install mod_ssl
yum -y install MySQL-python
yum -y install openssl
yum -y install openssl-devel
yum -y install perl
yum -y install portmap
yum -y install postgresql-server
yum -y install psmisc
yum -y install python-devel
yum -y install python-psycopg2
yum -y install python-setuptools
yum -y install sed
yum -y install sqlite
yum -y install swig
yum -y install zlib
9 Mysql 安装
数据库只在cdh3 上面进行安装,将下面6个rpm包上传到集群中 rpm包自己百度云提取
链接:https://pan.baidu.com/s/1oO_38Wj5Ut1xcy9_EW7dOA
提取码:2bnw
上传集群截图如下:
(1) 首先查看自己的集群中是否安装mysql数据库
rpm -qa | grep mysql // 这个命令就会查看该操作系统上是否已经安装了mysql数据库
(2)要是安装了 通过 yum -y remove mysql 进行卸载
(3)依次安装6个rpm包 安装命令如下:
rpm -ivh mysql-community-common-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-libs-compat-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-devel-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-client-5.7.19-1.el7.x86_64.rpm --nodeps --force
rpm -ivh mysql-community-server-5.7.19-1.el7.x86_64.rpm --nodeps --force
(4)启动mysql
systemctl start mysqld
(5) 设置开机自启动mysql
systemctl enable mysqld
(6) 安装成功后 首先将数据库设置成无密码状态,需要修改配置
vi /etc/my.cnf
添加 skip-grant-tables 可保证为无密码状态(题外话 如果想要左边有行号 输入 :set nu 就可以显示 )
(7) 重启mysql服务器,保证生效 systemctl restart mysqld
(8)进入数据库 mysql -u root -p 按enter 键进入
(9) 选择数据库 use mysql;
(10) 修改密码为123456 修改命令
update user set authentication_string=password("123456") where user='root';
(11、12) 刷新:flush privileges; 退出 quit;
(13) 在此进入数据库 ,并建几个数据库
mysql -u root -p 密码123456
use mysql; 会报错, 说让你重新设置密码
mysql> set password = PASSWORD(‘123456’);
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
这个其实与validate_password_policy的值有关。
执行下面命令 修改 即可
mysql> set global validate_password_policy =0;
Query OK, 0 rows affected (0.04 sec)
mysql> set global validate_password_length = 6;
Query OK, 0 rows affected (0.00 sec)
然后重新 执行命令
mysql>SET PASSWORD = PASSWORD(‘your new password’);
Query OK, 0 rows affected (0.00 sec)
2.ALTER USER ‘root’@‘localhost’ PASSWORD EXPIRE NEVER
3.flush privileges;
4.quit
重新登录 mysql -u root -p 123456
use mysql;
create database cmf default character set = 'utf8';
create database amon default character set = 'utf8';
create database hue default character set = 'utf8';
create database oozie default character set = 'utf8';
create database lyz default character set = 'utf8';
(14) 设置允许外网访问当前的mysql
https://www.cnblogs.com/wangjinyu/p/11679696.html
1.查看目前防火墙是否对外开发了3306端口
firewall-cmd --list-all
2.查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
no 表示没有开放
3.开放3306端口
firewall-cmd --permanent --add-port=3306/tcp
4.重启防火墙
service firewalld restart
5再次.查看3306端口是否开放
firewall-cmd --query-port=3306/tcp
6.查看目前防火墙
firewall-cmd --list-all
10 mysql-connector-java-5.1.39 上传整理
在三个对话框中都执行
(1) mkdir /usr/share/java
(2) 将 mysql-connector-java-5.1.39.jar 上传到 /usr/share/java 目录下
jar包自取
链接:https://pan.baidu.com/s/1kbZ04-Ts6npSpCLCwiqrFA
提取码:c4hk
(3) mv mysql-connector-java-5.1.39.jar mysql-connector-java.jar
11 CM组件和节点安装
(1) 组件自提
链接:https://pan.baidu.com/s/1YYtvenDbZKsX1pm8xM0gvw
提取码:qx7l
(2) cdh2 cdh3 集群只上传 agent 和 daemons rpm包 cdh1 三个包全部上传
(3) 全部节点都安装daemons和agent
yum localinstall -y cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm yum localinstall -y cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
(4) cdh1 节点 安装server
yum localinstall -y cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
12 下载 安装CDH6.2.0
(1)安装包自提
链接:https://pan.baidu.com/s/1qxYYzCTmRCEziK_T6JC9Bg
提取码:34b6
(2)下载之后 在CDH1节点上传
全部上传之后,将不同的资源移动到对应的目录下
(3)mv CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel* /opt/cloudera/parcel-repo/(4)mv PHOENIX-5.0.0-cdh6.2.0.p0.1308267-el7.parcel* /opt/cloudera/parcel-repo/(5)mv manifest.json /opt/cloudera/parcel-repo/(6)mv PHOENIX-1.0.jar /opt/cloudera/csd/
(7)进入到parcel-repo目录下 效验 黄色框的字符码是否相等,来判断文件上传时是否正确
(8)修改server配置文件
- # cdh1上修改server
- 2 vi /etc/cloudera‐scm‐server/db.properties
- 3 # 12行去掉注释把localhost改成cdh3
- 4 # 15行去掉注释
- 5 # 18行去掉注释,把cmf改成root
- 6 # 21行去掉注释,密码那里填写123456
- 7 # 28行 setupType = EXTERNAL
(9)修改agent配置文件
? # 全部节点修改agent
vi /etc/cloudera-scm-agent/config.ini
? # 15行把localhost修改为cdh1
13、启动CM,开始安装CDH集群
? # 在cdh1 上启动server
systemctl start cloudera-scm-server
-
? #另开一个窗口,查看相关日志。有异常就解决异常
tail -200f /var/log/cloudera-scm-server/cloudera-scm-server.log
-
? # 在全部节点上启动agent
systemctl start cloudera-scm-agent
-
? # 当在 cdh1上 netstat ‐tunlp | grep 7180 有内容时,说明我们可以访问web页面了
14、操作WEB 界面
起个名字 HK
选择自定义服务,先安装个zookeeper
到自定义角色分配 中,
Activity Monitor 我选择的是cdh1节点,zookeeper 我选择的是1-3 节点
数据库是在cdh3 上部署,然后主机名称为cdh3 数据库选择amon 用户名为root 密码 123456 然后点击测试连接
进入到这页之后,先查看自己集群节点的容量大小,输入 df -HT 我的cdh1的节点容量如下:
/dev/mapper/centos-root 系统盘的容量最大,占19个G 但使用15个G 所以 在选择上不选择系统盘
可以选择 /run盘 和 /boot 盘 作为存放的路径
点击继续
点击继续
接下来 我们选择安装HDFS 文件系统,如下图所示: 点击添加服务
在选择时,Secondary NameNode 选择cdh2 DataNode 选择所有主机,点击继续
对照四个红框进行选择,点击继续
等待安装,然后点击继续
点击完成
点击完成后,进入主页,然后点击HDFS,点击配置,在搜索框输入ec
输入ec(Erasure Coding 为hadoop3.0 纠删码),我们先不使用它,所以将右边下拉框
往下拉,将RS-6-3-1024k 选为 No Default Erasure Coding Policy., 然后把检查HDFS
权限关闭。然后点击保存更改
然后返回主页,点击HDFS的重启按钮,进行重启。
勾选那个对号,然后立即重启
点击重启,进行等待,如下图
接下来 配置HDFS的High Availability ,进入HDFS中,点击操作按钮
修改名字,点击继续
编辑JournalNode 三台节点存储的目录路径,点击继续。
等待安装。然后点击继续,最后点击完成就安装成功。
接下来,安装yarn ,操作和之前一样。
点击继续,继续点击继续,等待安装。