impl

package
v0.0.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 18, 2017 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const CassandraCloudConfig = `` /* 1536-byte string literal not displayed */
View Source
const JvmOptionsTemplate = `` /* 6663-byte string literal not displayed */
View Source
const YamlTemplate = `` /* 12901-byte string literal not displayed */

Variables

This section is empty.

Functions

func GetMemory

func GetMemory() (uint64, error)

func ProcessTemplate

func ProcessTemplate(inputFileName string, outputFileName string, any interface{}, logger lg.Logger) error

Types

type Config

type Config struct {
	DataDirs []string `hcl:"data_dirs"`

	CassandraHome string `hcl:"home_dir"`
	// Addresses of hosts that are deemed contact points.
	// Cassandra nodes use this list of hosts to find each other and learn
	// the topology of the ring.  You must change this if you are running  multiple nodes!
	ClusterSeeds string `hcl:"cluster_seeds"`
	// Address or interface to bind to and tell other Cassandra nodes to connect to.
	// You _must_ change this if you want multiple nodes to be able to communicate!
	// Set listen_address OR listen_interface, not both.
	// Leaving it blank leaves it up to InetAddress.getLocalHost(). This
	// will always do the Right Thing _if_ the node is properly configured
	// (hostname, name resolution, etc), and the Right Thing is to use the
	// address associated with the hostname (it might not be).
	ClusterListenAddress    string `hcl:"cluster_address"`
	ClusterBroadcastAddress string `hcl:"cluster_broadcast_address"`
	// Set listen_address OR listen_interface, not both. Interfaces must correspond
	// to a single address, IP aliasing is not supported.
	ClusterListenInterface string `hcl:"cluster_interface"`
	// Address to listen for client connections.
	ClientListenAddress string `hcl:"client_address"`
	// Interface to listen for client connections. Address and interface can't both be set.
	ClientListenInterface string `hcl:"client_interface"`
	ClientPort            int    `hcl:"client_port"`
	//Name of the cassandra cluster.
	ClusterName    string `hcl:"cluster_name"`
	ClusterPort    int    `hcl:"cluster_port"`
	ClusterSslPort int    `hcl:"cluster_ssl_port"`
	//AUTO, or a number string, i.e., 100MB
	CmsYoungGenSize string `hcl:"cms_young_gen_size"`
	CommitLogDir    string `hcl:"commit_log_dir"`

	ReplaceAddress string `hcl:"replace_address"`

	//GC stats
	GCStatsEnabled bool `hcl:"gc_stats_enabled"`
	// CMS, G1, AUTO - Auto uses G1 if heap is over 8GB (default) but CMS if under.
	GC string `hcl:"gc"`
	//Threshold in GB of when to use G1 vs CMS
	G1ThresholdGBs int `hcl:"gc_g1_threshold_gbs"`
	//AUTO, or a number
	G1ParallelGCThreads string `hcl:"g1_parallel_threads"`
	//AUTO or the number or threads
	G1ConcGCThreads string `hcl:"g1_concurrent_threads"`

	//Location of cassandra jvm options file.
	JvmOptionsFileName string `hcl:"conf_jvm_options_file"`
	//Location of jvm options template.
	JvmOptionsTemplate string `hcl:"conf_jvm_options_template"`

	//AUTO, or a number string, i.e., 5GB
	MinHeapSize string `hcl:"min_heap_size"`
	//AUTO, or a number string, i.e., 5GB
	MaxHeapSize     string `hcl:"max_heap_size"`
	MultiDataCenter bool   `hcl:"multi_dc"`

	//Number of tokens that this node wants/has. Used for Cassandra VNODES.
	NumTokens int `hcl:"num_tokens"`

	// Cassandra snitch type.
	Snitch string `hcl:"snitch"`

	Verbose bool `hcl:"verbose"`

	//Location of template file for cassandra conf.
	YamlConfigTemplate string `hcl:"conf_yaml_template"`
	//Location of cassandra yaml config file.
	YamlConfigFileName string `hcl:"conf_yaml_file"`
}

func LoadConfig

func LoadConfig(filename string, debug bool, logger lg.Logger) (*Config, error)

func LoadConfigFromString

func LoadConfigFromString(data string, logger lg.Logger) (*Config, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL