GithubHelp home page GithubHelp logo

wreese / syndicate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pandemicsyn/syndicate

0.0 3.0 0.0 880 KB

License: Apache License 2.0

Makefile 2.29% Shell 2.77% Protocol Buffer 2.10% Go 92.84%

syndicate's Introduction

syndicate

setup

You need to make sure:

  • /etc/oort exists
  • /etc/oort/ring exists
  • /etc/oort/ring/value/valuestore.builder exists and has at least one active node
  • /etc/oort/ring/value/valuestore.ring exists and has at least one active node
  • /etc/oort/ring/group/groupstore.builder exists and has at least one active node
  • /etc/oort/ring/group/groupstore.ring exists and has at least one active node
  • /etc/oort contains valid server.crt and server.key
  • /etc/oort/syndicate.toml contains a valid config like:
[valuestore]
Master = true
Salves = ["1.1.1.1", "2.2.2.2"]
NetFilter = ["10.10.10.1/28"]
TierFilter = ["tier.*"]
Port = 8443
CmdCtrlPort = 4443
CertFile = "/etc/oort/server.crt"
KeyFile = "/etc/oort/server.key"
RingDir = "/etc/oort/ring/value"
WeightAssignment = "manual"

[groupstore]
Master = true
Salves = ["1.1.1.1", "2.2.2.2"]
NetFilter = ["10.10.10.1/28"]
TierFilter = ["tier.*"]
Port = 8444
CmdCtrlPort = 4444
CertFile = "/etc/oort/server.crt"
KeyFile = "/etc/oort/server.key"
RingDir = "/etc/oort/ring/group"
WeightAssignment = "self"

#[llamasherpaderpa2000]
#Master = true
#Slaves = []
#NetFilter = ["192.168.1.1/27"]
#Port = 8445
#CmdCtrlPort = 4445
  • /etc/oort/valuestore.toml contains a valid config like:
[CmdCtrlConfig]
ListenAddress = "0.0.0.0:4444"
CertFile = "/etc/oort/server.crt"
KeyFile = "/etc/oort/server.key"
UseTLS = true
Enabled = true

[OortValueStoreConfig]
ListenAddress = "0.0.0.0:6379"
MaxClients = 8192
Profile = false
Debug = false

[ValueStoreConfig]
CompactionInterval = 42
ValueCap = 4194302

[TCPMsgRingConfig]
UseTLS = true
CertFile = "/etc/oort/server.crt"
KeyFile = "/etc/oort/server.key"

temporary dev step (this will go away)

The first time you try and start synd you'll get an error like:

root@syndicate1:~/go/src/github.com/pandemicsyn/syndicate/synd# go run *.go
2015/09/07 19:56:18 open /etc/oort/syndicate.toml: no such file or directory
2015/09/07 19:56:18 Using default net filter: [10.0.0.0/8 192.168.0.0/16]
2015/09/07 19:56:18 Using default tier filter: [z.*]
2015/09/07 19:56:18 Found /etc/oort/ring/oort.builder, as last builder
2015/09/07 19:56:18 Found /etc/oort/ring/oort.ring, as last ring
2015/09/07 19:56:18 Ring version is: 1439924753845934663
2015/09/07 19:56:18 Attempting to load ring/builder bytes: open /etc/oort/ring/1439924753845934663-oort.builder: no such file or directory
exit status 1

To fix this:

  • cp -av /etc/oort/ring/value/valuestore.builder /etc/oort/ring/value/$THERINGVERSION-valuestore.builder
  • cp -av /etc/oort/ring/value/valuestore.ring /etc/oort/ring/value/$THERINGVERSION-valuestore.ring
  • cp -av /etc/oort/ring/group/groupstore.builder /etc/oort/ring/value/$THERINGVERSION-groupstore.builder
  • cp -av /etc/oort/ring/group/groupstore.ring /etc/oort/ring/value/$THERINGVERSION-groupstore.ring

If it works you'll see something along the lines of:

fhines@47:~/go/src/github.com/pandemicsyn/syndicate/synd (master)$ go build . && ./synd -master=true -ring_dir=/etc/oort/ring
2015/09/07 19:58:38 open /etc/oort/syndicate.toml: no such file or directory
2015/09/07 19:58:38 Using default net filter: [10.0.0.0/8 192.168.0.0/16]
2015/09/07 19:58:38 Using default tier filter: [z.*]
2015/09/07 19:58:38 Found /etc/oort/ring/1439924753845934663-oort.builder, as last builder
2015/09/07 19:58:38 Found /etc/oort/ring/1439924753845934663-oort.ring, as last ring
2015/09/07 19:58:38 Ring version is: 1439924753845934663
2015/09/07 19:58:38 !! Running without slaves, have no one to register !!
2015/09/07 19:58:38 Master starting up on 8443...

syndicate-client

go install github.com/pandemicsyn/syndicate/syndicate-client

    syndicate-client
        Valid commands are:
        version         #print version
        config          #print ring config
        config <nodeid> #uses uint64 id
        search          #lists all
        search id=<nodeid>
        search meta=<metastring>
        search tier=<string> or search tierX=<string>
        search address=<string> or search addressX=<string>
        search any of the above K/V combos
        rm <nodeid>
        set config=./path/to/config

Oort daemons

Oort daemons either needs a valid SVR record setup or you need to set OORT_SERVICENAME_SYNDICATE_OVERRIDE=127.0.0.1:8443 when running oort-$SERVICENAMEd.

slaves

aren't working yet

systemd init script

A working systemd init script is provided in packaging/root/usr/share/synd/systemd/synd.service. To use it on Debian Jessie cp packaging/root/usr/share/syndicate/systemd/synd.service /lib/systemd/system. You can then stop/start/restart the synd service as usual ala systemctl start synd. its setup to capture and log to syslog.

building packages

should be possible if you have fpm install. try make packages

drone config

syndicate's People

Contributors

gholt avatar

Watchers

Will Reese avatar James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.