Cloudera(CDH) 简介和在线安装

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

实验背景

笔者需要维护线上的hadoop集群环境,考虑在本地搭建一套类似的hadoop集群,便于维护与管理。

Cloudera 简介

经过搜索发现Cloudera产品很适合笔者当前需求,于是开始研究Cloudera(CDH)的安装与使用,参考:
CDH是Apache Hadoop和相关项目的最完整,经过测试的流行发行版。 CDH提供了Hadoop的核心元素 - 可扩展的存储和分布式计算 - 以及基于Web的用户界面和重要的企业功能。 CDH是Apache许可的开放源码,是唯一提供统一批处理,交互式SQL和交互式搜索以及基于角色的访问控制的Hadoop解决方案。

Cloudera作为一个强大的商业版数据中心管理工具,提供了各种能够快速稳定运行的数据计算框架,如Apache Spark;使用Apache Impala做为对HDFS,HBase的高性能SQL查询引擎;也带了Hive数据仓库工具帮助用户分析数据; 用户也能用Cloudera管理安装HBase分布式列式NoSQL数据库;Cloudera还包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去对Hadoop上的计算任务进行一个可视化的协调优化,提高运行效率;同时Cloudera中提供的各种组件能让用户在一个可视化的UI界面中方便地管理,配置和监控Hadoop以及其它所有相关组件,并有一定的容错容灾处理;Cloudera作为一个广泛使用的商业版数据中心管理工具更是对数据的安全决不妥协!

CDH 提供:

  • 灵活性 - 存储任何类型的数据,并使用各种不同的计算框架进行处理,包括批处理,交互式SQL,自由文本搜索,机器学习和统计计算。
  • 集成 - 在一个可与广泛的硬件和软件解决方案配合使用的完整Hadoop平台上快速启动并运行。
  • 安全 - 过程和控制敏感数据。
  • 可扩展性 - 启用广泛的应用程序并进行扩展和扩展,以满足您的需求。
  • 高可用性 - 充满信心地执行关键业务任务。
  • 兼容性 - 利用您现有的IT基础设施和资源。

这里写图片描述

上述描述来自: https://www.cloudera.com/documentation/enterprise/latest/topics/cdh_intro.html

Cloudera Manager 介绍

Cloudera Manager可以轻松管理任何生产规模的Hadoop部署。通过直观的用户界面快速部署,配置和监控群集 - 完成滚动升级,备份和灾难恢复以及可定制警报。 Cloudera Manager作为Cloudera Enterprise的集成和支持部分提供。

参考:https://www.cloudera.com/documentation/enterprise/latest/topics/cm_intro_primer.html#concept_wfj_tny_jk

  • 如下所示,Cloudera Manager的核心是Cloudera Manager Server。服务器托管管理控制台Web服务器和应用程序逻辑,负责安装软件,配置,启动和停止服务以及管理运行服务的集群。

这里写图片描述

Cloudera Manager Server与其他几个组件一起工作:
  • agent - 安装在每台主机上。代理负责启动和停止进程,解包配置,触发安装和监视主机。
  • 管理服务 - 由一组执行各种监视,警报和报告功能的角色组成的服务。
  • 数据库 - 存储配置和监视信息。通常,多个逻辑数据库在一个或多个数据库服务器上运行。例如,Cloudera Manager Server和监视角色使用不同的逻辑数据库。
  • Cloudera存储库 - 由Cloudera Manager分发的软件存储库。
  • 客户端 - 是与服务器交互的接口:

    • 管理控制台 - 管理员用于管理集群和Cloudera Manager的基于Web的用户界面。
    • API - 与开发人员创建自定义Cloudera Manager应用程序的API。

安装Cloudera Manager和CDH

系统环境:CentOS6.9
软件环境:Oracle JDK、Cloudera Manager Server 和 Agent 、数据库、CDH各组件
  • 系统初始化(每个服务器都要做)
# 关闭iptables、禁用selinux

/etc/init.d/iptables stop && chkconfig iptables off
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config && setenforce 0

# 每台服务器之间设置免密认证
# CM
192.168.1.137 cdh.master.aniu.so master
192.168.1.148 cdh.node1.aniu.so node1
192.168.1.149 cdh.node2.aniu.so node2
192.168.1.150 cdh.node3.aniu.so node3
## 注:在每台服务器配置hosts,master和node1/2/3代表服务器的主机名

# 设置swap参数
echo never > /sys/kernel/mm/transparent_hugepage/defrag  #建议写到开启启动新里
sysctl -w vm.swappiness=0  # 建议写进sysctl.conf

# 设置ntp同步服务器时间
*/2 * * * * /usr/sbin/ntpdate 0.cn.pool.ntp.org >> /dev/null 2>&1
  • 阶段1:安装JDK(忽略)
[Java SE 8 Downloads](http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html)
export JAVA_HOME=/usr/java/jdk.1.8.0_nn
# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) 64-Bit Server VM (build 25.144-b01, mixed mode)
# 注 此处不用安装JDK,因为CM源有封装好的jdk,
  • 阶段2:设置数据库
# 使用mysql数据库,提前安装好mysql
# mysql -u root -ppassword -e "create database cmf DEFAULT CHARACTER SET utf8;"
# mysql -u root -ppassword -e "GRANT ALL PRIVILEGES ON `cmf`.* TO 'cmf'@'localhost' IDENTIFIED BY 'cmfpassword'";"
  • 阶段3:安装Cloudera Manager服务器
# 配置cloudera-cdh源和cloudera-manager源
# cloudera-manager
wget http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/cloudera-manager.repo

# cloudera-cdh
wget https://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/cloudera-cdh5.repo

