一.CDH安装介绍
平台版本:CDH6.20
安装方式:yum源离线安装
传输介质:U盘
节点数量:3台
二.CDH所需离线安装包及文件下载地址
所需安装包及parcels的下载地址:
1.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-agent-6.2.0-968826.el7.x86_64.rpm
2.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-daemons-6.2.0-968826.el7.x86_64.rpm
3.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-6.2.0-968826.el7.x86_64.rpm
4.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/cloudera-manager-server-db-2-6.2.0-968826.el7.x86_64.rpm
5.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/enterprise-debuginfo-6.2.0-968826.el7.x86_64.rpm
6.https://archive.cloudera.com/cm6/6.2.0/redhat7/yum/RPMS/x86_64/oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
7.https://archive.cloudera.com/cm6/6.2.0/allkeys.asc
8.https://archive.cloudera.com/cdh6/6.2.0/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel
9.https://archive.cloudera.com/cdh6/6.2.0/parcels/CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha256
10.https://archive.cloudera.com/cdh6/6.2.0/parcels/manifest.json
三.确认主机安装环境
1.系统版本需求:支持CentOS Linux7.X
检查系统版本:cat /proc/version
2.存储空间需求:CDH安装目录至少为2GB
确认存储空间:df -h
3.内存需求:至少4GB
四.规划集群部署
三台物理机的集群部署规划:
IP 主从节点
10.102.0.1 管理节点
10.102.0.2 /
10.102.0.3 /
五.安装前环境准备
1. 网络配置(所有节点)
1.修改hostname:在每个节点上执行:hostname [主机名]
2.配置hosts:vi /etc/hosts,并添加你的节点ip和主机名。
2. 关闭防火墙和SELinux(所有节点)
1.systemctl stop firewalld 关闭防火墙
2.systemctl disable firewalld 禁止防火墙开机自启
3.vim /etc/selinux/config —> SELINUX=disabled (修改)
3. ssh无密码登录(所有节点)
1.bfid64节点执行ssh-keygen -t rsa 一路回车到结束,在/root/.ssh/下面会生成一个公钥文件id_rsa.pub
2.cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 将公钥追加到authorized_keys
3.chmod 600 ~/.ssh/authorized_keys 修改权限
4.将~/.ssh从当前节点分发到其他各个节点(分别发送每个文件)。
scp -r ~/.ssh/ root@主机名:~/.ssh/
scp -r ~/.ssh/ root@主机名:~/.ssh/
5.ssh 各个节点尝试互相ssh。
4. 配置NTP服务(所有节点)
修改时区(改为中国标准时区)
1.ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
2.安装ntp
yum -y install ntp
3.ntp主机配置:注销之前的配置,管理节点添加对时节点,其他节点添加管理节点。
vim /etc/ntp.conf
4.重新启动 ntp 服务:systemctl start ntpd
5.设置开机自启:systemctl enable ntpd.service(若设置但是还是无法开机自启则执行systemctl disable chronyd)
6.ntpdc -c loopinfo #查看与时间同步服务器的时间偏差
7.ntpq -p #查看当前同步的时间服务器
8.ntpstat #查看状态
9.ntpq -p #配置成功状态(服务开启后前面出现*说明成功)
5. 安装http服务(所有节点)
yum install httpd
systemctl start httpd
systemctl enable httpd.service 设置httpd服务开机自启
6. 修改Linux swappiness参数(所有节点)
设置 vm. swappiness 核心参数:
在 /etc/sysctl.conf文件中追加行:vm.swappiness = 0
使参数生效,执行命令:sysctl -p
7. 禁用透明页(所有节点)
设置hugepage相关参数,执行以下命令:
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并将该命令,追加到 /etc/rc.local文件中,使系统重启时生效。
8. 解除linux系统打开文件最大数量的限制
vi /etc/security/limits.conf
soft noproc 11000
hard noproc 11000
soft nofile 65535
hard nofile 65535
9. 安装Oracle的JDK(所有节点)
1.rpm -qa | grep java # 查询已安装的java
2.yum remove java* # 卸载
3.rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
4.vi /etc/profile 末尾添加:
export JAVA_HOME=/usr/java/jdk1.8.0_181-cloudera
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
5.source /etc/profile
6.java -version验证
7.创建/usr/share/java目录,将mysql-jdbc包放过去(所有节点)
mkdir -p /usr/share/java
mv /opt/mysql-j/mysql-connector-java-5.1.34.jar /usr/share/java/mysql-connector-java.jar
mysql-connector-java-5.1.34.jar 一定要命名为mysql-connector-java.jar
10. 安装配置MySQL(主节点)
1.卸载mariadb:rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-5.5.60-1.el7_5.x86_64
2.创建/usr/mysql
mkdir /usr/mysql
3.上传tar.gz包到/usr/mysql,并解压
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
4.移动并重命名:
mv mysql-5.7.11-linux-glibc2.5-x86_64 mysql-5.7.11
5.创建mysql用户组和用户并修改权限
groupadd mysql
useradd -r -g mysql mysql
6.创建数据目录并赋予权限
mkdir -p /home/data/mysql #创建目录
chown mysql:mysql -R /home/data/mysql #赋予权限
7.配置my.cnf
配置内容如下:
8.初始化数据库
进入mysql的bin目录:
cd /usr/mysql/mysql-5.7.11/bin/
初始化命令:
./mysqld --defaults-file=/etc/my.cnf --basedir=/usr/mysql/mysql -5.7.11/ --datadir=/home/data/mysql/ --user=mysql --initialize
9.查看密码
cat /home/data/mysql/mysql.err | more | grep password
10.启动mysql
先将mysql.server放置到/etc/init.d/mysql中
cp /usr/mysql/mysql-5.7.11/support-files/mysql.server /etc/init.d/mysql
11.启动命令:systemctl start mysqld
查看进程:ps -ef|grep mysql
到这里说明mysql已经安装成功了
12.下面修改密码
登录mysql,输入随机生成的密码:./mysql -u root -p #bin目录下
再执行下面三步操作,然后重新登录:
SET PASSWORD = PASSWORD('123456');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
FLUSH PRIVILEGES;
如果不希望每次都到bin目录下使用mysql命令则执行以下命令
ln -s /usr/mysql/mysql-5.7.11/bin/mysql /usr/bin
13.mysql创建数据库:
create database acm default character set utf8 default collate utf8_general_ci;
create database amon default character set utf8 default collate utf8_general_ci;
create database rman default character set utf8 default collate utf8_general_ci;
create database metastore default character set utf8 default collate utf8_general_ci;
create database oozie default charset utf8 collate utf8_general_ci;
create database hue default charset utf8 collate utf8_general_ci;
grant all privileges on acm.* to 'acm'@'%' identified by '123456';
grant all privileges on amon.* to 'amon'@'%' identified by '123456';
grant all privileges on rman.* to 'rman'@'%' identified by '123456';
grant all privileges on metastore.* to '%' identified by '123456';
grant all privileges on oozie.* to 'oozie'@'%' identified by '123456';
grant all privileges on hue.* to 'hue'@'%'identified by '123456';
flush privileges;
14.设置开机启动
输入命令:systemctl enable mysqld;
六.安装Cloudera Manager
1.配置Cloudera Manager包yum源
创建/var/www/html/cloudera-repos
mkdir -p /var/www/html/cloudera-repos
mkdir -p /var/www/html/cdh6_parcel
将下载的cm包文件移到此目录下:
mv cm包 /var/www/html/cloudera-repos
2.cd /var/www/html/cloudera-repos
安装createrepo
yum install -y createrepo
创建repodata
输入命令:createrepo .
创建cloudera-manager.repo
vim /etc/yum.repos.d/cloudera-manager.repo
[cloudera-manager]
name=Cloudera Manager 6.20
baseurl=http://____/cloudera-repos/
gpgcheck=0
enabled=1
然后执行命令:
yum clean all && yum makecache
将cloudera-manager.repo分发到各个节点:
scp /etc/yum.repos.d/cloudera-manager.repo root@bfid65:/etc/yum.repos.d/cloudera-manager.repo
scp /etc/yum.repos.d/cloudera-manager.repo root@bfid67:/etc/yum.repos.d/cloudera-manager.repo
3.安装cloudera-manager-server【注:建议只手动安装server,在页面安装agent】
导入GPG key,所有节点都需要导入
rpm --import /var/www/html/cloudera-repos/cm6/RPM-GPG-KEY-cloudera
安装cm包
bfid64节点执行:
yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
rpm -ivh cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm --nodeps --force
注意:安装rpm包 一定不要忘记–nodeps --force (很多网上没有用这个,后面会报缺少依赖,这是巨坑)
其他节点执行:
sudo yum install -y cloudera-manager-agent cloudera-manager-daemons
执行初始化脚本:
mysql数据库与CM Server是同一台主机 执行命令:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
mysql数据库与CM Server不在同一台主机上 执行命令:
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h <mysql-host-ip> --scm-host <cm-server-ip> scm scm
执行完成,会在/etc/cloudera-scm-server/db.properties生成一些配置。
打开server服务:
systemctl start cloudera-scm-server
静候几分钟,打开http://管理节点IP:7180
查看是否启动:netstat -an | grep 7180
安装完CM后/opt/ 下会出现cloudera目录。
使用本地parcel存储库:
cd /opt/cloudera/parcel-repo
├── CDH-6.2.0-1.cdh6.2.0.p0.1279813-el7.parcel
├── CDH-6.2.0-1.cdh6.2.0.p0.1279813-el7.parcel.sha
└── manifest.json
chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/✳
然后重启:
systemctl restart cloudera-scm-server
注:如果要修改server或agent的启动配置,可以在/etc/default/下找到对应的配置文件(cloudera-scm-agent或cloudera-scm-server)进行修改。
如果CDH版本还不出来,
sha1sum /opt/cloudera/parcel-repo/CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel
得出的数字复制到.sha文件中重新启动:
echo "e9c8328d8c370517c958111a3db1a085ebace237" > CDH-6.2.0-1.cdh6.2.0.p0.967373-el7.parcel.sha
使用远程存储库:“选择方法”: 使用 Parcel (建议),点击"更多选项"-> “远程 Parcel 存储库 URL”,删除原有的,增加: http://____/cdh6_parcel ->保存更改。勾选: “自定义存储库”: http://
七.安装服务
1.登录CM 的WEB界面
http://管理节点IP:7180, 访问CM
用户:admin
密码:admin