Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Pulumi创建简单Azure HDInsight Spark群集时出错_Javascript_Azure_Apache Spark_Azure Hdinsight_Pulumi - Fatal编程技术网

Javascript 使用Pulumi创建简单Azure HDInsight Spark群集时出错

Javascript 使用Pulumi创建简单Azure HDInsight Spark群集时出错,javascript,azure,apache-spark,azure-hdinsight,pulumi,Javascript,Azure,Apache Spark,Azure Hdinsight,Pulumi,我正在尝试使用Pulumi Javascript SDK在Azure上创建HDInsight Spark群集。我遵循了Pulumi提供的关于创建“hello world”GCP Kubernetes集群的教程,并在github上的Pulumi示例repo中查看了JavaScript示例,但没有成功创建集群 我曾多次尝试根据Pulumi repo中的示例更改我的export语句,但当我在Pulumi项目根目录中运行Pulumi up时,总是出现“未处理的异常”错误,后跟堆栈跟踪。到目前为止,我已尝

我正在尝试使用Pulumi Javascript SDK在Azure上创建HDInsight Spark群集。我遵循了Pulumi提供的关于创建“hello world”GCP Kubernetes集群的教程,并在github上的Pulumi示例repo中查看了JavaScript示例,但没有成功创建集群

我曾多次尝试根据Pulumi repo中的示例更改我的
export
语句,但当我在Pulumi项目根目录中运行
Pulumi up
时,总是出现“未处理的异常”错误,后跟堆栈跟踪。到目前为止,我已尝试使用以下导出语句

    //attempt 1
    export const sparkClusterName = sparkCluster.name

    //attempt 2
    export const sparkClusterOutput = sparkCluster.output

    //attempt 3
    export const sparkEndpoint = sparkCluster.httpsEndpoint
我正在使用VisualStudio代码作为我的IDE 使用Mojave在MacBook Pro上运行所有代码 使用Pulumi版本0.17.11 使用节点版本12.1.0 azure cli和pulumi cli工具都已安装

我的
index.js
程序如下:

"use strict";
const pulumi = require("@pulumi/pulumi");
const azure = require("@pulumi/azure");

// Retrieve an Azure Resource Group
const resourceGroup = pulumi.output(azure.core.getResourceGroup({
    name: "MyResourceGroup",
}));
//Create Spark Cluster
const sparkCluster = new azure.hdinsight.SparkCluster("testSparkCluster", {
    clusterVersion: "3.6",
    componentVersion: {
        spark: "2.3",
    },
    gateway: {
        enable: true,
        password: "laDK#21",
        username: "USERname",
    },
    location: resourceGroup.apply(resourceGroup => resourceGroup.location),
    name: "example-hdisparkcluster",
    resourceGroupName: resourceGroup.apply(resourceGroup => resourceGroup.name),
    roles: {
        headNode: {
            password: "AAAlllddck11122$$3",
            username: "USerNameladkfj",
            vmSize: "Standard_A3",
        },
        workerNode: {
            password: "asdlfaDDF143k#@#",
            targetInstanceCount: 3,
            username: "USernaemls",
            vmSize: "Standard_A3",
        },
        zookeeperNode: {
            password: "ASDKLlkjjj##@@323",
            username: "USERname2323",
        },
    },
    storageAccounts: [{
        isDefault: true,
    }],
    tier: "Standard",
});

// Export the spark cluster
export const sparkClusterName = sparkCluster.name;
//export const sparkName = sparkCluster.output
//export const sparkEndpoint = sparkCluster.httpsEndpoint
预期结果应该是pulumi CLI成功显示正在创建的新堆栈和Spark群集(然后能够在Azure门户上查看群集)。 而是引发以下错误和堆栈跟踪:

Previewing update (dev):

     Type                 Name                         Plan       Info
 +   pulumi:pulumi:Stack  HDInsight_Spark_Cluster-dev  create     1 error

