• TIDB-cenos7开发环境搭建


    1.安装centos7,注意要安装桌面,如果最小化安装,无法使用IDE了

       关闭防火墙或者打开4000端口

    systemctl stop firewalld.service #停止firewall
    systemctl disable firewalld.service #禁止firewall开机启动
    firewall-cmd --state #查看默认防火墙状态(关闭后显示notrunning,开启后显示running)

       安装后换阿里源,安装git

    2.安装go环境

    https://golang.org/dl/   go的主页下载地址,可以到这里寻找最新版本

    cd /opt
    mkdir golang
    cd golang
    curl -O https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
    tar -zxvf go1.8.3.linux-amd64.tar.gz
    cd /opt
    mkdir gopath

    在/etc/profile中添加

    export GOROOT=/opt/golang/go
    export PATH=$GOROOT/bin:$PATH
    export GOPATH=/opt/gopath

    修改完source /etc/profile 刷新一下,使用 go version查看版本,也可以使用go env查看环境变量信息

    3.安装goland开发环境

    在https://www.jetbrains.com/go/下载试用版本,使用tar zxvf 解压tar包。

    进入解压后的目录  cd GoLand-2018.1.1/bin

    执行sh goland.sh 即可

    4.安装Tidb的单机环境

       因为TIDB有多个部件,我们只调测其中一个,所以先安装一个完整的,然后再考虑使用代码启动进行替换,

    # 下载压缩包
    cd /opt
    mkdir tidb-pro
    cd tidb-pro
    
    wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz
    wget http://download.pingcap.org/tidb-latest-linux-amd64.sha256
    
    # 检查文件完整性,返回 ok 则正确
    sha256sum -c tidb-latest-linux-amd64.sha256
    
    # 解开压缩包
    tar -xvzf tidb-latest-linux-amd64.tar.gz

    # 查看执行文件和版本 cd /opt/tidb-pro/tidb-latest-linux-amd64
    ./bin/tidb-server -V

    这里需要检查一下版本,后续需要将代码切换到对应的版本上

    启动TIDB所有组件

    #启动pd
    ./bin/pd-server --data-dir=pd  --log-file=pd.log &
    
    #启动kv
    ./bin/tikv-server --pd="127.0.0.1:2379" --data-dir=tikv --log-file=tikv.log &
    
    #启动ti-server
    ./bin/tidb-server --store=tikv --path="127.0.0.1:2379" --log-file=tidb.log &

    如何操作后台任务可以参考下面的文章:

    http://www.cnblogs.com/itech/archive/2012/04/19/2457499.html

    5.下载tidb代码

    #下载代码
    
    go get -v github.com/pingcap/tidb
    
    #查看一下分支
    
    cd /opt/gopath/src/github.com/pingcap/tidb
    
    git branch
    
    #切换分支到一个tag上
    
    git checkout v2.0.0-rc.4

    6.使用goland读取工程

       比较简单的方式是,直接选择导入,使用gopath做为工程的根目录就可以了。

       File->Default Settings 设置一下 GOROOT等

    7.编译tidb

    cd /opt/gopath/src/github.com/pingcap/tidb
    make

     

    8.使用goland启动ti-server

       首先关闭原有的ti-server进程,保留pd和kv的运行

       进入goland IDE,在src/github.com/pingcap/tidb/tidb-server/main.go文件上右键单击,选择Creage ‘go build main.go’

       

     填入启动ti-server时填入的参数

    确定以后,再右键单击 main.go文件,选择Run 或者 Debug执行就可以了。

    第一次可以直接启动,尝试用客户端试试能否连接上。

    执行sql时,会经过tidb/session/session.go文件的Execute方法

    func (s *session) Execute(ctx context.Context, sql string) (recordSets []ast.RecordSet, err error) {

    由于goland的条件断点存在问题,我们采用变通方式挂接断点,我们在这里增加如下代码:

    if(strings.Contains(sql, "#debug")) {
           fmt.Println("SQL=" + sql)  // 在这里挂断点
    }

    执行sql时,在sql语句中增加#debug,即可只走这条sql的断点了。

    后续会再增加编译和替换的内容,敬请期待

      

  • 相关阅读:
    control与delegate的Invode、BeginInvoke (一) jason
    你是否愿意每周最少工作80小时 (转)
    详解ASP.NET的SEO:服务器控件背后故事
    深度解析Windows Phone 7开发
    .NET 4新特性:表、SEO及可扩展输出缓存
    VS2010中Parallel类实现并行计算
    iPhone破解软件定制版blackra1n 提供下载
    .NET 4中废弃的特性
    Windows Server 2008 R2上安装WSUS 3.0 SP2
    关于浮动
  • 原文地址:https://www.cnblogs.com/maobuji/p/8809502.html
Copyright © 2020-2023  润新知