大数据CDH安装详细教程

1.环境准备

1.1 服务器配置(理想配置)
在这里插入图片描述
1.2 修改主机名和hosts文件(所有节点)

[root@hadoop001 ~]# vim /etc/hosts
vim /etc/hostname

1.3 关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

1.4 SSH免密登录(主节点)

ssh-keygen -t rsa
#分发到所有节点
ssh-copy-id hadoop01
ssh-copy-id hadoop02
ssh-copy-id hadoop03

1.5 关闭SELINUX(所有节点)

vi /etc/selinux/config
#修改
SELINUX=disabled

1.6 配置NTP时钟同步(所有节点)

yum -y install ntpdate
#设置定时同步
crontab -e
*/8 * * * * /sbin/ntpdate ntp1.aliyun.com;/sbin/hwclock -w  > /dev/null 2>&1

1.7 设置swap空间(所有节点)

echo "vm.swappiness = 0">>/etc/sysctl.conf
#立即生效
sysctl -p

1.8 关闭大页面压缩(所有节点)

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled

1.9 安装jdk (所有节点)
固定目录目录/usr/java下。

1)创建/usr/java目录
2)用SecureCRT将jdk-8u144-linux-x64.tar.gz上传至hadoop01,并解压到/usr/java目录下。
tar -zxvf jdk-8u144-linux-x64.tar.gz -C /usr/java/
3)配置JAVA_HOME环境变量
(1)打开/etc/profile文件
vi /etc/profile
在profile文件末尾添加JDK路径
#JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$PATH:$JAVA_HOME/bin
(2)让修改后的文件生效
source /etc/profile
4)测试JDK是否安装成功
java -version

如果已经装过,注意版本,locate jps 查看路径
建立同步连接
ln -s /opt/jdk1.8.0_202 /usr/java/default
1.10 安装mysql(主节点)

1)下载msql5.7 yum源
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
2)安装yum源
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3)安装mysql
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
yum -y install mysql-server	
yum -y remove mysql57-community-release-el7-9.noarch
4)启动mysql
systemctl start mysqld.service
5)查看root用户密码
grep 'temporary password' /var/log/mysqld.log
set global validate_password_policy=0;
set global validate_password_length=4
6)执行mysql初始化脚本
mysql_secure_installation
7)输入新密码

在这里插入图片描述

8)配置root用户远程访问权限
mysql> grant all privileges on *.* to 'root' @'%' identified by '******.123456';

mysql> flush privileges;
9)安装mysql驱动
安装驱动包(所有节点)
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.27.tar.gz
放在 /usr/share/java   命名:mysql-connector-java.jar

1.11 下载第三方依赖

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb

2.CM安装

2.1 集群规划
在这里插入图片描述
2.2 搭建本地yum源(主节点)

2.2.1安装 httpd
    yum install -y httpd
	systemctl start httpd
	systemctl enable httpd
2.2.2创建yum源(主节点)
文件放入对应目录
mkdir /var/www/html/{cm,cdh}
创建yum源
yum install -y createrepo
cd /var/www/html/cm
createrepo .

编辑配置文件
vi /etc/yum.repos.d/cm.repo

内容:
[cm]
name=cm
baseurl=http://hadoop01/cm/
enabled=1
gpgcheck=0

2.2.3下发到其他节点
scp /etc/yum.repos.d/cm.repo hadoop02:/etc/yum.repos.d/
scp /etc/yum.repos.d/cm.repo hadoop03:/etc/yum.repos.d/

2.3 安装CM

2.3.1安装CM server及agent
[root@hadoop01 ~]# yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
[root@hadoop02 ~]# yum install cloudera-manager-agent cloudera-manager-daemons
[root@hadoop03 ~]# yum install cloudera-manager-agent cloudera-manager-daemons
修改配置文件
vim /etc/cloudera-scm-agent/config.ini
修改所有 server_host=hadoop01

2.3.2创建各组件需要的数据库
mysql> CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql> CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql> CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql> CREATE DATABASE hive DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql> CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;

mysql> CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
2)为CM配置数据库
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm root 123456

3.启动CM服务

[root@hadoop01~]# systemctl start cloudera-scm-server cloudera-scm-agent

[root@hadoop02~]# systemctl start cloudera-scm-agent

[root@hadoop03~]# systemctl start cloudera-scm-agent

#查看状态
[root@hadoop01~]# systemctl status cloudera-scm-server
#查看异常信息
[root@hadoop01~]# journalctl -xe

