런타임시 cassandra 클러스터를 만들고 "클러스터 이름"및 "시드"의 IP 주소는 런타임에만 사용할 수 있습니다. cassandra.yaml에 대한 setter 및 getter를 허용하고 디스크에 저장하는 cassandra.yaml의 Java 래퍼가 있습니까? 나는 래퍼를 항상 만들 수 있지만 이미 사용할 수 있는지 알고 싶었습니다.cassandra.yaml을 프로그래밍 방식으로 수정하는 방법
3
A
답변
1
cassandra.yaml에 대한 setter 및 getter를 허용하고 디스크에 저장하는 cassandra.yaml 용 Java 래퍼가 있습니까?
아니요. OpenSource 프로젝트에 대해서는 좋은 생각입니다.
나는 이것을 몇 가지 방법으로 과거에 해왔다. 하나는 요리사와 consul-template의 조합입니다. 본질적으로, 귀하의 cassandra.yaml은 배치 레서피가 실행될 때 기본 속성 (Chef)과 클러스터 특정 설정 (영사 - 템플리트)의 조합으로 채워지는 가변 자리 표시자를 포함합니다.
sed
(Chef가 아닌 몇 가지 환경의 경우)을 사용하는 Bash 스크립트로이 작업을 수행했습니다. 이것은 내가 아파치 카산드라 (오픈 소스)에 DataStax Enterprise 설치를 마이그레이션 쓴 스크립트에서 발췌 설치할 수 있습니다 : 기본적으로 여기
#!/bin/bash
cp /etc/dse/cassandra/cassandra.yaml /etc/cassandra/conf
#set GossipingPropertyFileSnitch in cassandra.yaml
sed -i 's/endpoint_snitch: com.datastax.bdp.snitch.DseDelegateSnitch/endpoint_snitch: GossipingPropertyFileSnitch/' /etc/cassandra/conf/cassandra.yaml
#set truststore location
sed -i 's/truststore: \/etc\/dse\/cassandra\//truststore: \/etc\/cassandra\/conf\//g' /etc/cassandra/conf/cassandra.yaml
#set keystore location
sed -i 's/keystore: \/etc\/dse\/cassandra\//keystore: \/etc\/cassandra\/conf\//g' /etc/cassandra/conf/cassandra.yaml
, 당신이하고있는 특정 YAML 속성 설정에 대한 정규식 - 대체합니다. 특히, 스니치와 키 스토어/트러스트 스토어의 위치를 업데이트해야했습니다. 그것은 예쁘지 않지만 작동합니다.
관련 문제
- 1. 프로그래밍 방식으로 코드를 수정하는 방법
- 2. SSRS : 텍스트 콘텐츠를 프로그래밍 방식으로 수정하는 방법?
- 3. 프로그래밍 방식으로 UIWebView에서 JavaScript를 수정하는 방법?
- 4. UIActionSheet에서 프로그래밍 방식으로 완료 단추를 수정하는 방법?
- 5. 프로그래밍 방식으로 Flash 스테이지의 크기를 수정하는 방법
- 6. 파일 날짜를 프로그래밍 방식으로 수정하는 방법은 무엇입니까?
- 7. 손상된 docx 파일을 프로그래밍 방식으로 수정하는 방법 (누락 바이트 추가)
- 8. 프로그래밍 방식으로 InfoPath에서 Sharepoint 콘텐트 속성을 수정하는 방법?
- 9. 프로그래밍 방식으로 C# 코드를 구문 분석 및 수정하는 방법
- 10. ASP.Net에서 생성 Sitemap을 프로그래밍 방식으로 수정하는 방법 C#
- 11. 토큰에 액세스하여 프로그래밍 방식으로 YouTube 동영상 주석을 수정하는 방법
- 12. 프로그래밍 방식으로 Wi-Fi 절전 정책을 수정하는 방법?
- 13. 프로그래밍 방식으로 안드로이드에서 스타일 XML 파일을 수정하는 방법
- 14. 간단한 영어 문장을 프로그래밍 방식으로 자동 수정하는 방법은 무엇입니까?
- 15. 프로그래밍 방식으로
- 16. 프로그래밍 방식으로 SipAddress 수정
- 17. 프로그래밍 방식으로 XAML을 표현하는 방법 C# 프로그래밍 방식으로 XAML TranslateTransform
- 18. 프로그래밍 방식으로 프로그래밍 방식으로 웹 사이트 기본 문서를 변경하는 방법
- 19. (프로그래밍 방식으로) 텍스트 상자의 텍스트에만 dropshadoweffect를 추가하는 방법 (프로그래밍 방식으로)
- 20. axlsx를 사용하여 프로그래밍 방식으로 셀을 프로그래밍 방식으로 참조하는 방법
- 21. 프로그래밍 방식으로 라우팅 테이블을 편집하는 방법
- 22. Eclipse 플러그인 : 프로그래밍 방식으로 파일 소스를 수정하는 방법은 무엇입니까?
- 23. OpenAM : 프로그래밍 방식으로 maxSessionTime 특성을 수정하는 방법이 있습니까?
- 24. 주소록의 연락처 번호를 프로그래밍 방식으로 수정하는 방법은 무엇입니까?
- 25. Websphere V7에서 런타임에 프로그래밍 방식으로 추적 서비스를 수정하는 방법은 무엇입니까?
- 26. Firebase에서 프로그래밍 방식으로 보안 규칙을 수정하는 방법은 무엇입니까?
- 27. 이러한 열 정의를 프로그래밍 방식으로 수정하는 방법이 있습니까?
- 28. 프로그래밍 방식으로 끝점의 ID 구성을 변경하는 방법?
- 29. FieldDefinitions 수정 프로그래밍 방식으로
- 30. 프로그래밍 방식으로 UITableView를 표시하는 방법?
감사합니다 아론, 내가 오늘 어떻게하고 있는지에 가깝습니다. __TRUST_STORE__와 같은 자리 표시자를 사용하여 더미 cassandra.yaml을 만든 다음 런타임에이 자리 표시자를 실제 값으로 대체합니다. 그것은 단지 추악 해 보이고 오류가 발생하기 쉽습니다. 나는 이것을위한 오픈 소스 자바 프로젝트를 만드는 것에 대한 당신의 생각을 좋아한다. 내가 없으면 해줄거야. – Apoorv