如何在 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 中,我们已经通过安装 http 将 master1
作为网络服务器并我们已经在浏览器上进行了测试。
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。我们正在将嵌入式数据库安装在可以使用的实时外部数据库中。它可以是Oracle、MySQL 或PostgreSQL。
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 和其他服务安装。