在CentOS 7/Ubuntu 18.04系统上安装Dgraph的方法
简介
- Zero: 是集群的核心, 负责调度集群服务器和平衡服务器组之间的数据
- Alpha: 保存数据的 谓词 和 索引. 谓词包括数据的 属性和数据之间的 关系; 索引是为了更快的进行数据的过滤和查找
- Ratel: dgraph 的 UI 接口, 可以在此界面上进行数据的CURD, 也可以修改数据的 schema
1、直接配置
1、下载Dgraph二进制文件
curl https://get.dgraph.io -sSf | bash
系统提示是否同意Dgraph社区许可条款:输入 Y
Do you agree to the terms of the Dgraph Community License? [Y/n] Y
Latest release version is v1.0.11.
Downloading checksum file for v1.0.11 build.
############################ 100.0%
Download complete.
成功安装应该提供类似于下面的输出:
Download complete.
Inflating binaries (password may be required).
Dgraph binaries v1.0.11 have been installed successfully in /usr/local/bin.
Please visit https://docs.dgraph.io/get-started for further instructions on usage.
2、创建systemd服务单元文件
由于CentOS 7和Ubuntu 18.04都使用systemd init系统,我们将配置Dgraph服务以使用Systemd来管理其状态。
为dgraph服务创建一个系统账户
sudo groupadd --system dgraph
sudo useradd --system -d /var/run/dgraph -s /bin/false -g dgraph dgraph
创建所需的目录,用于日志和状态文件:
sudo mkdir -p /var/log/dgraph
sudo mkdir -p /var/run/dgraph/{p,w,zw}
sudo chown -R dgraph:dgraph /var/{run,log}/dgraph
创建以dgraph.service开头的systemd服务文件:
cat <<EOF | sudo tee /etc/systemd/system/dgraph.service
[Unit]
Description=dgraph.io data server
Wants=network.target
After=network.target dgraph-zero.service
Requires=dgraph-zero.service
[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph alpha --lru_mb 2048 -p /var/run/dgraph/p -w /var/run/dgraph/w
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph
[Install]
WantedBy=multi-user.target
EOF
另外为dgraph-zero.service添加一个:
cat <<EOF | sudo tee /etc/systemd/system/dgraph-zero.service
[Unit]
Description=dgraph.io zero server
Wants=network.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph zero --wal /var/run/dgraph/zw
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph
[Install]
WantedBy=multi-user.target
RequiredBy=dgraph.service
EOF
最后创建graph-ui.service:
cat <<EOF | sudo tee /etc/systemd/system/dgraph-ui.service
[Unit]
Description=dgraph.io UI server
Wants=network.target
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/bin/dgraph-ratel
StandardOutput=journal
StandardError=journal
User=dgraph
Group=dgraph
[Install]
WantedBy=multi-user.target
EOF
接下来,启用并启动dgraph服务:
sudo systemctl daemon-reload
sudo systemctl enable --now dgraph
sudo systemctl enable --now dgraph-ui
检查状态以确认所有服务都在运行
systemctl status dgraph dgraph-zero dgraph-ui
允许防火墙上的端口8000和8080,CentOS 7和Ubuntu 18.04设置各有不同。
对于CentOS 7系统:
sudo firewall-cmd --add-port={8000,8080}/tcp --permanent
对于Ubuntu 18.04系统:
sudo ufw allow proto tcp from any to any port 8000,8080
输入地址:账户groot,密码groot
2、docker部署
将draph从大池中pull下来
docker pull dgraph/dgraph:latest
安装二进制文件
curl https://get.dgraph.io -sSf | bash
然后配置一个 docker-comopse.yml
wget https://github.com/dgraph-io/dgraph/raw/master/contrib/config/docker/docker-compose.yml \
启动 dgraph, 在上面 docker-compose.yml 相同的文件夹下执行:
建立Dgraph容器集群
docker-compose up -d
docker run -it -p 6080:6080 -p 8080:8080 -p 9080:9080 -p 8000:8000 -v \
/mnt/dgraph:/dgraph dgraph/standalone:v20.03.0
使用docker ps -a |grep dgraph
查看是否安装成功,如果存在三个带有dgraph的容器,并且状态为up,说明安装成功。
可以通过: http://<YOUR IP/Domain>:8000/ 来访问 draph 的 UI 界面.
注意
一个是ratel端口,alpha端口
3、windos部署
1、下载windos版dgraph
2、在相同文件夹下,依次打开三个
dgraph.exe alpha --lru_mb 1024
dgraph.exe zero
dgraph-ratel.exe