2021-06-21

CDH搭建大数据平台基本步骤

环境准备

1.准备服务器

安装CDH集群至少需要三台服务器,每台服务器的内存一般选用64G或32G

2.配置主机名称映射(所有节点)

1.修改主机名称
在root用户下:
修改/etc/hostname 文件,写上自己的hostname (每个节点的hostname不能相同)
2.修改映射
在root用户下:
修改 /etc/hosts/ 文件,修改完成后重启。
vi /etc/hosts
例图
3.关闭防火墙(所有节点)
执行下面命令:
4.关闭SELINUX(所有节点)
修改 /etc/sysconfig/selinux 文件
#查看防火墙
systemctl status firewalld.service
#执行关闭命令
systemctl stop firewalld.service
#执行开机禁用防火墙命令
systemctl disable firewalld.service
vim /etc/sysconfig/selinux
将 SELINUX=enforcing 修改为 SELINUX=disabled
保存,退出。
5.启用ntp服务(所有节点)
首先查看ntp是否启用
安装:使用yum安装ntp或者使用安装包直接解压安装
使用yum安装:
安装完成后,启动ntp
6.配置免密登录
在主节点master执行:
在其余节点执行:
最后,master将自己的authorized_keys分发到其余节点
7.禁用大透明压缩(所有节点)
打开编辑 /etc/rc.local 文件:
添加以下内容:
systemctl status ntpd
yum install ntp
systemctl enable ntpd
systemctl start ntpd
ssh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master #将公
sh-keygen -t rsa #一路回车到完成
ssh-copy-id -i ~/.ssh/id_rsa.pub root@master #注意
authorized_keys上
scp ~/.ssh/authorized_keys root@slave1:~/.ssh/
scp ~/.ssh/authorized_keys root@slave2:~/.ssh/
vim /etc/rc.local
echo never > /sys/kernel/mm/transparent_hugepage/d
echo never > /sys/kernel/mm/transparent_hugepage/e
8.优化交换分区(所有节点)
编辑 /etc/sysctl.conf 并添加一行 vm.swappiness=0
9.安装mysql(主节点)
略。
10.安装JDK(所有节点)
使用rpm包安装,不做过多描述(只需要注意安装之前一定要卸载
JDK版本必须为1.8或以上的版本,CDH默认识别JDK的路径为/us
如果安装到别的路径,可能启动CDH时会报错。
二、安装CDH
1.上传rpm包
vim /etc/sysctl.conf
在这里插入图片描述
将这个文件上传到集群的主节点,然后使用scp命令,将manager-agent与manager-daemons两个
rpm包传到从节点
2.安装rpm包
首先安装前置依赖包:

yum install bind-utils psmisc cyrus-sasl-plain cyrus-sasl-gssapi portmap httpd
mod_ssl openssl-devel python-psycopg2 MySQL-python /lib/lsb/init-functions

按顺序安装CDH的rpm包:
master:

rpm -ivh cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
rpm -ivh cloudera-manager-server-db-2-6.0.1-610811.el7.x86_64.rpm

slave:

rpm -ivh cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
rpm -ivh cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm

3.配置agent的服务器地址(所有节点)

vim /etc/cloudera-scm-agent/config.ini

将 server_host=localhost 改为 master 节点主机名 (beelink1)
4.配置mysql(主节点)

tar zxvf mysql-connector-java-5.1.46.tar.gz
mkdir -p /usr/java/share/
cd mysql-connector-java-5.1.46
cp mysql-connector-java-5.1.46-bin.jar /usr/java/share/mysql-connector-java.jar

注意:
mysql-connector-java.jar 的权限若为 rwx------,后期 Cloudera Manager Server 启动时,用
用户没有 mysql-connector-java.jar 的权限,将导致服务启动失败。因此开放 mysql-connec
java.jar 的权限:

chmod 755 /usr/share/java/mysql-connector-java.jar

5.为Cloudera Manager 创建MYSQL数据库(主节点)
使用root用户登录,登录后:

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY 'Amon!@#123';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'Rman!@#123';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'Hue!@#123';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON metastore.* TO 'hive'@'%' IDENTIFIED BY
'Hive!@#123';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY
'Sentry!@#123';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'Nav!@#123';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'Navms!@#123';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE
utf8_general_ci;GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'Oozie!@#123';
flush privileges;
#检查 MySQL 确认已创建所有数据库
SHOW DATABASES;

6.初始化agent-server
master 执行:

rm /etc/cloudera-scm-server/db.mgmt.properties
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm -P 端口 -p 密码

按照提示输入密码,最后得到:

Enter SCM password:JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing: /usr/java/jdk1.8.0_141-cloudera/bin/java -cp /usr/share/java/mysql-
connector-java.jar:/usr/share/java/oracle-connector-
java.jar:/usr/share/java/postgresql-connector-
java.jar:/opt/cloudera/cm/schema/../lib/*
com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-
server/db.properties com.cloudera.cmf.db.
[ main] DbCommandExecutor INFO
Successfully connected to database.
All done, your SCM database is configured correctly!

初始化完成
7.安装parcel包
将已下载的 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel 和 manifest.json 拷贝至
/opt/cloudera/parcel-repo/ 目录,并且生成 parcel 包的 sha 值

sha1sum /opt/cloudera/parcel-repo/CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel

将 sha 值填入到 CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha 文件中

vim /opt/cloudera/parcel-repo/CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha

注意,只需要写入前面的sha值,不需要写后面跟的文件名。
8.启动
启动 cloudera-scm-agent (所有节点)
systemctl start cloudera-scm-agent
启动 Cloudera Manager Server (master)
systemctl start cloudera-scm-server
最后查看日志

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

看到 INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server. 则说明启
动完成.
9.登录clouderManager
登录http://主节点IP/主节点名称:7180
账户密码为admin/admin
进行集群的安装
集群安装就按照提前规划的节点配置,进行安装
注意:namenode与SecondaryNameNode不能在一个节点,注意不要把所有的管理角色都放在一个节
点,分散合理配置。
三、可能出现的问题
1.ntp服务无法检测到
首先查看每个机器的ntp是否启动,然后检查通讯是否有问题
如果都正常,可以删掉restrict 172.0.0.1 restrict ::1 这两行,重启再次尝试
相关ntp信息,可以访问:https://www.cnblogs.com/quchunhui/p/7658853.html 查看。
2.无法检测到JDK
查看JDK安装路径是否为CDH默认识别的路径 /usr/java ,如果不是,修改完再重新检测。
3.下载CDH的rpm地址
https://archive.cloudera.com/cm6/6.1.0/redhat7/yum/RPMS/x86_64/
https://archive.cloudera.com/cdh6/6.1.0/parcels/
CDH的官方文档:
https://docs.cloudera.com/documentation/enterprise/6/6.1/topics/install_cm_cdh.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值