2017-08-29 127 views
0

我正在努力在企业中设置生产Hadoop/Spark集群,但我首先要做一些测试。只是为了得到一些语义在那里:虚拟机上的Ambari部署问题

生产OS:RHEL 7 CPU:8芯 内存:64GB 节点数量:12 类型:虚拟机

这些生产节点都是虚拟机和已经被赋予了1tb的数据空间,这是挂载在/ data /上。每个系统目录也都有自己的文件系统,比如/ var /拥有自己的文件系统,/ usr /和/拥有自己的文件系统,并且在大小/空间上受到限制。因此,我正在确定每个文件系统需要多少才能完成堆栈安装。我会在稍后回顾。

现在,我正在DEV盒上测试它,我有一个盒子设置作为管理节点,并有另一个盒子作为部署节点。我的目标是测试完全部署到单个节点,以确定部署到生产前可能遇到的问题。 DEV节点和PROD节点之间的唯一区别是DEV节点是RHEL 6,数据目录是/ hadoopdata01 /,DEV盒是4核和16GB RAM。同样,这只是为了测试,所以我不需要它来实际运行,我只是想通过安装和部署。

我可以在管理节点上获得Ambari服务器设置并正常工作。我在两个节点之间设置了所有无密码SSH设置,两台机器上的Java都是OpenJDK 1.8,并且两个机器上都安装了回购。我禁用了SELINUX并禁用了IPTABLES,只是为了安全

从那里,我注册了可以正常工作的节点,并且执行所有步骤,然后单击部署按钮。这似乎在4%冻结和活动分析部30分钟(1800秒),之后再安装和超时下列要求:

stderr: 
Python script has been killed due to timeout after waiting 1800 secs 
stdout: 
2017-08-28 17:11:02,665 - Stack Feature Version Info: stack_version=2.6, version=None, current_cluster_version=None -> 2.6 
2017-08-28 17:11:02,666 - Using hadoop conf dir: /usr/hdp/current/hadoop-client/conf 
User Group mapping (user_group) is missing in the hostLevelParams 
2017-08-28 17:11:02,667 - Group['hadoop'] {} 
2017-08-28 17:11:02,669 - Group['users'] {} 
2017-08-28 17:11:02,669 - User['zookeeper'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']} 
2017-08-28 17:11:02,671 - Adding user User['zookeeper'] 
2017-08-28 17:11:05,724 - User['ams'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']} 
2017-08-28 17:11:05,726 - Adding user User['ams'] 
2017-08-28 17:11:05,817 - User['ambari-qa'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['users']} 
2017-08-28 17:11:05,819 - Adding user User['ambari-qa'] 
2017-08-28 17:11:05,915 - User['hdfs'] {'gid': 'hadoop', 'fetch_nonlocal_groups': True, 'groups': ['hadoop']} 
2017-08-28 17:11:05,916 - Adding user User['hdfs'] 
2017-08-28 17:11:06,049 - File['/var/lib/ambari-agent/tmp/changeUid.sh'] {'content': StaticFile('changeToSecureUid.sh'), 'mode': 0555} 
2017-08-28 17:11:06,051 - Execute['/var/lib/ambari-agent/tmp/changeUid.sh ambari-qa /tmp/hadoop-ambari-qa,/tmp/hsperfdata_ambari-qa,/home/ambari-qa,/tmp/ambari-qa,/tmp/sqoop-ambari-qa'] {'not_if': '(test $(id -u ambari-qa) -gt 1000) || (false)'} 
2017-08-28 17:11:06,056 - Skipping Execute['/var/lib/ambari-agent/tmp/changeUid.sh ambari-qa /tmp/hadoop-ambari-qa,/tmp/hsperfdata_ambari-qa,/home/ambari-qa,/tmp/ambari-qa,/tmp/sqoop-ambari-qa'] due to not_if 
2017-08-28 17:11:06,057 - Group['hdfs'] {} 
2017-08-28 17:11:06,057 - Adding group Group['hdfs'] 
2017-08-28 17:33:22,647 - User['hdfs'] {'fetch_nonlocal_groups': True, 'groups': ['hadoop', 'hdfs']} 

Command failed after 1 tries 

还有一两件事 - 我要求我的VM家伙只是扩大在/ usr /文件系统,但他发现安装发生在/ usr/hdp /上,并且决定为我创建一个全新的文件系统,并将其安装为/ usr/hdp /,并带有我请求的4GB空间。是这样吗?造成我的问题? Ambari是否想创造这个空间,并因此给我提出问题?错误发生后,我检查/ usr/hdp目录,并且里面没有文件....

我一直在网上冲浪,但这对我来说是新的......我知道应该有一些信息在日志中,但我不知道要查看哪些日志,如果我应该查看管理服务器上的日志或我试图部署到的节点上的日志....

我有几个问题,但最终只想在部署到我的生产群集之前,在单个节点上测试基本Spark和Hadoop设置的部署。这里有几个问题:

  1. 我可以连部署单节点集群这种方式,也许这是我的问题....
  2. 什么日志,或者我应该在哪里寻找更多线索....我可以发布他们,只是不知道需要什么。
  3. 同样,我只想要一个基本的Hadoop/Spark群集 - 我需要考虑Ambari不具备的任何预置需求吗?
+0

所以,我一直在玩这个更多,似乎挂在创建用户和组 - 我的虚拟机是企业的一部分,并使用LDAP进行身份验证的身份验证。我知道,在这种情况下,我不得不在过去发布诸如“groupadd -r”之类的命令,因为LDAP验证框上的普通“gorupadd”需要很长时间才能执行。这可能是我的问题吗?再次,这似乎是在1800年大关超时。我试图扩展到3600s,但它导致同样的事情,它只需要更长的时间。关于ambari如何创建用户的任何想法?这可能是问题吗? – azdatasci

+1

是的,听起来像配置错误的LDAP – Dmitriusan

回答

0

为了解决这个问题,由于目前我们没有使用LDAP/AD,但是我们的Linux环境确实利用LDAP,问题在于Amabri试图创建本地用户。在这之前,它正在通过LDAP进行搜索以确保用户不存在。鉴于我们的LDAP/AD森林的规模,这些搜索需要很长时间(每个用户5-10个)(不知道为什么它需要这么长时间,但它是)。在大约2-3个服务帐户后,后端的整个部署脚本将超时,因为Ambari在部署中有一个总体计时器。

我的解决方案是提前创建这些用户和组。然后,在集群创建期间的Ambari中,在高级设置中,告诉Amabri忽略创建用户组/账户。之后,这是顺利的航行。我想如果我使用AD/LDAP集成,那么我们必须在这些系统中提前创建这些。我可以避免这种情况的唯一方法是,如果我根本不使用LDAP/AD ....无论如何,我想发布这个为我们工作的解决方案,我们在手动创建本地用户和组后开始运行。