- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
创建历史服务器的默认CF模板包括创建安全组和IAM角色。我删除了两者并添加了选择现有的安全组。现在,当我运行 CF 模板时,它已成功创建 HistoryServerInstance,但在等待条件下失败。你们能帮我解决我做错的地方吗?错误截图和附加脚本。
谢谢。
我的 yaml 中的 CF 模板:
Parameters:
InstanceType:
Type: String
Default: t3.medium
AllowedValues:
- t3.micro
- t3.small
- t3.medium
Description: Instance Type for EC2 instance which hosts Spark history server.
LatestAmiId:
Type: AWS::SSM::Parameter::Value<AWS::EC2::Image::Id>
Description: Latest AMI ID of Amazon Linux 2 for Spark history server instance. You can use the default value.
Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-x86_64-gp2
InstanceSecurityGroup:
Description: "Select Security Group"
Type: AWS::EC2::SecurityGroup::Id
VpcId:
Type: AWS::EC2::VPC::Id
Description: "VPC ID for Spark history server instance."
Default: ''
SubnetId:
Type: AWS::EC2::Subnet::Id
Description: Subnet ID for Spark history server instance.
Default: ''
IpAddressRange:
Type: String
Description: "IP address range that can be used to view the Spark UI."
MinLength: 9
MaxLength: 18
HistoryServerPort:
Type: Number
Description: History Server Port for the Spark UI.
Default: 18080
MinValue: 1150
MaxValue: 65535
EventLogDir:
Type: String
Description: "*Event Log Directory* where Spark event logs are stored from the Glue job or dev endpoints. You must use s3a:// for the event logs path scheme"
Default: s3a://hcg-stagingaas6377-sandbox/logs/
SparkPackageLocation:
Type: String
Description: You can use the default value.
Default: 'https://archive.apache.org/dist/spark/spark-2.4.3/spark-2.4.3-bin-without-hadoop.tgz'
KeystorePath:
Type: String
Description: SSL/TLS keystore path for HTTPS. If you want to use custom keystore file, you can specify the S3 path s3://path_to_your_keystore_file here. If you leave this parameter empty, self-signed certificate based keystore is used.
KeystorePassword:
Type: String
NoEcho: true
Description: SSL/TLS keystore password for HTTPS. A valid password can contain 6 to 30 characters.
MinLength: 6
MaxLength: 30
Metadata:
AWS::CloudFormation::Interface:
ParameterGroups:
-
Label:
default: Spark UI Configuration
Parameters:
- IpAddressRange
- HistoryServerPort
- EventLogDir
- SparkPackageLocation
- KeystorePath
- KeystorePassword
-
Label:
default: EC2 Instance Configuration
Parameters:
- InstanceType
- LatestAmiId
- VpcId
- SubnetId
Mappings:
MemoryBasedOnInstanceType:
t3.micro:
SparkDaemonMemory: '512m'
t3.small:
SparkDaemonMemory: '1g'
t3.medium:
SparkDaemonMemory: '3g'
Resources:
HistoryServerInstance:
Type: AWS::EC2::Instance
Properties:
ImageId: !Ref LatestAmiId
InstanceType: !Ref InstanceType
SubnetId: !Ref SubnetId
SecurityGroupIds:
- !Ref InstanceSecurityGroup
UserData:
'Fn::Base64': !Sub |
#!/bin/bash -xe
yum update -y aws-cfn-bootstrap
echo "CA_OVERRIDE=/etc/pki/tls/certs/ca-bundle.crt" >> /etc/environment
export CA_OVERRIDE=/etc/pki/tls/certs/ca-bundle.crt
rpm -Uvh https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
/opt/aws/bin/cfn-init -v -s ${AWS::StackName} -r HistoryServerInstance --region ${AWS::Region}
/opt/aws/bin/cfn-signal -e -s ${AWS::StackName} -r HistoryServerInstance --region ${AWS::Region}
Metadata:
AWS::CloudFormation::Init:
configSets:
default:
- cloudwatch_agent_configure
- cloudwatch_agent_restart
- spark_download
- spark_init
- spark_configure
- spark_hs_start
- spark_hs_test
cloudwatch_agent_configure:
files:
/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json:
content: !Sub |
{
"logs": {
"logs_collected": {
"files": {
"collect_list": [
{
"file_path": "/var/log/cfn-init.log",
"log_group_name": "/aws-glue/sparkui_cfn/cfn-init.log"
},
{
"file_path": "/opt/spark/logs/spark-*",
"log_group_name": "/aws-glue/sparkui_cfn/spark_history_server.log"
}
]
}
}
}
}
cloudwatch_agent_restart:
commands:
01_stop_service:
command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a stop
02_start_service:
command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
spark_download:
packages:
yum:
java-1.8.0-openjdk: []
maven: []
python3: []
python3-pip: []
sources:
/opt: !Ref SparkPackageLocation
commands:
create-symlink:
command: ln -s /opt/spark-* /opt/spark
export:
command: !Sub |
echo "export JAVA_HOME=/usr/lib/jvm/jre" | sudo tee -a /etc/profile.d/jdk.sh
echo "export SPARK_HOME=/opt/spark" | sudo tee -a /etc/profile.d/spark.sh
export JAVA_HOME=/usr/lib/jvm/jre
export SPARK_HOME=/opt/spark
download-pom-xml:
command: curl -o /tmp/pom.xml https://aws-glue-sparkui-prod-us-east-1.s3.amazonaws.com/public/mvn/pom.xml
download-setup-py:
command: curl -o /tmp/setup.py https://aws-glue-sparkui-prod-us-east-1.s3.amazonaws.com/public/misc/setup.py
download-systemd-file:
command: curl -o /usr/lib/systemd/system/spark-history-server.service https://aws-glue-sparkui-prod-us-east-1.s3.amazonaws.com/public/misc/spark-history-server.service
spark_init:
commands:
download-mvn-dependencies:
command: cd /tmp; mvn dependency:copy-dependencies -DoutputDirectory=/opt/spark/jars/
install-boto:
command: pip3 install boto --user; pip3 install boto3 --user
files:
/opt/spark/conf/spark-defaults.conf:
content: !Sub |
spark.eventLog.enabled true
spark.history.fs.logDirectory ${EventLogDir}
spark.history.ui.port 0
spark.ssl.historyServer.enabled true
spark.ssl.historyServer.port ${HistoryServerPort}
spark.ssl.historyServer.keyStorePassword ${KeystorePassword}
group: ec2-user
mode: '000644'
owner: ec2-user
/opt/spark/conf/spark-env.sh:
content: !Sub
- |
export SPARK_DAEMON_MEMORY=${SparkDaemonMemoryConfig}
export SPARK_HISTORY_OPTS="$SPARK_HISTORY_OPTS -Dspark.hadoop.fs.s3.impl=org.apache.hadoop.fs.s3a.S3AFileSystem"
- SparkDaemonMemoryConfig: !FindInMap [ MemoryBasedOnInstanceType, !Ref InstanceType, SparkDaemonMemory ]
group: ec2-user
mode: '000644'
owner: ec2-user
spark_configure:
commands:
create-symlink:
command: ln -s /usr/lib/systemd/system/spark-history-server.service /etc/systemd/system/multi-user.target.wants/
enable-spark-hs:
command: systemctl enable spark-history-server
configure-keystore:
command: !Sub |
python3 /tmp/setup.py --keystore "${KeystorePath}" --keystorepw "${KeystorePassword}" > /tmp/setup_py.log 2>&1
spark_hs_start:
commands:
start_spark_hs_server:
command: systemctl start spark-history-server
spark_hs_test:
commands:
check-spark-hs-server:
command: !Sub |
curl --retry 60 --retry-delay 10 --retry-max-time 600 --retry-connrefused https://localhost:${HistoryServerPort} --insecure;
/opt/aws/bin/cfn-signal -e $? "${WaitHandle}"
WaitHandle:
Type: AWS::CloudFormation::WaitConditionHandle
WaitCondition:
Type: AWS::CloudFormation::WaitCondition
DependsOn: HistoryServerInstance
Properties:
Handle: !Ref WaitHandle
Timeout: 1200
Outputs:
SparkUiPublicUrl:
Description: The Public URL of Spark UI
Value: !Join
- ''
- - 'https://'
- !GetAtt 'HistoryServerInstance.PublicDnsName'
- ':'
- !Ref HistoryServerPort
SparkUiPrivateUrl:
Description: The Private URL of Spark UI
Value: !Join
- ''
- - 'https://'
- !GetAtt 'HistoryServerInstance.PrivateDnsName'
- ':'
- !Ref HistoryServerPort
CloudWatchLogsCfnInit:
Description: CloudWatch Logs Console URL for cfn-init.log in History Server Instance
Value: !Join
- ''
- - 'https://console.aws.amazon.com/cloudwatch/home?region='
- !Ref AWS::Region
- '#logEventViewer:group=/aws-glue/sparkui_cfn/cfn-init.log;stream='
- !Ref HistoryServerInstance
CloudWatchLogsSparkHistoryServer:
Description: CloudWatch Logs Console URL for spark history server logs in History Server Instance
Value: !Join
- ''
- - 'https://console.aws.amazon.com/cloudwatch/home?region='
- !Ref AWS::Region
- '#logEventViewer:group=/aws-glue/sparkui_cfn/spark_history_server.log;stream='
- !Ref HistoryServerInstance
最佳答案
我更详细地了解了您的案例。您尝试部署的模板缺少该实例的 IAM 角色;随后,spark-history-server
无法启动。
我建议使用AWS提供的原始模板:
其中缺少 IAM 角色。我验证它是否有效,因为我将其部署在 us-east-1
区域的沙盒帐户中。
关于amazon-web-services - 创建 SparkUI 历史服务器的 CF 模板失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64058584/
我有一个几乎可以构建的Maven / Grails应用,但在web.xml上找不到[my-app]\webapp\WEB-INF\web.xml。但是目录结构像往常一样包含web-app文件夹,而不是
正如我在标题中提到的:我想知道 web-service 和 web-socket 之间的区别?我们什么时候使用每一个? 谢谢! 最佳答案 一个web service是一个响应客户端 SOAP/REST
让我们看一个示例场景: 客户端打开一个网站并找到他从文本框中输入的两个数字的总和。然后单击“添加”按钮。两个参数通过 HTTP GET 发送到服务器,在服务器上写入 PHP 代码以添加数字,结果为回声
我知道这是一个老问题,肯定已经被回答了数百次,但我还无法找到令人满意的答案。 我正在创建一个应用程序,其他应用程序(移动/网络)将使用该应用程序来获取数据。现在我有两个选择: 将我的应用程序创建为简单
通过 Web 作业部署新功能有 3 种方法: 创建一个新的 Web 应用,并部署一个包含该函数的 Web 作业。 向现有 Web 作业添加一项新函数(这样您现在在一个 Web 作业中就拥有了多个函数)
我收到来自网络场景的通知,上面写着“问题”和“确定”。我想在问题发生时包含网络响应的内容。我不担心标题值,只担心网页的内容. 这是我可以在通知设置中引用的变量吗? 最佳答案 不幸的是 zabbix 不
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
嗨,这是一个理论问题,但我真的无法弄清楚 Web 应用程序、基于 Web 的应用程序和基于云的应用程序之间的区别。这个你能帮我吗。 最佳答案 @Matt 是对的 - 这真的无关紧要,但是,为了清楚起见
我正在尝试使用多个 Web 服务,这些服务在它们的 wsdl 中重新定义了一些相同的公共(public)类。我目前在网站中引用了它们,但我想转换为 Web 应用程序。 由于一些相同的类是从多个 Web
一个。我必须考虑哪些事项?b.当前应用程序正在执行多个存储过程。如果我创建等效的方法来执行这些过程,会有什么风险或挑战。 最佳答案 在架构上,将网络应用程序转换为网络服务时必须考虑的一件事是,对方法和
关闭。这个问题不满足Stack Overflow guidelines .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5年前关闭。 Improve thi
网络 API 和网络服务之间有什么区别吗?或者它们是同一个吗? 最佳答案 网络服务通常提供 WSDL您可以从中自动创建客户端 stub 。 Web 服务基于 SOAP protocol 。ASP.NE
我已经获得了我需要的所有资源。我将 Web 服务放入应用程序服务环境中,然后将 NSG 连接到应用程序服务环境使用的子网。然后,我允许 VNET 内的应用程序与 Web 服务进行通信,但它无法正常工作
我已经获得了我需要的所有资源。我将 Web 服务放入应用程序服务环境中,然后将 NSG 连接到应用程序服务环境使用的子网。然后,我允许 VNET 内的应用程序与 Web 服务进行通信,但它无法正常工作
我正在使用 stub 将我的网络服务相关测试与实际网络服务隔离开来。 你/我应该如何合并测试以确保我制作的响应与实际的网络服务匹配(我无法控制它)? 我不想知道怎么做,而是何时何地? 我应该为测试数据
我在互联网上搜索了很多,但我仍然没有得到网络服务和网络 API 之间的明显区别?我在某处读到所有 Web 服务都是 API,但所有 API 都不是 Web 服务。如何? 我所知道的是两者都允许利用其他
假设我已经完成了使用 JavaEE 制作的 Web 应用程序。这个 Web 应用程序包含登录系统,但最后它是非常基本的 Web 应用程序。我使用的是 GlassFish 3.1.2.2。 我想知道一旦
我希望设计者能够打开与我相同的解决方案文件。这可以通过 Expressions Web 实现吗? 最佳答案 简短的回答是“不”;但这是一个非常常见的请求,我知道很多人都希望下一个版本(无论何时)对此有
我正在尝试在 CF10 中创建一个 Web 服务对象。我已验证它在 SoapUI 中按预期工作。但是,当我在 CF 中运行它时,我得到一个错误,它无法找到在 WSDL 的导入语句中导入的 XSD。这是
我的要求是开发一个 Web 服务,充当外部 Web 服务和客户端之间的中间人。 我知道,我可以为我的服务设计一个wsdl,然后将外部wsdl映射到代码中我的wsdl。我的问题是有一个开源 api/工具
我是一名优秀的程序员,十分优秀!