网站搜索

如何在 CentOS/RHEL 7 上安装和配置 Cloudera Manager - 第 3 部分


在本文中,我们描述了根据行业实践安装 Cloudera Manager 的分步过程。在第 2 部分中,我们已经完成了 Cloudera 先决条件,确保所有服务器均已准备就绪。

要求

  • 在 CentOS/RHEL 7 上部署 Hadoop 服务器的最佳实践 – 第 1 部分
  • 设置 Hadoop 先决条件和安全强化 – 第 2 部分

这里我们将有 5 个节点集群,其中 2 个主节点和 3 个工作节点。我使用了5个AWS EC2实例来演示安装过程。我将这 5 台服务器命名如下。

master1.linux-console.net
master2.linux-console.net
worker1.linux-console.net
worker2.linux-console.net
worker3.linux-console.net

Cloudera Manager 是整个CDH 的管理和监控工具。我们管理员通常称其为Cloudera Hadoop的管理工具。我们可以使用此工具来部署、监视、控制和进行配置更改。这对于管理整个集群非常重要。

以下是Cloudera Manager的重要用途。

  • 以自动化方式部署和配置 Hadoop 集群。
  • 监控集群健康状况
  • 配置警报
  • 故障排除
  • 报告
  • 制作集群利用率报告
  • 动态配置资源

步骤1:在CentOS上安装Apache Web服务器

我们将使用 master1 作为 Cloudera 存储库的网络服务器。另外,Cloudera Manager是WebUI,所以我们需要安装Apache。请按照以下步骤安装 apache Web 服务器。

yum -y install httpd

安装 httpd 后,启动并启用它,以便在引导时启动它。

systemctl start httpd
systemctl enable httpd

启动httpd后,检查状态。

systemctl status httpd

启动httpd后,在本地系统中打开浏览器并将master1的IP地址粘贴到搜索栏中,您应该会得到这个测试页面以确保httpd运行正常。

步骤 2:配置本地 DNS 以解析 IP 和主机名

我们需要有一个 DNS 服务器或配置 /etc/hosts 来解析 IP 和主机名。这里我们正在配置 /etc/hosts,但实时情况下,生产环境将有一个专用的 DNS 服务器。

按照以下步骤在 /etc/hosts 中为所有服务器创建一个条目。

vi /etc/hosts

这应该在所有服务器中配置。

13.235.27.144   master1.linux-console.net     master1
13.235.135.170  master2.linux-console.net     master2
15.206.167.94   worker1.linux-console.net     worker1
13.232.173.158  worker2.linux-console.net     worker2
65.0.182.222    worker3.linux-console.net     worker3

步骤3:配置SSH无密码登录

在此演示中,Cloudera Manager 安装在 master1 上。我们需要配置从 master1 到所有其他节点的无密码 ssh。因为Cloudera Manager将使用ssh与所有其他节点进行通信以安装软件包。

按照以下步骤配置从 master1 到所有其余服务器的无密码 ssh。我们将有一个用户“howtoing”来进一步进行。

使用 useradd 命令在所有 4 个服务器上创建一个用户“howtoing”,如图所示。

useradd -m tecmint

要向用户“howtoing”授予 root 权限,请将以下行添加到 /etc/sudoers 文件中。您可以在 root 下添加此行,如屏幕截图所示。

tecmint   ALL=(ALL)    ALL

切换到用户“howtoing”并使用以下命令在 master1 中创建 ssh 密钥。

sudo su tecmint
ssh-keygen

现在,使用 ssh-copy-id 命令将创建的密钥复制到所有 4 个服务器,如图所示。

ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 
ssh-copy-id -i ~/.ssh/id_rsa.pub [email  
ssh-copy-id -i ~/.ssh/id_rsa.pub [email 

现在您应该能够从 master1 ssh 到其余所有服务器,而无需密码,如图所示。

ssh master2
ssh worker1
ssh worker2
ssh worker3

第4步:安装和配置Cloudera Manager

我们可以使用 vendor (Cloudera) 存储库来使用 RHEL/CentOS 中的包管理工具安装所有包。实时地,创建我们自己的存储库是最佳实践,因为我们可能无法在生产服务器中访问互联网。

在这里我们将安装Cloudera Manager 6.3.1版本。由于我们将使用 master1 作为存储库服务器,因此我们将在下面提到的路径中下载软件包。

master1 服务器上创建以下目录。

sudo mkdir -p /var/www/html/cloudera-repos/cm6

我们可以使用wget工具通过http下载包。因此,使用以下命令安装wget

sudo yum -y install wget

接下来,使用以下 wget 命令下载 Cloudera Manager tar 文件。

wget https://archive.cloudera.com/cm6/6.3.1/repo-as-tarball/cm6.3.1-redhat7.tar.gz

将 tar 文件解压到 /var/www/html/cloudera-repos/cm6 中,我们已经通过安装 httpmaster1 作为网络服务器并我们已经在浏览器上进行了测试。

sudo tar xvfz cm6.3.1-redhat7.tar.gz -C /var/www/html/cloudera-repos/cm6 --strip-components=1

现在,验证所有 Cloudera rpm 文件是否位于 /var/www/html/cloudera-repos/cm6/RPMS/x86_64 目录中。

cd /var/www/html/cloudera-repos/cm6
ll

在集群主机中的所有服务器上创建 /etc/yum.repos.d/cloudera-manager.repo 文件,内容如下,这里 master1 (65.0.101.148) 是网络服务器。

[cloudera-repo]
name=cloudera-manager
baseurl=http:///cloudera-repos/cm6/
enabled=1
gpgcheck=0

现在存储库已添加,运行以下命令查看启用的存储库。

yum repolist

运行以下命令查看存储库中所有可用的 Cloudera 相关包。

yum list available | grep cloudera*

安装cloudera-manager-server、cloudera-manager-agent、cloudera-manager-daemons cloudera-manager-server-db-2。

sudo yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server cloudera-manager-server-db-2

运行以下命令查看所有已安装的 Cloudera 软件包。

yum list installed | grep cloudera*

运行以下命令启动cloudera-scm-server-db,它是存储Cloudera Manager和其他服务元数据的底层数据库。

默认情况下,Cloudera 会提供嵌入在Cloudera Manager 中的postgre-sql。我们正在将嵌入式数据库安装在可以使用的实时外部数据库中。它可以是OracleMySQLPostgreSQL

sudo systemctl start cloudera-scm-server-db

运行以下命令来检查数据库的状态。

sudo systemctl status cloudera-scm-server-db

Cloudera Manager服务器配置db.properties

vi /etc/cloudera-scm-server/db.properties

配置以下值EMBEDDED以使Cloudera Manager使用嵌入式数据库

com.cloudera.cmf.db.setupType=EMBEDDED

运行以下命令启动 Cloudera Manager 服务器。

sudo systemctl start cloudera-scm-server

运行以下命令检查Cloudera Manager服务器的状态。

sudo systemctl status cloudera-scm-server

运行以下命令启动并检查 Cloudera Manager 代理的状态。

sudo systemctl start cloudera-scm-agent
sudo systemctl status cloudera-scm-agent

一旦Cloudera Manager Server成功启动并正常运行,您可以使用IP地址和端口号7180在浏览器中查看WebUI(登录页面),这是Cloudera 管理器

https://65.0.101.148:7180

概括

在本文中,我们逐步了解了在 CentOS 7 上安装 Cloudera Manager 的过程。我们将在下一篇文章中看到 CDH 和其他服务安装。