Diagnostics:
  pulumi:pulumi:Stack (HDInsight_Spark_Cluster-dev):
    error: Running program '/Users/workspace/Pulumi Workspace/Pulumi HDInsight Testing' failed with an unhandled exception:
    /Users/workspace/Pulumi Workspace/Pulumi HDInsight Testing/index.js:50
    export const sparkClusterName = sparkCluster.name;
    ^^^^^^

    SyntaxError: Unexpected token export
        at Module._compile (internal/modules/cjs/loader.js:703:23)
        at Object.Module._extensions..js (internal/modules/cjs/loader.js:770:10)
        at Module.load (internal/modules/cjs/loader.js:628:32)
        at Function.Module._load (internal/modules/cjs/loader.js:555:12)
        at Module.require (internal/modules/cjs/loader.js:666:19)
        at require (internal/modules/cjs/helpers.js:16:16)
        at /Users/workspace/Pulumi Workspace/Pulumi HDInsight Testing/node_modules/@pulumi/pulumi/cmd/run/run.js:195:20
        at Stack.<anonymous> (/Users/workspace/Pulumi Workspace/Pulumi HDInsight Testing/node_modules/@pulumi/pulumi/runtime/stack.js:76:27)
        at Generator.next (<anonymous>)
        at fulfilled (/Users/workspace/Pulumi Workspace/Pulumi HDInsight Testing/node_modules/@pulumi/pulumi/runtime/stack.js:17:58)

预览更新(dev):
类型名称计划信息
+pulumi:pulumi:Stack HDInsight\u Spark\u Cluster-dev创建1错误
诊断:
pulumi:pulumi:Stack(HDInsight\u Spark\u Cluster-dev):
错误:运行程序“/Users/workspace/Pulumi workspace/Pulumi HDInsight Testing”失败,出现未处理的异常:
/Users/workspace/Pulumi-workspace/Pulumi-HDInsight-Testing/index.js:50
导出常量sparkClusterName=sparkCluster.name;
^^^^^^
SyntaxError:意外的令牌导出
at模块编译(内部/modules/cjs/loader.js:703:23)
在Object.Module.\u extensions..js(internal/modules/cjs/loader.js:770:10)
在Module.load(内部/modules/cjs/loader.js:628:32)
at Function.Module._load(内部/modules/cjs/loader.js:555:12)
at Module.require(内部/modules/cjs/loader.js:666:19)
根据需要(内部/modules/cjs/helpers.js:16:16)
at/Users/workspace/Pulumi workspace/Pulumi HDInsight Testing/node_modules/@Pulumi/Pulumi/cmd/run/run.js:195:20
在堆栈上。(/Users/workspace/Pulumi workspace/Pulumi HDInsight Testing/node_modules/@Pulumi/Pulumi/runtime/stack.js:76:27)
在Generator.next()处
完成时(/Users/workspace/Pulumi workspace/Pulumi HDInsight Testing/node_modules/@Pulumi/Pulumi/runtime/stack.js:17:58)

我对使用Azure非常陌生,对Javascript只有基本的了解,因为我的大部分经验都是使用Java和C/C++。我编写此程序的目的是帮助我使用Pulumi来使用和理解HDInsight。

您遇到了一个语法问题,因为JavaScript中的导出与TypeScript不同。复制的导出将在TS程序中工作,但在JS中,您应该编写:

exports.sparkClusterName = sparkCluster.name;
如果您对JavaScript和TypeScript都不熟悉,我建议您切换到TypeScript,并使用类似VisualStudio的编辑器代码在编辑时突出显示错误。您的代码中仍然有许多这样的代码:
enable
而不是
enabled
vmSize
zookepernode
中缺失,
storageAccountKey
storageAccounts
中缺失
storageContainerId

除此之外,您的用户名和密码违反了某些策略,但您只会在运行
pulumi up
时发现,而不是在编辑时发现

以下是我的看法:

const sparkCluster=new azure.hdinsight.sparkCluster(“testSparkCluster”){
clusterVersion:“3.6”,
组件版本:{
火花:“2.3”,
},
网关:{
启用:对,
密码:“@P6g4KMvlhjM”,
用户名:“用户名”,
},
名称:“示例hdisparkcluster”,
resourceGroupName:resourceGroup.apply(rg=>rg.name),
角色:{
头节点:{
密码:“0@Gkv81xt!lR“,
用户名:“usernamehn”,
vmSize:“标准_A3”,
},
工作节点:{
密码:“Wx63!zmnepk”,
目标数量:3,
用户名:“usernamewn”,
vmSize:“标准_A3”,
},
zookeeperNode:{
密码:“&43MhoXfZ5ar”,
用户名:“usernamezn”,
vmSize:“标准_A3”,
},
},
存储帐户:[{
isDefault:对,
storageAccountKey:storageAccount.primaryAccessKey,
storageContainerId:storageContainer.id,
}],
等级:“标准”,
});
更新:我创建了一个