我有一个安装了 cloudera 管理器(CM)的 64 位机器的小型集群,它运行良好。我想向这个集群添加一组 32 位机器作为数据节点。根据 CM 文档,无法使用管理器安装 32 位机器。另一方面,我可以在这些 32 位机器上手动安装 CDH4。无论如何我可以将所有机器连接在一起吗?
1 回答
是的,即使已经安装了 cloudera manager 的 64 位机器,也可以在同一个集群上连接 32 位和 64 位机器。
所以基本上你需要在每台 32 位主机上下载并安装 32 位机器的 cloudera 包:
sudo yum --nogpgcheck -y localinstall cloudera-cdh-4-0.i386.rpm
然后安装hadoop-hdfs-datanode
:
sudo yum -y install hadoop-hdfs-datanode
如果要将 /my-hdfs-dir 目录分配给 hdfs,请确保hdfs
是该目录的所有者(对于每个 32 位主机):
chown -R hdfs /my-hdfs-dir
您需要将 32 位主机添加到允许的主机列表中:dfs_hosts_allow.txt。在我的情况下,这个文件位于/var/run/cloudera-scm-agent/process/847-hdfs-NAMENODE
. 基本上如果你去/var/run/cloudera-scm-agent/process/
你会发现一个进程列表,你需要修改最近的NAMENODE进程。考虑到新节点刷新节点:
sudo -u hdfs hdfs dfsadmin -refreshNodes
您还需要配置每个 32 位主机。最简单的方法是从一个现有的 64 位从站复制core-site.xml
和文件。hdfs-site.xml
您将在
/var/run/cloudera-scm-agent/process/xxx-hdfs-DATANODE
从站中找到这些文件。您可以注释所有包含您从中复制文件的药膏名称的属性(这些似乎不是必需的)。文件修改后,复制到所有 32 位主机上/etc/hadoop/conf
。
您现在可以在 32 位主机上启动 hdfs:
sudo service hadoop-hdfs-datanode start
您可以通过浏览来检查新的datanode是否安装master_ip:50070
。不幸的是,我认为没有办法在 cloudera manager web ui 中看到这些新机器。如果有人知道解决方案,非常欢迎。