访问http://hadoop01:7180,(用户名、密码:admin)

4.安装CDH

2.1 选择商业版本
1)欢迎页面
在这里插入图片描述
2)用户协议

在这里插入图片描述

3)选择免费版在这里插入图片描述
2.2 部署CDH集群

1)选定集群物理节点
在这里插入图片描述
2)添加本地parcel库
在这里插入图片描述
替换成自己httpd中CDH的地址
在这里插入图片描述

3)等待parcel的下载、分配、解压和激活
在这里插入图片描述

4)检查集群网络环境
在这里插入图片描述

5)选择要安装的CDH组件,选择自定义安装
在这里插入图片描述

6)选择需要安装的组件,如下
在这里插入图片描述

7)CDH各组件角色分布
在这里插入图片描述
在这里插入图片描述
8)数据库连接测试
在这里插入图片描述

9)各组件基本设置,使用默认即可

10)等待安装部署和启动

11)启动成功
**加粗样式**
12)CM-HUE-OOZIE时间统一和oozie资源
oozie.processing.timezone
在这里插入图片描述
在这里插入图片描述

13)在yarn配置项中搜索“yarn.nodemanager.resource.memory-mb”,修改成4G。
在这里插入图片描述

14)在yarn配置项中搜索“yarn.scheduler.maximum-allocation-mb”,修改成2G。
在这里插入图片描述

5.YARN性能调优

每个job提交到yarn执行的时候,都会分配container容器去运行,而这个容器需要资源才能运行,那这个资源就是cpu和内存,也就是每个任务container都需要CPU和内存。
5.1 CPU

1.yarn.nodemanager.resource.cpu-vcores
表示该节点服务器上yarn可以使用的虚拟CPU个数,默认是8,推荐将值配置与物理核心个数相同,如果节点CPU核心不足8个,要调小这个值,yarn不会智能的去检测物理核心数

2.yarn.scheduler.minimum-allocation-vcores
单个任务最小可申请的虚拟核心数,默认为1

3.yarn.scheduler.maximum-allocation-vcores
单个任务最大可申请的虚拟核心水,默认为4,如果申请资源时,超过这个配置,会抛出InvalidResourceRequestException

5.2 内存

服务器节点上会有若干的内存,一部分给yarn,一部分给hdfs,一部分给hbase;Member相关的配置如下:
1.yarn.nodemanager.resource.memory-mb
设置该节点上yarn可使用的内存,默认为8G,如果节点内存资源不足8G,要减少这个值,yarn不会智能的去检测内存资源,一般这个设置yarn的可用内存资源

2.yarn.scheduler.minimum-allocation-mb
单个任务最小申请物理内存量,默认1024MB,根据自己的业务设定

3.yarn.scheduler.maximum-allocation-mb
单个任务最大申请物理内存量,默认为8291MB

5.3 实际案例

安装服务器为16核,64G内存
yarn.nodemanager.resource.cpu-vcores 虚拟core
这个参数根据自己生产服务器决定,比如公司服务器很富裕,那就直接1:1,设置成16,如果公司服务器不是很富裕,那就直接成1:2,设置成32,我们生产设置的是32

yarn.nodemanager.resource.memory-mb 总内存
生产上我们一般要预留15-20%的内存,那么可用内存就是64*0.8=51.2G,我们设置成50G就可以了(固定经验值)

yarn.scheduler.minimum-allocation-mb 单任务最小内存
如果设置成2G,那50/2 = 25,就是最多可以跑25个container
如果设置成3G,那50/3 = 16,就是最多可以跑16个container

yarn.scheduler.minimum-allocation-vcores 单任务最少vcore
如果设置vcore = 1,那么32/1 = 32,就是最多可以跑32个container,如果设置成这个,根据上面内存分配的情况,最多只能跑25个container,vcore有点浪费
如果设置vcore = 2,那么32/2 = 16,就是最多可以跑16个container

yarn.scheduler.maximum-allocation-vcores 单任务最多vcore
一般就设置成4个,cloudera公司做过性能测试,如果cpu大于等于5之后,cpu利用率反而不是很好(固定经验值)

yarn.scheduler.maximum-allocation-mb 单任务最大内存
这个要根据自己公司业务设定,如果有大任务,需要5-6G内存,那就设置为8G

原文链接:https://blog.csdn.net/u010452388/article/details/98234147

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值