ONgDB三节点部署说明

 

Here’s the table of contents:

  1. 服务器基础环境需求
  2. 服务器基础配置
    1. CentOS服务器基本环境配置
  3. 配置免密登录
    1. 集群节点免密登录
  4. 使用AWS-KEY传文件
  5. CentOS创建ongdb用户
  6. 使用root用户复制文件并赋予权限

服务器基础环境需求

  • RAM: 64G
  • SSD: 1T
  • CPU: 8-core
  • OS: CentOS7.5
  • JAVA: jdk-8

服务器基础配置

CentOS服务器基本环境配置

  • 安装VIM编辑器
    sudo yum -y install vim*
    sudo yum -y install telnet
    
  • 安装JAVA
    sudo yum install java-1.8.0*
    vim /etc/profile
    export JAVA_HOME=/usr/lib/jvm/java-1.8.0
    export JRE_HOME=$JAVA_HOME/jre
    export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export JAVA_HOME CLASSPATH PATH
    source /etc/profile
    
  • 修改最大可打开文件数
    ulimit -n 65536
    ulimit -a
    # hard nofile 65536
    # soft nofile 65536
    sudo vim /etc/security/limits.conf
    # sudo ulimit -n 65536 报错:sudo: ulimit: command not found,则使用下面的名称
    # 修改LOGNAME
    sudo sh -c "ulimit -n 65535 && exec su $LOGNAME"
    
    sudo sh -c "ulimit -n 65535 && exec su centos"
    
  • 修改可打开进程数
    # 查看最大进程数
    sysctl kernel.pid_max
    # 查看当前进程数
    ps -eLf | wc -l
    # 修改最大进程数后系统恢复
    echo 1000000 > /proc/sys/kernel/pid_max
    sudo sh -c "echo 1000000 > /proc/sys/kernel/pid_max"
    # 永久生效
    echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf
    sudo sh -c "echo "kernel.pid_max=1000000 " >> /etc/sysctl.conf"
    sysctl -p
    
  • 修改hosts【对应设置好机器的主机名】【IP根据实际情况修改,主机名不要变按照下面所列设置主机名】
    vim /etc/hosts
    10.20.12.173 ongdb-1
    10.20.13.146 ongdb-2
    10.20.13.200 ongdb-replica-1
    

配置免密登录

集群节点免密登录

1、修改SSH配置文件
sudo vim /etc/ssh/sshd_config
# 找到下列行 去掉注释井号#
# RSAAuthentication yes //字面意思..允许RSA认证 -- 7.4版本以上的CentOS废弃此配置
 PubkeyAuthentication yes //允许公钥认证
 AuthorizedKeysFile .ssh/authorized_keys //公钥存放在.ssh/au..文件中

PermitRootLogin yes
UsePAM yes
PasswordAuthentication yes

# 保存退出。
# 修改后需要重启ssh
sudo systemctl restart sshd
# 分别在host1,host2和host3上执行上述命令。


2、生成密码对
ssh-keygen -t rsa
# 直接回车几次,可在默认路径~/.ssh/下生成私钥idrsa公钥idrsa.pub。
# 分别在host1,host2和host3上执行上述命令


3、 生成authorized_keys
# 将host2、host3的公钥传到host1上。
# 在host2上输入
scp /home/ongdb/.ssh/id_rsa.pub ongdb@ongdb-1:~/.ssh/id_rsa.pub.host2

# 在host3上输入
scp /home/ongdb/.ssh/id_rsa.pub ongdb@ongdb-1:~/.ssh/id_rsa.pub.host3

# 以上命令目前还需要输入目标机用户密码。
# 在host1上输入
cd ~/.ssh/
ls

# 查看idrsa.pub.host2、idrsa.pub.host3是否已经传输过来。
$ cat id_rsa.pub >> authorized_keys
$ cat id_rsa.pub.host2 >> authorized_keys
$ cat id_rsa.pub.host3 >> authorized_keys

# 生成authorized_keys。
# 给authorized_keys修改权限
chmod 644 authorized_keys

# 利用scp把该文件传送到host2、host3的.ssh/下
scp authorized_keys ongdb@ongdb-2:~/.ssh/
scp authorized_keys ongdb@ongdb-replica-1:~/.ssh/

4、各节点~/.ssh目录及其目录下的文件权限修改
chmod 700 ~/.ssh
chmod 600 ~/.ssh/*

5、 验证
# 测试在host1下输入
$ssh host2
$exit
$ssh host3
$exit
# 应该都不需要密码。 这三个互联都应该不需要密码。

使用AWS-KEY传文件

chmod 400 testlab_eng_prod.pem
scp -i testlab_eng_prod.pem ongdb-3.5.22.tgz centos@10.20.13.145:/home/centos/

CentOS创建ongdb用户

为每台服务器都创建‘ongdb’用户并设置你能记住的密码,图数据库部署文件全放在这个用户目录下‘/home/ongdb/’

## CentOS创建新用户
1、新增用户
sudo adduser ongdb
2、修改密码
sudo passwd ongdb
3、切换用户
su - ongdb

使用root用户复制文件并赋予权限

sudo -i
cp /home/centos/graph-sync.tar.gz /home/ongdb/
chown -R ongdb:ongdb /home/ongdb/graph-sync.tar.gz
su - ongdb