一、环境准备
1、系统环境:
# cat /etc/os-release
2、准备工作:
部署资源分配
节点 | centos 7.9(生产) | 节点规划 | Postgresql部署组件 | 备注 |
pgsql | 32c、128G、2TB | 国产数据库 | Postgresql(翰高) | 可根据实际情况调整如mysql、mongoDB |
cdh01 | 16c、128G、1TB | master agent | jdk1.8 | |
cdh02 | 16c、128G、1TB | agent | jdk1.8 | |
cdh03 | 16c、128G、1TB | agent | jdk1.8 | |
cdh04 | 16c、128G、1TB | agent | jdk1.8 | |
cdh05 | 16c、128G、1TB | agent | jdk1.8 |
安装包下载:
夸克网盘分享夸克网盘是夸克推出的一款云服务产品,功能包括云存储、高清看剧、文件在线解压、PDF一键转换等。通过夸克网盘可随时随地管理和使用照片、文档、手机资料,目前支持Android、iOS、PC、iPad。https://pan.quark.cn/s/cd01f3cfca27
安装包准备:
CM6.3.1
cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
cloudera-manager-server-db-2-6.3.1-1466458.el7.x86_64.rpm
enterprise-debuginfo-6.3.1-1466458.el7.x86_64.rpm
CDH6.3.2 Parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha256
manifest.json
JDK
jdk-8u201-linux-x64.tar.gz
Postgresql JDBC jar
postgresql-42.2.5.jar
下载完成后要重命名去掉版本号:
mv postgresql-42.2.5.jar postgresql-connector-java.jar
3、安装基础依赖:
$ sudo yum -y install gcc gcc-c++ net-tools make autoconf sysstat bash-completion wget openssl-dev lsof vim telnet lrzsz dos2unix nohup unzip psmisc
二、环境初始化
1、关闭防火墙
# 关闭防火墙echo "关闭防火墙..."# 查看防火墙状态firewall-cmd --state || echo "firewalld 未运行"# 临时关闭防火墙systemctl stop firewalld# 永久关闭防火墙systemctl disable firewalld# 清空防火墙规则iptables -F# 临时关闭selinuxsetenforce 0# 永久关闭selinuxsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config# 查看selinux状态getenforce
2、修改主机名
所有节点都要执行,修改后需执行bash生效
#节点1
hostnamectl set-hostname cdh01
bash#节点2
hostnamectl set-hostname cdh02
bash#节点3
hostnamectl set-hostname cdh03
bash#节点4
hostnamectl set-hostname cdh04
bash#节点5
hostnamectl set-hostname cdh05
bash
3、配置hosts文件
cat /etc/hosts
所有节点都要配置
cat >> /etc/hosts << EOF
192.168.2.161 cdh01
192.168.2.162 cdh02
192.168.2.163 cdh03
192.168.2.164 cdh04
192.168.2.165 cdh05
EOF
4、设置时间同步
#设置时区为Asia/Shanghai
timedatectl set-timezone Asia/Shanghai#查看是否安装了ntpd的服务
rpm -qa | grep ntpd#如果没有安装,可以进行在线安装
yum -y install ntp#启动ntpd的服务
service ntpd start#设置ntpd的服务开机启动
systemctl enable ntpd.service#查看ntpd的服务是否启动
service ntpd status#设置定时任务
#与阿里云服务器进行时钟同步
crontab -e
#设置的内容如下
*/1 * * * * /usr/sbin/ntpdate -u ntp4.aliyun.com;
设置成功后会一直出现You have new mail in /var/spool/mail/root的邮件提示,可使用下面命令关闭邮件提示
echo "unset MAILCHECK" >> /etc/profile
source /etc/profile
5、 禁用透明大页(所有节点)
#查看:查看透明大页的设置和启动状态cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled#操作:临时关闭
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled#永久关闭:将临时关闭命令添加到/etc/rc.d/rc.local文件中,并赋予执行权限echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.d/rc.local
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local#验证:
cat /etc/rc.d/rc.local
6、部署PG(使用瀚高)
待更新
7、创建本地YUM仓库
安装Apache Httpd服务(master节点,本例中cdh01)
#安装
yum install httpd -y#启动
systemctl start httpd#设置开机自启
systemctl enable httpd#配置Cloudera Manager安装包yum源(master节点,本例中cdh01)
#创建目录
mkdir -p /var/www/html/cloudera-repos/cm6
#!!!将下载好的cloudera的rmp安装包上传到/var/www/html/cloudera-repos/cm6
#创建仓库
yum install -y createrepo
cd /var/www/html/cloudera-repos/cm6
#cloudera的rmp安装包所在的cm6目录下执行
createrepo .
创建repo文件
sudo cat >> /etc/yum.repos.d/cloudera-manager.repo <<EOF
[cloudera-manager]
name=Cloudera Manager 6.3.1
baseurl=http://192.168.2.161:80/cloudera-repos/cm6
gpgcheck=0
enabled=1
autorefresh=0
type=rpm-md
EOF
#清理并缓存
yum clean all
yum makecache
8、检查依赖是否安装
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb portmap mod_ssl openssl-devel python-psycopg2 MySQL-python python-devel telnet pcre-devel gcc gcc-c++
9、所有服务器安装JDK
第一步: 安装JDK
mkdir -p /usr/java/
#进入jdk所在的目录,执行命令 注意:修改相应自己的jdk版本tar -zxvf jdk-8u201-linux-x64.tar.gz -C /usr/java/ && cd /usr/java/ && mv jdk1.8.0_201 default#编辑配置文件
vim /etc/profile#将以下内容添加到文件中:
export JAVA_HOME=/usr/java/default #java的实际路径
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}
#使之生效
source /etc/profile
第二步: 添加postgresql驱动包
mkdir -p /usr/share/java/
cd /usr/share/java/
#重命名不不能带版本号
mv postgresql-42.2.5.jar postgresql-connector-java.jar
#分发到其他节点 拷贝过去
scp postgresql-connector-java.jar cdh02:/usr/share/java/
scp postgresql-connector-java.jar cdh03:/usr/share/java/
……
注:所有服务器都要配置
三、Cloudera Manager部署
1、安装 Cloudera Manager(master节点,本例中cdh01)
#安装master
sudo yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server#安装完CM后/opt/ 下会出现cloudera目录
cd /opt/cloudera/parcel-repo/上传CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel到/opt/cloudera/parcel-repo目录
校验文件是否下载完全
ll#total 2033432
#-rw-r--r-- 1 root root 2082186246 Apr 4 14:31 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
#-rw-r--r-- 1 root root 40 Apr 4 14:31 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha1
#-rw-r--r-- 1 root root 33887 Apr 4 14:31 manifest.json#将parcel包移动到指定位置,别忘了manitest.json文件
#赋权限
sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/#执行脚本scm_prepare_database.sh
#PG数据库
cd /opt/cloudera/cm/schema/
./scm_prepare_database.sh -h 192.168.2.161 -P 5866 postgresql scm scm 密码#替换CDH-server服务器的host
sudo sed -i "s/server_host=localhost/server_host=cdh01/g" /etc/cloudera-scm-agent/config.ini#查看数据库的配置
vim /etc/cloudera-scm-server/db.properties
2、安装所有节点agent并修改配置
#部署agent
sudo yum install -y cloudera-manager-daemons cloudera-manager-agent
#修改文件中server_host的属性值
#所有节点修改agent的配置,指向server的节点node161【manager端地址】sudo sed -i "s/server_host=localhost/server_host=cdh01/g" /etc/cloudera-scm-agent/config.ini#启动 CM服务,先启动master当确认master正常运行的情况下再启动agent:
systemctl start cloudera-scm-server && systemctl enable cloudera-scm-server && systemctl status cloudera-scm-server#检查master服务运行状态tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"#出现INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server则启动成功#所有节点启动CM agent
sudo systemctl start cloudera-scm-agent && sudo systemctl enable cloudera-scm-agent查看agent日志
tail -f /var/log/cloudera-scm-agent/cloudera-scm-agent.log#启动如果有问题查看log。/var/log/cloudera-scm-server,启动server 和agent 尽量一起启动否则报错:
浏览器登陆CM 管理界面验证:初始用户密码 admin/admin
web页面:http://IP:7180/
默认登录账号: admin
默认登录密码: admin
## 建议选择免费
设置集群名称:
当你先启动master后启动agent时,否则与以下界面会有所不同
选择CDH parcel 版本
安装时报错 “Parcel 不可用于操作系统分配 RHEL7” 请看:
安装CDH时报错:Parcel 不可用于操作系统分配 RHEL7,原因与解决办法~-CSDN博客