nebula graph 集群安装并使用go client测试

1 篇文章 1 订阅

目录

nebula安装

go环境搭建

安装Go语言代码检查和高亮插件vim-go


nebula安装

最小集群安装

1、下载nebula graph(多线程下载)
yum install axel

axel -a -n 10 https://oss-cdn.nebula-graph.com.cn/package/2.0.1/nebula-graph-2.0.1.el7.x86_64.rpm

cp *~

cd /data/mlamp/workspace/nebulagraph
安装
rpm -ivh nebula-graph-2.0.1.el7.x86_64.rpm

2、修改三个配置文件(三台服务器)nebula-metad.conf、nebula-graphd.conf、nebula-storaged.conf

vim /usr/local/nebula/etc/nebula-metad.conf
--local_conf=true
--meta_server_addrs=172.19.208.25:9559,172.19.208.20:9559,172.19.208.42:9559
--local_ip=172.19.208.25(本机ip)
--ws_ip=172.19.208.25(本机ip)

vim /usr/local/nebula/etc/nebula-graphd.conf
--local_conf=true
--meta_server_addrs=172.19.208.25:9559,172.19.208.20:9559,172.19.208.42:9559
--local_ip=172.19.208.25(本机ip)
--ws_ip=172.19.208.25(本机ip)

vim /usr/local/nebula/etc/nebula-storaged.conf
--local_conf=true
--meta_server_addrs=172.19.208.25:9559,172.19.208.20:9559,172.19.208.42:9559
--local_ip=172.19.208.25(本机ip)
--ws_ip=172.19.208.25(本机ip)

3、启动(三台服务器)
/usr/local/nebula/scripts/nebula.service start all


4、下载 nebula-console

wget  https://github.com/vesoft-inc/nebula-console/releases/download/v2.0.1/nebula-console-linux-amd64-v2.0.1
mv nebula-console-linux-amd64-v2.0.1 nebula-console
chmod 111 nebula-console 

### 9996  graphd is 9669
./nebula-console --addr=172.19.208.25   --port=9669 -u user -p password
show hosts
show spaces
验证

5、下载  studio
axel -a -n 10 https://oss-cdn.nebula-graph.com.cn/nebula-graph-studio/nebula-graph-studio-2.2.1-7.x86_64.rpm
安装
rpm -i nebula-graph-studio-2.2.1-7.x86_64.rpm

安装 nodejs
版本不匹配,卸载npm
npm uninstall npm -g
版本不匹配,卸载nodejs
yum remove nodejs npm -y
安装nodejs
下载nodejs(/usr/local)
wget https://nodejs.org/dist/v14.16.0/node-v14.16.0-linux-x64.tar.xz
mv node-v14.16.0-linux-x64 nodejs 
软连
ln -s /usr/local/nodejs/bin/node /usr/bin/node
ln -s /usr/local/nodejs/bin/npm /usr/bin/npm
启动studio
/usr/local/nebula-graph-studio/scripts
chmod +x *
start.sh
stop.sh 



nebula graph studio  
登陆地址   http://x.x.x.x:7180/

三台服务器 数据库
host 
172.19.208.25:9669
172.19.208.20:9669
172.19.208.42:9669
用户名:user(默认未开启)
密码:password(默认未开启)


go环境搭建

1、下载

wget wget https://golang.google.cn/dl/go1.16.6.linux-amd64.tar.gz

tar -zxvf go1.16.6.linux-amd64.tar.gz

2、配置环境

vim /etc/profile.d/go.sh

PATH=$PATH:/data/mlamp/workspace/go/bin

source /etc/profile.d/go.sh

vim /etc/profile.d/gopath.sh

GOPATH=/data/mlamp/workpace/gopath

source /etc/profile.d/gopath.sh

3、验证go环境

echo $GOPATH

4、配置 nebula模块

直接go get github.com/vesoft-inc/nebula-go/v2  报错

设置代理

go env -w GOPROXY=https://goproxy.cn

go env -w GO111MODULE=auto

go get github.com/vesoft-inc/nebula-go/v2

生成mod文件

go mod init nebula.go

编译

go bulid nebula.go

5、运行

go run nebula.go

附go连接nebula代码(官方)

package main

import (
	"fmt"

	nebula "github.com/vesoft-inc/nebula-go/v2"
)

const (
	address = "172.19.208.25"
	// The default port of Nebula Graph 2.x is 9669.
	// 3699 is only for testing.
	port     = 9669
	username = "root"
	password = "nebula"
)

// Initialize logger
var log = nebula.DefaultLogger{}

func main() {
	hostAddress := nebula.HostAddress{Host: address, Port: port}
	hostList := []nebula.HostAddress{hostAddress}
	// Create configs for connection pool using default values
	testPoolConfig := nebula.GetDefaultConf()

	// Initialize connection pool
	pool, err := nebula.NewConnectionPool(hostList, testPoolConfig, log)
	if err != nil {
		log.Fatal(fmt.Sprintf("Fail to initialize the connection pool, host: %s, port: %d, %s", address, port, err.Error()))
	}
	// Close all connections in the pool
	defer pool.Close()

	// Create session
	session, err := pool.GetSession(username, password)
	if err != nil {
		log.Fatal(fmt.Sprintf("Fail to create a new session from connection pool, username: %s, password: %s, %s",
			username, password, err.Error()))
	}
	// Release session and return connection back to connection pool
	defer session.Release()

	checkResultSet := func(prefix string, res *nebula.ResultSet) {
		if !res.IsSucceed() {
			log.Fatal(fmt.Sprintf("%s, ErrorCode: %v, ErrorMsg: %s", prefix, res.GetErrorCode(), res.GetErrorMsg()))
		}
	}

	{
		// Prepare the query
		createSchema := "CREATE SPACE IF NOT EXISTS basic_example_space(vid_type=FIXED_STRING(20)); " +
			"USE basic_example_space;" +
			"CREATE TAG IF NOT EXISTS person(name string, age int);" +
			"CREATE EDGE IF NOT EXISTS like(likeness double)"

		// Excute a query
		resultSet, err := session.Execute(createSchema)
		if err != nil {
			fmt.Print(err.Error())
			return
		}
		checkResultSet(createSchema, resultSet)
	}
	// Drop space
	{
		query := "DROP SPACE IF EXISTS basic_example_space"
		// Send query
		resultSet, err := session.Execute(query)
		if err != nil {
			fmt.Print(err.Error())
			return
		}
		checkResultSet(query, resultSet)
	}

	fmt.Print("\n")
	log.Info("Nebula Go Client Basic Example Finished")
}

安装Go语言代码检查和高亮插件vim-go

yum remove vim
 yum install vim
 vim -version
 yum list | grep vim
 yum install vim-go.x86_64

参考:

https://blog.csdn.net/a5276957/article/details/116450121

https://blog.csdn.net/jeikerxiao/article/details/106708145

https://github.com/vesoft-inc/nebula-console

https://blog.csdn.net/jypfhx/article/details/100008569

nebula-console

https://github.com/vesoft-inc/nebula-console

go

https://github.com/vesoft-inc/nebula-go

互相交流,共同进步 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qq540061627

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值