# 安装jdk和cloudera-manager
sudo yum install oracle-j2sdk1.7 -y
sudo yum install cloudera-manager-daemons cloudera-manager-server -y
  • 阶段4:启动CM服务并通过浏览器访问
# /etc/init.d/cloudera-scm-server restart
Stopping cloudera-scm-server:                              [  OK  ]
Starting cloudera-scm-server:                              [  OK  ]

# 查看日志是否有报错,根据报错修改,然后再重新启动
tailf /var/log/cloudera-scm-server/cloudera-scm-server.log 
  • 创建必需的数据库
# 参考:https://www.cloudera.com/documentation/enterprise/latest/topics/install_cm_mariadb.html
# hive hue amon man nas navms oos 

create database metastore DEFAULT CHARACTER SET utf8;
grant all on metastore.* TO 'hive'@'%' IDENTIFIED BY 'Aniuhive123.';

create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'Aniuamon123.';

create database hue DEFAULT CHARACTER SET utf8;
grant all on hue.* TO 'hue'@'%' IDENTIFIED BY 'Aniuhue123.';

create database rman DEFAULT CHARACTER SET utf8;
grant all on rman.* TO 'rman'@'%' IDENTIFIED BY 'Aniurman123.';

create database navms DEFAULT CHARACTER SET utf8;
grant all on navms.* TO 'navms'@'%' IDENTIFIED BY 'Aniunavms123.';

create database nas DEFAULT CHARACTER SET utf8;
grant all on nas.* TO 'nas'@'%' IDENTIFIED BY 'Aniunas123.';

create database oos DEFAULT CHARACTER SET utf8;
grant all on oos.* TO 'oos'@'%' IDENTIFIED BY 'Aniuoos123.';
  • 集群更改设置
系统自带的python不能升级,升级会导致安装CM agent出问题

注意事项

  • 建议使用全新的服务器或者虚拟机安装CM服务,避免其他环境(服务)对安装过程造成影响
  • 系统初始化操作一定要一致,python版本注意用系统自带即可

重要

  • 卸载重装CM服务
# 笔者前期系统初始化部分很多操作都不完善,卸载重装CM步骤

# 安装CDH manager的服务器上面执行
yum remove cloudera-manager-server -y

# 在所有的服务器执行下面操作
/etc/init.d/cloudera-scm-agent stop
yum remove cloudera-manager-agennt-y
find / -name clouder* | xargs rm -rf 
find / -name cmf* | xargs rm -rf 
# 把使用yum下载的相关包卸载干净。然后通过CDH manager 管理界面安装

参考链接:

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
目录
相关文章
|
SQL 分布式计算 Oracle
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
使用Sqoop从Oracle数据库导入数据
|
缓存 Linux 开发工具
CentOS 7- 配置阿里镜像源
阿里镜像官方地址http://mirrors.aliyun.com/ 1、点击官方提供的相应系统的帮助 :2、查看不同版本的系统操作: 下载源1、安装wget yum install -y wget2、下载CentOS 7的repo文件wget -O /etc/yum.
260802 0
|
2月前
|
存储 SQL 数据库
OceanBase存储过程基本使用
OceanBase存储过程基本使用
|
分布式计算 Hadoop Java
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
本文是一份详细的Hadoop集群搭建指南,基于Hadoop 3.3.4版本和CentOS 8操作系统。文章内容包括虚拟机创建、网络配置、Java与Hadoop环境搭建、克隆虚拟机、SSH免密登录设置、格式化NameNode、启动Hadoop集群以及通过UI界面查看Hadoop运行状态。同时,还提供了常见问题的解决方案。
Hadoop集群搭建,基于3.3.4hadoop和centos8【图文教程-从零开始搭建Hadoop集群】,常见问题解决
|
10月前
|
数据可视化 IDE 开发工具
大模型编程(5)在线实战编码 - 纯免费
最近发现阿里云有许多实用资源,特别是提供Jupyter Notebook在线体验。Jupyter Notebook是一种互动计算环境,支持实时代码执行、可视化和文本说明等,方便用户创建和共享文档。通过这个平台,你可以直接在文档中运行代码,无需频繁切换命令行或IDE,极大提升了学习和开发效率。只需设置自己的API-key,即可开始动手实践。此外,阿里云的PAI平台也提供了类似的功能。
181 36
|
JavaScript 搜索推荐 前端开发
DevDocs具备**一站式搜索、多语言支持、离线访问等**特色功能。
DevDocs具备**一站式搜索、多语言支持、离线访问等**特色功能。
251 56
|
算法 决策智能
基于禁忌搜索算法的VRP问题求解matlab仿真,带GUI界面,可设置参数
该程序基于禁忌搜索算法求解车辆路径问题(VRP),使用MATLAB2022a版本实现,并带有GUI界面。用户可通过界面设置参数并查看结果。禁忌搜索算法通过迭代改进当前解,并利用记忆机制避免陷入局部最优。程序包含初始化、定义邻域结构、设置禁忌列表等步骤,最终输出最优路径和相关数据图表。
|
数据库 数据库管理 索引
主键和唯一键有什么区别?
【8月更文挑战第1天】
1011 6
主键和唯一键有什么区别?
|
存储 Shell 开发工具
查看git 的远程地址
在Git中,你可以通过几种不同的命令来查看远程仓库的地址。以下是一些常用的方法: ### 1. 使用`git remote -v`命令 这是查看远程仓库地址最常用的命令。它会列出所有远程仓库的名称(如`origin`)以及对应的URL(包括fetch和push的URL,如果它们不同的话)。 ```bash git remote -v ``` 输出示例: ``` origin https://github.com/username/repo.git (fetch) origin https://github.com/username/repo.git (push) ``` ###
2252 12

热门文章

最新文章