实战 | 离线搭建CDH6.20平台 踩坑实录

一.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
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据湖填坑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值