大数据集群:CDH 6.0.X 完整版 安装

前沿

由于最近工作需要对CDH6进行技术调研,这个大版本的升级更加的也同样升级了hadoop生态圈的组件版本,支持的更加完善了,功能也增强了很多,下面做个简单的介绍

一CDH6新功能介绍

1、 cdh 6 版本的新功能

1.打包集成Solr7,更好的应对无论是结构化数据还是非结构化数据。Solr7支持直接使用SQL查询,并且通过SQL接口可以将对非结构化数据的查询对接到传统BI工具。Cloudera Enterprise 6.0支持新的 JSON Facet Module以及Nested Documents,对于Solr7的新的查询界面UI也在6.x的Roadmap中。
2.Hive2的矢量化(vectorization )进一步提升分析性能,带来20%-80%的性能提升。YARN可以在带有GPU的专有硬件上调度作业,对于深度学习用例的性能提升在5倍到10倍。
3.通过全自动的wire encryption(TLS)以及对于Cloudera Manager用户的更加细粒度对每个集群访问的控制,提升Cloudera Manager的集群管理效率,并保护敏感数据以及对基础架构的访问。从而使管理员可以在几分钟之内部署超过2500个节点的多个集群,同时管理开销最小。

2、cdh6 使用的组件版本详情

Cloudera Enterprise 6.0中的主要组件的升级:
SDX
Cloudera Manager 6.0
Cloudera Director 6.0
Cloudera Navigator 6.0
Cloudera Navigator Key Trustee 6.0
Apache Sentry 2.0
Apache Kafka 1.0
Analytics and Machine Learning Workloads
Apache Solr 7.0
Apache Spark 2.3
Core Platform
Apache Hadoop 3.0
Apache Hive 2.1
Apache HBase 2.0
Apache Oozie 5.0
Apache Avro 1.8
Apache Parquet 1.9

3、升级或者安装前置:

CDH
只支持从CDH5.7或以上版本升级到C6,所以如果你在使用CDH5.7以下版本,建议你至少先升级到5.7.
外部数据库支持:
MySQL 5.7或更高
MariaDB 5.5或更高
PostgreSQL 8.4或更高
Oracle 12c或更高JDK
Oracle JDK1.8,将不再支持JDK1.7
操作系统支持
RHEL 6.8或更高
RHEL 7.2或更高
SLES 12 SP2或更高
Ubuntu 16或更高

二:下面开始进行CDH6安装前的准备工作:

1、配置主机名和hosts解析(所有节点)

编辑/etc/hostname,修改主机名,并使用命令hostname使其立刻生效。
编辑文件/etc/hosts,增加如下内容。
10.10.2.22 cdh22
10.10.2.21 cdh21
10.10.2.24 cdh24

2、关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

3、关闭SELinux

sed -i ‘s#SELINUX=enforcing#SELINUX=disabled#g’ /etc/selinux/config
setenforce 0

4、添加定时任务

echo “$((RANDOM%60)) $((RANDOM%24)) * * * /usr/sbin/ntpdate time1.aliyun.com” >> /var/spool/cron/root

5、禁用透明大页面压缩

CDH配置需要
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并将上面的两条命令写入开机自启动/etc/rc.local。

6、优化交换分区

echo “vm.swappiness = 10” >> /etc/sysctl.conf
sysctl -p

三:安装 CM 和 CDH

CDH6.0.x安装 :根据自己服务器版本进行下载
需要提前安装的server 和 agent :根据自己服务器版本进行下载

1、配置 Cloudera Manager 仓库 yum源(所有节点)

wget https://archive.cloudera.com/cm6/6.0.1/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/

2、配置仓储以及验证秘钥

rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera

使用仓库安装会比较慢,建议先把需要的rpm下载下来,进行离线安装或者建私有仓库,主要下面的三个软件包:

cloudera-manager-agent-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-daemons-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
cloudera-manager-daemons 是 server 和 agent 必须安装的。

3、配置 JDK (所有节点)

配置自己的jdk即可,建议吧jdk的环境变量路径更改成
[root@cdh21 ~]# echo $JAVA_HOME
/usr/java/jdk1.8.0_152/

4、安装 CM Server 和 Agent

  • namenode01:这边安装的时候,之前下载 rpm安装包,直接安装rpm包即可,网速快的可以直接安装
    yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
    网速慢的可以安装下载完的 yum install cloudera-manager-server-6.0.1-610811.el7.x86_64.rpm
  • datanode0[1-3]:
    yum install cloudera-manager-daemons cloudera-manager-agent

5、安装数据库(namenode01) mysql

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
–yum update 可以不更新
yum install mysql-server
systemctl start mysqld
systemctl enable mysqld
初始化Mysql 复制下面的命令直接运行回车即可,然后设置密码 初始化选项
/usr/bin/mysql_secure_installation
[…]
Enter current password for root (enter for none):
OK, successfully used password, moving on…
[…]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[…]
Disallow root login remotely? [Y/n] N
[…]
Remove test database and access to it [Y/n] Y
[…]
Reload privilege tables now? [Y/n] Y
All done!

