山西官方网站有哪些,暴雪战网客户端下载,下载 网站样板,城市建设模拟游戏网站前面已经解释了如何在AWS中设置Cassandra 。 所描述的设置有效#xff0c;但在某些情况下可能还不够。 例如#xff0c;它不能为您提供制作和还原备份的简便方法#xff0c;添加新节点依赖于自定义python脚本#xff0c;该脚本会随机选择一个种子。 因此#xff0c;现在我… 前面已经解释了如何在AWS中设置Cassandra 。 所描述的设置有效但在某些情况下可能还不够。 例如它不能为您提供制作和还原备份的简便方法添加新节点依赖于自定义python脚本该脚本会随机选择一个种子。 因此现在我将解释如何设置Netflix 的Cassandra帮助器工具Priam 。 我对其进行设置的主要原因是它提供的备份/还原功能。 所有其他备份方法都非常繁琐Priam恰好实现了重要部分-快照和增量备份 。 但是Priam有点棘手。 设置指南不是太详细也不容易找到这是Wiki中的最后一个不是立即可见的项目。 首先每个Cassandra版本都有一个分支因此您必须签出适当的分支并进行构建。 我立即在这里碰到一个问题因为它们的命名不允许eclipse导入gradle项目。 在24小时内我报告了3个问题这并不理想。 Priam不支持动态SimpleDB名称也不允许您通过命令行覆盖捆绑的属性。 我希望没有更大的问题。 我遇到的那些问题我进行了修复并提出了拉取请求 。 设置是什么样的 将javaagent附加到JVM选项 运行Priam网站 它会自动替换大部分cassandra.yaml包括种子提供程序即节点如何在集群中找到其他节点 运行卡桑德拉 它获取种子信息存储在AWS SimpleDB中并连接到集群 我决定使用独立的跳船赛跑者来运行war文件而不是安装tomcat。 就shell脚本而言核心位看起来像这样除了在节点初始化时运行的原始文章中的shell脚本 # Get the Priam war file and jar file
aws s3 cp s3://$BUCKET_NAME/priam-web-3.12.0-SNAPSHOT.war ~/
aws s3 cp s3://$BUCKET_NAME/priam-cass-extensions-3.12.0-SNAPSHOT.jar /usr/share/cassandra/lib/priam-cass-extensions.jar
# Set the Priam agent
echo -javaagent:/usr/share/cassandra/lib/priam-cass-extensions.jar /etc/cassandra/conf/jvm.options# Download jetty-runner to be able to run the Priam war file from the command line
wget http://central.maven.org/maven2/org/eclipse/jetty/jetty-runner/9.4.8.v20171121/jetty-runner-9.4.8.v20171121.jar
nohup java -Dpriam.clusternameLogSentinelCluster -Dpriam.sdb.instanceIdentity.region$EC2_REGION -Dpriam.s3.bucket$BACKUP_BUCKET \
-Dpriam.sdb.instanceidentity.domain$INSTANCE_IDENTITY_DOMAIN -Dpriam.sdb.properties.domain$PROPERTIES_DOMAIN \
-Dpriam.client.sslEnabledtrue -Dpriam.internodeEncryptionall -Dpriam.rpc.server.typesync \
-Dpriam.partitionerorg.apache.cassandra.dht.Murmur3Partitioner -Dpriam.backup.retention.days7 \
-Dpriam.backup.hour$BACKUP_HOUR -Dpriam.vnodes.numTokens256 -Dpriam.thrift.enabledfalse \
-jar jetty-runner-9.4.8.v20171121.jar --path /Priam ~/priam-web-3.12.0-SNAPSHOT.war while ! echo exit | nc $BIND_IP 8080; do sleep 10; doneecho Started Priam web packageservice cassandra start
chkconfig cassandra onwhile ! echo exit | nc $BIND_IP 9042; do sleep 10; done BACKUP_BUCKETPROPERTIES_DOMAIN和INSTANCE_DOMAIN是通过CloudFormation脚本提供的因为我们无法事先知道确切的名称-特别是对于SimpleDB。 请注意这些属性在主存储库中不起作用-我在请求请求中添加了它们。 为了使它起作用您需要创建两个SimpleDB域例如通过CloudFormation。 您可以将SimpleDB替换为其他一些数据存储而不依赖于AWS但这目前已超出范围。 运行Priam的结果是您在SimpleDB中拥有了Cassandra节点您可以使用此chrome扩展名浏览它因为AWS不提供任何UI并且当然备份将在备份S3存储桶中自动创建。 然后您可以通过登录到每个节点并执行以下操作来还原备份 curl http://localhost:8080/Priam/REST/v1/restore?daterange201803180000,201803191200®ioneu-west-1keyspacesyour_keyspace 您指定还原的时间范围。 仍然不理想因为人们希望进行一键式还原但是比推出自己的备份和还原基础结构要好得多。 这里有一个非常重要的说明–不支持vnode。 我最初的群集默认每台计算机有256个vnode现在只有1个因为Priam不支持1个以外的任何功能。这很遗憾因为vnode是设置Cassandra的推荐方法。 显然Netflix不使用那些。 有一个正在进行的工作分支该分支在5年前就被放弃了。 幸运的是有一个新的带有Vnode支持的拉取请求 可以与该分支的拉取请求一起使用。 Priam用其他值替换了一些Cassandra默认值因此您可能要比较当前设置和新生成的cassandra.yaml。 总体而言它还没有准备好进行超级制作但显然是这样因为Netflix正在制作中使用它。 翻译自: https://www.javacodegeeks.com/2018/03/setting-up-cassandra-with-priam.html