java—是否不推荐使用数据存储mapreduce

pepwfjgg  于 2021-06-02  发布在  Hadoop
关注(0)|答案(2)|浏览(376)

我刚刚安装了 Google Cloud platform 免费试用。为了跑 MapReduce 具有的任务 DataStore 医生说要跑

./bdutil --upload_files "samples/*" run_command ./test-mr-datastore.sh

但是我在本地找不到这个文件,这是有原因的,用这种方式运行 MapReduce 在github上看到这一点,jobs似乎被弃用了。这是真的吗?有没有其他方法可以从本地命令行创建mapreduce任务而不需要 BigQuery ?

vzgqcmou

vzgqcmou1#

注意:google团队从中删除了datastoreconnector bdutil v1.3.0(2015-05-27)以后,您可能需要使用旧版本,或者使用gcs或bigquery作为代理来访问数据存储中的数据。
我试着尽可能多的报道,但是 bdutil 这需要更多的细节,很难记录在这个答案中,但我希望这能给你足够的开始:
安装google云sdk-详细信息


# Download SDK

curl https://sdk.cloud.google.com | bash

# Restart your shell

exec -l $SHELL

# Authenticate to GCP

gcloud auth login

# Select Project

gcloud config set project PROJECT_NAME

下载并提取包含数据存储连接器的bdutil源代码。


# Download source which contains DataStore connector

wget https://github.com/GoogleCloudPlatform/bdutil/archive/1.2.1.tar.gz -O bdutil.tar.gz

# Extract source

tar -xvzf bdutil.tar.gz
cd bdutil-*/

创建bdutil自定义环境变量文件。关于创建正确的配置文件,请参阅bdutil配置文档,因为您需要指定项目、服务器数量、gcs bucket、机器类型等。。。
使用部署hadoop示例(完整文档) datastore_env.sh ```
./bdutil deploy -e YOUR_ENV_FILE.sh,datastore_env.sh

连接到hadoop主节点

./bdutil shell

现在在主节点中,您可以运行mapreduce作业,该作业也可以访问数据存储。
关闭hadoop集群

./bdutil delete

p1tboqfb

p1tboqfb2#

数据存储连接器确实已被弃用。
对于您的问题“有没有从本地命令行创建mapreduce任务的替代方法”,一个选项是使用googleclouddataflow。它不是mapreduce本身,而是用于并行数据处理的编程模型,它已经取代了google的mapreduce。dataflowsdk包括对数据存储访问的支持。
与hadoop不同,您不必设置集群。您只需编写代码(使用dataflowsdk)并从cli提交作业。数据存储服务将动态创建处理作业所需的工人,然后终止他们。

相关问题