type
status
date
slug
summary
tags
category
icon
password
这里写文章的前言:
CDH搭建,减少了hadoop集群生态的维护
📝 CDH端口开放
端口号 | 组件 | 备注 |
7180 | CDH web UI | |
9870 | HDFS web UI | |
8088 | Yarn web UI | |
19888 | Historyserver web UI | |
8080 | ||
8888 | Hue(未优化) | |
8889 | Hue(优化) | |
3306 | MySQL | |
6379 | Redis | |
9092 | kafka | |
2181 | zk | |
4040 | Spark | |
18088 | Spark | |
10000 | Hiveserve2 | |
10002 | Hive | |
11000 | Oozie | |
51000 | Sentry | |
8020 | HDFS | |
ㅤ |
修改主机hosts配置
host
比如这里的配置,每台集群的机器都需要配置, 具体自身的ip和hostname等进行配置
ssh免密配置
配置所有机器之间相互的免密
CDH的服务是有server和agent概念的,agent收集到往server进行汇报情况
执行ssh-keygen -t rsa并敲三次回车,会在我们的/root/.ssh目录下生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到免密登录的目标机器上
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104
每台机器上重复ssh等操作
集群同步脚步
vim xsync : 将下面的脚步内容给复制到 xsync 中
chmod u+x xsync : 复制完值,给脚步加上对应的权限
同步执行指令脚步
vim xcall.sh
chmod u+x xcall.sh
防火墙检测是否关闭
查看状态: sudo systemctl status firewalld
禁用: sudo systemctl disable firewalld
停止: sudo systemctl disable firewalld
检查hostname是否成功
hostname
hostnamectl status
禁用SELinux mode
安全增强的Linux (SELinux)允许通过策略设置访问控制。如果在部署CDH时遇到困难,请在将CDH部署到集群之前,在每个主机上将SELinux设置为permissive模式
getenforce
如果输出结果为Permissive 或Disabled
- 打开 /etc/selinux/config 文件
- 将SELINUX = enforcing 这一行改为 SELINUX= permissive
- 保存并关闭文件
- 重新启动系统或运行 setenforce 0 命令来立即禁用 SELinux
禁用透明大页配置
在每台服务器上分别执行
启动NTP服务
CDH要求在集群中的每台机器上配置一个网络时间协议(NTP)服务。大多数操作系统使用时间同步的ntpd服务。
注:RHEL 7兼容的操作系统默认使用chronyd而不是ntpd。如果chronyd正在运行,Cloudera Manager将使用它来确定主机时钟是否同步。否则,Cloudera Manager使用ntpd
yum需要安装的源
yum源工具安装
yum -y install yum-utils createrepo
导入 cm 资源包
创建/var/www/html/cm文件夹
将资料包中cm文件夹下的文件放入/var/www/html/cm文件夹中
创建 repo
使用createrepo命令创建本地yum源;在/etc/yum.repos.d/文件夹下创建新的yum repo文件
配置了hosts文件的情况下我们可以直接使用hadoop102作为域名访问
清除缓存
清除缓存并建立新的元数据缓存
CM及依赖组件安装
java环境
xcall yum -y install oracle-j2sdk1.8.x86_64
配置java的环境变量,因为我们在上面已经把/etc/profile中的内容追加到/root/.bashrc中,所以我们现在只需要配置/root/.bashrc文件即可
vim /root/bin/setjavahome.sh
mysql安装
InnoDB log files 做备份
/etc/my.cnf文件修改
初始化mysql
配置my.cnf完成后,启动MySQL;需要注意:
- 因为当前无密码,所以启动时直接回车
- Disallow root login remotely 选项需要输入 N , 这样 root 用户才能远程访问
将JDBC的jar放入到/usr/share/java文件夹中
创建各用户数据库(注意hive的数据库叫metastore)
Service | Database | User |
Cloudera Manager Server | scm | scm |
Activity Monitor | amon | amon |
Reports Manager | rman | rman |
Hue | hue | hue |
Hive Metastore Server | metastore | hive |
Sentry Server | sentry | sentry |
Oozie | oozie | oozie |
通过yum安装daemons,agent,server
配置本地Parcel存储库
参数配置
- dfs.client.use.datanode.hostname
- yarn.nodemanager.resource.cpu-vcores
- yarn.scheduler.maximum-allocation-vcore
- yarn.scheduler.maximum-allocation-mb
- yarn.nodemanager.resource.memory-mb
- spark.dynamicAllocation.enabled
调度相关参数设置:
yarn.scheduler.capacity.root.queues
yarn.scheduler.capacity.root.capacity
yarn.scheduler.capacity.root.spark.capacity
yarn.scheduler.capacity.root.hive.capacity
🤗 总结归纳
📎 参考文章
有关文章的问题,欢迎您在底部评论区留言,一起交流~