All Projects → tikv → Pd

tikv / Pd

Licence: apache-2.0
Placement driver for TiKV

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Pd

Adele
Adele - Design Systems Repository
Stars: ✭ 710 (-1.25%)
Mutual labels:  hacktoberfest
Fission
Fast and Simple Serverless Functions for Kubernetes
Stars: ✭ 6,646 (+824.34%)
Mutual labels:  hacktoberfest
Metpy
MetPy is a collection of tools in Python for reading, visualizing and performing calculations with weather data.
Stars: ✭ 717 (-0.28%)
Mutual labels:  hacktoberfest
Terjira
Terjira is a very interactive and easy to use CLI tool for Jira.
Stars: ✭ 713 (-0.83%)
Mutual labels:  hacktoberfest
Orm
A drop-in Doctrine ORM 2 implementation for Laravel 5+ and Lumen
Stars: ✭ 712 (-0.97%)
Mutual labels:  hacktoberfest
Matrix Js Sdk
Matrix Client-Server SDK for JavaScript
Stars: ✭ 714 (-0.7%)
Mutual labels:  hacktoberfest
Mercurius
Implement GraphQL servers and gateways with Fastify
Stars: ✭ 704 (-2.09%)
Mutual labels:  hacktoberfest
Platform
A modular multilingual CMS built with Laravel 5.
Stars: ✭ 719 (+0%)
Mutual labels:  hacktoberfest
Annotations
Annotations Docblock Parser
Stars: ✭ 6,332 (+780.67%)
Mutual labels:  hacktoberfest
Truemail
🚀 Configurable framework agnostic plain Ruby 📨 email validator/verifier. Verify email via Regex, DNS and SMTP. Be sure that email address valid and exists.
Stars: ✭ 717 (-0.28%)
Mutual labels:  hacktoberfest
Go Carbon
Golang implementation of Graphite/Carbon server with classic architecture: Agent -> Cache -> Persister
Stars: ✭ 713 (-0.83%)
Mutual labels:  hacktoberfest
Derek
Reduce maintainer fatigue by automating GitHub
Stars: ✭ 714 (-0.7%)
Mutual labels:  hacktoberfest
Httpsnippet
HTTP Request snippet generator for many languages & libraries
Stars: ✭ 714 (-0.7%)
Mutual labels:  hacktoberfest
Grunt Contrib Jshint
Validate files with JSHint.
Stars: ✭ 711 (-1.11%)
Mutual labels:  hacktoberfest
Yacht
A web interface for managing docker containers with an emphasis on templating to provide 1 click deployments. Think of it like a decentralized app store for servers that anyone can make packages for.
Stars: ✭ 712 (-0.97%)
Mutual labels:  hacktoberfest
Artisan View
👀 Manage your views in Laravel projects through artisan
Stars: ✭ 708 (-1.53%)
Mutual labels:  hacktoberfest
Iohook
Node.js global keyboard and mouse listener.
Stars: ✭ 714 (-0.7%)
Mutual labels:  hacktoberfest
Piral
Framework for next generation web apps using microfrontends. 🚀
Stars: ✭ 711 (-1.11%)
Mutual labels:  hacktoberfest
Awesome Phpstorm
A curated list of amazingly awesome PHPStorm plugins, resources and other shiny things.
Stars: ✭ 719 (+0%)
Mutual labels:  hacktoberfest
Action Tmate
Debug your GitHub Actions via SSH by using tmate to get access to the runner system itself.
Stars: ✭ 713 (-0.83%)
Mutual labels:  hacktoberfest

PD

TravisCI Build Status GitHub release Go Report Card codecov

PD is the abbreviation for Placement Driver. It is used to manage and schedule the TiKV cluster.

PD supports distribution and fault-tolerance by embedding etcd.

contribution-map

If you're interested in contributing to PD, see CONTRIBUTING.md. For more contributing information, please click on the contributor icon above.

Build

  1. Make sure Go (version 1.13) is installed.
  2. Use make to install PD. PD is installed in the bin directory.

Usage

Command flags

See PD Configuration Flags.

Single Node with default ports

You can run pd-server directly on your local machine, if you want to connect to PD from outside, you can let PD listen on the host IP.

# Set correct HostIP here.
export HostIP="192.168.199.105"

pd-server --name="pd" \
          --data-dir="pd" \
          --client-urls="http://${HostIP}:2379" \
          --peer-urls="http://${HostIP}:2380" \
          --log-file=pd.log

Using curl to see PD member:

curl http://${HostIP}:2379/pd/api/v1/members

{
    "members": [
        {
            "name":"pd",
            "member_id":"f62e88a6e81c149",
            "peer_urls": [
                "http://192.168.199.105:2380"
            ],
            "client_urls": [
                "http://192.168.199.105:2379"
            ]
        }
    ]
}

A better tool httpie is recommended:

http http://${HostIP}:2379/pd/api/v1/members
Access-Control-Allow-Headers: accept, content-type, authorization
Access-Control-Allow-Methods: POST, GET, OPTIONS, PUT, DELETE
Access-Control-Allow-Origin: *
Content-Length: 673
Content-Type: application/json; charset=UTF-8
Date: Thu, 20 Feb 2020 09:49:42 GMT

{
    "members": [
        {
            "client_urls": [
                "http://192.168.199.105:2379"
            ],
            "member_id": "f62e88a6e81c149",
            "name": "pd",
            "peer_urls": [
                "http://192.168.199.105:2380"
            ]
        }
    ]
}

Docker

You can use the following command to build a PD image directly:

docker build -t tikv/pd .

Or you can also use following command to get PD from Docker hub:

docker pull pingcap/pd

Run a single node with Docker:

# Set correct HostIP here.
export HostIP="192.168.199.105"

docker run -d -p 2379:2379 -p 2380:2380 --name pd tikv/pd \
          --name="pd" \
          --data-dir="pd" \
          --client-urls="http://0.0.0.0:2379" \
          --advertise-client-urls="http://${HostIP}:2379" \
          --peer-urls="http://0.0.0.0:2380" \
          --advertise-peer-urls="http://${HostIP}:2380" \
          --log-file=pd.log

Cluster

PD is a component in TiDB project, you must run it with TiDB and TiKV together, see TiDB-Ansible to learn how to set up the cluster and run them.

You can also use Docker to run the cluster.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].