mysql配置文件

vim /etc/my.cnf
官方推荐配置文件配置
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
symbolic-links = 0
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space.
#Replace ‘/var/lib/mysql/mysql_binary_log’ with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M

安装 MySQL JDBC 驱动(所有节点)

用于各节点连接数据库,可以使用scp复制过去
wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz
tar xf mysql-connector-java-5.1.46.tar.gz
mkdir -p /usr/share/java/
cd mysql-connector-java-5.1.46
cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar
scp /usr/share/java/mysql-connector-java.jar cdh22:/usr/share/java/

6、为 Cloudera 各软件创建数据库

使用root登陆数据库,创建以下数据库和账号。 这边的数据库名字,在后面cloudera集群安装的时候,需要输入

给CDH各组件创建的用户账户密码,在后面初始化组建的时候会用到

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO ‘scm’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO ‘amon’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO ‘rman’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO ‘hue’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO ‘hive’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO ‘sentry’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO ‘nav’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO ‘navms’@’%’ IDENTIFIED BY ‘密码’;
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO ‘oozie’@’%’ IDENTIFIED BY ‘密码’;

7、设置 Cloudera Manager 数据库

[root@namenode01 ~]# /opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
Enter SCM password:
JAVA_HOME=/usr/java/jdk1.8.0_162
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_162/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!

8、安装 CDH

配置CDH的软件包 parcels(所有节点)
需要下载的是这三个文件:
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256
CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha
manifest.json manifest.json

CM安装成功之后,接下来我们就可以通过CM安装CDH的方式构建企业大数据平台。所以首先需要把CDH的parcels包下载到CM主服务器上。
同样的,我们为了加速我们的安装,我们可以把需要下载的软件包提前下载下来,也可以创建CDH私有仓库。

这边之前我们下载的安装包直接放入 /opt/cloudera/parcel-repo 目录下即可 提前下载也ok
[root@namenode01 ~]# cd /opt/cloudera/parcel-repo

wget https://archive.cloudera.com/cdh6/6.0.1/parcels/CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel
wget https://archive.cloudera.com/cdh6/6.0.1/parcels/manifest.json

在manifest.json文件中,找到对应版本的秘钥,复制到.sha文件中。
echo “2e650f1f1ea020a3efc98a231b85c2df1a50b030” > CDH-6.0.1-1.cdh6.0.1.p0.590678-el7.parcel.sha
修改属主属组。
chown cloudera-scm.cloudera-scm /opt/cloudera/parcel-repo/*
启动 Cloudera Manager Server
[root@namenode01 ~]# systemctl start cloudera-scm-server
如果启动中有什么问题,可以查看日志。
tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log

四、初始化 Cloudera Manager

  • 浏览器打开http://10.10.2.21:7180,用户名和密码默认都是admin。
    在这里插入图片描述

  • 接收许可
    在这里插入图片描述

  • 继续这里我们选择免费版,收费版请自行选择,然后进行安装
    在这里插入图片描述

五、集群安装(由于已经安装完成在写教程,这边图片为借鉴)

在这里插入图片描述

  • 指定要添加的节点。如果这边搜索到的集群节点无法连接上 ssh不通 可以考虑是不是防火墙 或者 ssh被禁掉了
    在这里插入图片描述

  • 选择存储库,之前我们已经在 CM Server 节点配置好了。
    在这里插入图片描述

  • 到安装jdk的时候 不进行勾选,选择我们自己安装的 JDK。

  • 提供 SSH 登录凭据, root登录
    在这里插入图片描述

  • 安装 agents,因为之前我们已经安装了,所以这里速度会很快。
    在这里插入图片描述

  • 安装选定的Parcel,之前我们已经下载好,并配置好放在的 CM Server 节点的/opt/cloudera/parcel-repo。
    在这里插入图片描述

  • 检查主机正确性。
    在这里插入图片描述

六、集群设置

  • 选择要安装的服务,可以根据自己的需求进行软件安装。
    在这里插入图片描述

  • 自定义角色分配,这边角色分配可以参照 官网的说明https://www.cloudera.com/documentation/enterprise/6/6.0/topics/configure_cm_repo.html
    在这里插入图片描述

  • 数据库设置,这边的数据就是之前初始化的时候创建的各个组件的数据库账户密码
    在这里插入图片描述

  • 首次运行
    在这里插入图片描述

  • 安装完成

七、管理集群

至此,CDH6.X就安装完成
Cloudera Manger首页管理: http://cdh21:7180
这边由于在集成kerberos,所有服务没有全部启动,后面会有集成kerberos介绍
报黄是由于网络接口速度不太好,主机报黄是由于安装的CDH组件服务角色太多,导致内存分配不够导致的

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_40341628/article/details/84986430