提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
因为公司数据过多,单纯使用MySQL已经无法完成业务需求,现需要搭建一套基于阿里云的CDH大数据集群平台,由于现阶段CDH已经不再维护,所以若使用在生产环境中,需要警惕一定的安全攻击。
一、集群重要相关数据
大数据平台一般占用资源都比较多,要确定好所需资源,如果学习使用,推荐使用阿里云共享标准型 s6或 s7,4核CPU,主节点16G内存以上,其他节点8G以上,操作系统为CentOS 7.9.2009。
为保护隐私,后续所有内网和外网IP都用下列方式代替,其中最后的编号则对应相应的主机。
密码统一为123456,注意后续安装过程中密码的替代,还有对应端口可以使用自己主机未使用的端口,在这里我们只做mysql的端口替换。
该方法使用的所有文件都存放在百度网盘上的,地址为:
链接:https://pan.baidu.com/s/10pBk45shVxKSKwWHVe4aTA?pwd=q4hk 提取码:q4hk
外网IP | 内网IP | 主机名称 | 内存 | 内核数 | 操作系统 |
---|---|---|---|---|---|
XXX.XXX.XXX.001 | 0.0.0.001 | bigdata01 | 16G | 4 | CentOS 7.9.2009 |
XXX.XXX.XXX.002 | 0.0.0.002 | bigdata02 | 8G | 4 | CentOS 7.9.2009 |
XXX.XXX.XXX.003 | 0.0.0.003 | bigdata03 | 8G | 4 | CentOS 7.9.2009 |
安装清单目录
- 修改节点名和配置节点IP
- 免密登录
- 安装JDK
- 安装MySQL
- 安装CM
二、修改节点名和配置节点IP
#修改对应的节点名称
vim /etc/hostname
#修改对应的节点IP
vim /etc/hosts
#添加内容如下
0.0.0.001 bigdata01
0.0.0.002 bigdata02
0.0.0.003 bigdata03
#配置好后重启服务器生效
reboot
三、免密登录
#在所有的节点上生成公钥和私钥
ssh-keygen -t rsa #三次回车
#将公钥拷贝到要免密登录的目标机器上
ssh-copy-id bigdata01
ssh-copy-id bigdata02
ssh-copy-id bigdata03
#测试免密登录是否成功
ssh bigdata01
ssh bigdata02
ssh bigdata03
四、安装JDK
#在所有节点上/opt目录下创建module和software文件夹
mkdir /opt/module
mkdir /opt/software
#上传oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm到/opt/software目录下并安装
cd /opt/software
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
vim /etc/profile
#在文件中添加以下内容
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
#source一下
source /etc/profile
java -version #成功即会显示 java version "1.8.0_181"
#scp分发,并source
scp -r /usr/java/ bigdata02:/usr/
scp -r /usr/java/ bigdata03:/usr/
scp /etc/profile bigdata02:/etc/
scp /etc/profile bigdata03:/etc/
#在02,03节点上source
source /etc/profile
java -version
五、安装MySQL
#查看MySQL是否安装
rpm -qa|grep -i mysql #安装了就会打印出mysql的名字,例如mysql-libs-5.1.73-7.el6.x86_64
#如果安装了就先卸载,使用rpm -e --nodeps 上面打印出来的名字
rpm -e --nodeps mysql-libs-5.1.73-7.el6.x86_64 #例子
#在所有节点上删除阿里云原有MySql依赖
yum remove mysql-libs
#在01节点下载MySql依赖并安装
yum install libaio
yum -y install autoconf
cd /opt/software
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/MySQL-shared-5.6.24-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-5.6.24-1.el6.x86_64.rpm
rpm -ivh MySQL-shared-compat-5.6.24-1.el6.x86_64.rpm
#上传mysql-libs到bigdata01的/opt/software目录
cd /opt/software/mysql-libs
ll
#安装MySQL服务器
rpm -ivh MySQL-server-5.6.24-1.el6.x86_64.rpm
#查看产生的随机密码
cat /root/.mysql_secret #打印出来的密码记录一下,等会会用
#查看MySQL状态
systemctl status mysql
#启动MySQL
systemctl start mysql
#安装MySQL客户端
rpm -ivh MySQL-client-5.6.24-1.el6.x86_64.rpm
#链接MySQL(密码替换成产生的随机密码)
mysql -uroot -p+刚才的随机密码
#进入到mysql>中来修改密码
SET PASSWORD=PASSWORD('123456');
#退出MySQL
exit
#测试密码是否修改成功
mysql -uroot -p123456
#成功登录后显示数据库
show databases;
#使用MySQL数据库
use mysql;
#展示MySQL数据库中的所有表
show tables;
#展示user表的结构
desc user;
#查询user表
select User, Host, Password from user;
#修改user表,把Host表内容修改为%
update user set host='%' where host='localhost'; #目的使其他节点IP也能用mysql
#删除root用户的其他host
delete from user where host!='%';
#刷新退出
flush privileges;
quit;
1、更改Mysql的默认端口
#找到默认mysql配置
cd /usr/share/mysql/
ls #找到my-default.cnf文件,该文件为mysql默认配置文件
cp my-default.cnf /etc/my.cnf #将该文件复制到/etc/my.cnf
#修改mysql配置文件
vim /etc/my.cnf
#添加内容如下
[mysqld]
port=7306 #为更改后的端口号
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
#重启mysql
systemctl restart mysql
#进入mysql
mysql -u root -p123456
#在mysql中查看端口信息
show global variables like 'port';
#查看mysql基本信息
status;
2、在MYSQL中建库
#进入mysql,
mysql -uroot -p123456
#在mysql里建库
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
CREATE DATABASE hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
CREATE DATABASE hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
六、CM安装部署
1、CM安装
#先在/opt/software/mysql-libs解压mysql-connector-java-5.1.27.tar.gz
tar -zxvf mysql-connector-java-5.1.27.tar.gz
#将mysql-connector-java-5.1.27-bin.jar拷贝到/usr/share/java路径下,并重命名
cd mysql-connector-java-5.1.27
mv mysql-connector-java-5.1.27-bin.jar mysql-connector-java.jar
mkdir /usr/share/java
scp mysql-connector-java.jar /usr/share/java/
scp -r /usr/share/java/ bigdata02:/usr/share/
scp -r /usr/share/java/ bigdata03:/usr/share/
2、上传cm6.3.1-redhat7.tar.gz到/opt/software/目录下
mkdir /opt/cloudera-manager
cd /opt/software/
#解压并安装
tar -zxvf cm6.3.1-redhat7.tar.gz
cd cm6.3.1/RPMS/x86_64/
mv cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
mv cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm /opt/cloudera-manager/
cd /opt/cloudera-manager/
ll #查看移动到目录下的三个文件
3、安装cloudera-manager-daemons
#安装cloudera-manager-daemons
cd /opt/cloudera-manager/
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cd /opt
ll #安装完毕后多出/opt/cloudera目录
#将cloudera-manager分发到其他集群
scp -r /opt/cloudera-manager/ bigdata02:/opt/
scp -r /opt/cloudera-manager/ bigdata03:/opt/
#在02,03节点上安装cloudera-manager-daemons
cd /opt/cloudera-manager/
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
4、安装cloudera-manager-agent
#在所有节点上操作
cd /opt/cloudera-manager/
yum install -y bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL-python libxslt
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
#在所有节点上配置agent的server节点
vim /etc/cloudera-scm-agent/config.ini
#修改内容为
server_host=bigdata01
5、安装cloudera-manager-server
#在节点01上安装cloudera-manager-server
cd /opt/cloudera-manager/
rpm -ivh cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
#执行完会在/opt/cloudera上生成parcel-repo目录
#上传CDH包到parcel-repo
cd /opt/cloudera/parcel-repo
#将CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
#和CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha一起上传到该目录下
#修改server的db.properties
vim /etc/cloudera-scm-server/db.properties
#修改内容如下
com.cloudera.cmf.db.type=mysql
#更换了的MySQL的端口7306
com.cloudera.cmf.db.host=bigdata01:7306
com.cloudera.cmf.db.name=scm
com.cloudera.cmf.db.user=scm
com.cloudera.cmf.db.password=scm
com.cloudera.cmf.db.setupType=EXTERNAL
6、启动server服务和agent节点
#在01节点上执行server服务
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -hbigdata01:7306 -uroot -p'123456' scm scm scm --force
systemctl start cloudera-scm-server
#在所有节点上启动agent
systemctl start cloudera-scm-agent
#查看CM日志
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
若启动成功,则可进入bigdata01:7180内进行可视化部署
记得在自己的电脑上配置hosts文件,Windows的地址在C:\Windows\System32\drivers\etc\hosts
,添加数据如下:
XXX.XXX.XXX.001 bigdata01
XXX.XXX.XXX.002 bigdata02
XXX.XXX.XXX.003 bigdata03