我知道我可以安装 Hadoop 的 EC2 群集(除非我错了)。 Hbase 怎么样?我可以预先制作 Hadoop和Hbase 吗?或者我需要弄脏手。如果不是一种选择,最佳选择是什么? Cloudera显然有两个包。这是要走的路吗?
感谢您的帮助。
答案 0 :(得分:7)
hbase有一组ec2脚本可以帮助您进行设置并准备好快速完成。它允许您配置zk服务器和从属节点的数量,但我不确定它们可用的版本。我正在使用0.20.6。设置完一些S3 / EC2信息后,您可以执行以下操作:
/usr/local/hbase-0.20.6/contrib/ec2/bin/launch-hbase-cluster CLUSTERNAME SLAVES ZKSERVERS
快速开始使用群集。这很好,因为它也会为你安装LZO信息。
以下是bin目录中环境文件中可能有用的一些参数(如果你想要20.6 AMI):
# The version of HBase to use.
HBASE_VERSION=0.20.6
# The version of Hadoop to use.
HADOOP_VERSION=0.20.2
# The Amazon S3 bucket where the HBase AMI is stored.
# Change this value only if you are creating your own (private) AMI
# so you can store it in a bucket you own.
#S3_BUCKET=apache-hbase-images
S3_BUCKET=720040977164
# Enable public access web interfaces
ENABLE_WEB_PORTS=false
# Extra packages
# Allows you to add a private Yum repo and pull packages from it as your
# instances boot up. Format is <repo-descriptor-URL> <pkg1> ... <pkgN>
# The repository descriptor will be fetched into /etc/yum/repos.d.
EXTRA_PACKAGES=
# Use only c1.xlarge unless you know what you are doing
MASTER_INSTANCE_TYPE=${MASTER_INSTANCE_TYPE:-c1.xlarge}
# Use only c1.xlarge unless you know what you are doing
SLAVE_INSTANCE_TYPE=${SLAVE_INSTANCE_TYPE:-c1.xlarge}
# Use only c1.medium unless you know what you are doing
ZOO_INSTANCE_TYPE=${ZOO_INSTANCE_TYPE:-c1.medium}
如果未在ami中设置JAVA_HOME(我认为不是这样),您可能还需要设置java版本。较新版本的hbase可能在S3存储桶中可用,只需执行描述实例,并使用greo for hadoop / hbase来缩小结果范围。
答案 1 :(得分:4)
据我所知,在EC2上运行hbase的最简单快捷的方法是使用apache whirr。
答案 2 :(得分:2)
您是否了解Amazon Elastic MapReduce?它不提供Hbase,但它提供了简单的'ol Hadoop,Hive和Pig(在相当最新版本中)。最大的好处是,他们不会开始向你收费,直到90%的节点上升,缺点是每小时比普通的EC2略有溢价。
如果你真的需要/想要使用HBase那么你可能最好自己动手。有关Hive和Hbase集成的讨论,请参阅以下Cloudera博客文章:http://www.cloudera.com/blog/2010/06/integrating-hive-and-hbase/