阿里云服务器环境部署 一
安装前准备
1、修改hostname
ifconfig 查看内网IP地址
hostnamectl set-hostname bigData41
hostnamectl set-hostname bigData42
hostnamectl set-hostname bigData43
hostnamectl set-hostname bigData44
重新ssh链接 即可
2、vim /etc/hosts 不同的机器上
172.16.108.42 bigData42
172.16.108.43 bigData43
172.16.108.44 bigData44
172.16.108.41 bigData41
172.16.108.43 bigData43
172.16.108.44 bigData44
172.16.108.41 bigData41
172.16.108.42 bigData42
172.16.108.44 bigData44
172.16.108.41 bigData41
172.16.108.42 bigData42
172.16.108.43 bigData43
(2)关闭防火墙
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl status firewalld.service
systemctl disable firewalld.service
(3) ssh免密登录
ssh-keygen
cd /root/.ssh/
ssh-copy-id -i id_rsa.pub root@bigData41 // 按不同的机器选择另外3个命令
ssh-copy-id -i id_rsa.pub root@bigData42
ssh-copy-id -i id_rsa.pub root@bigData43
ssh-copy-id -i id_rsa.pub root@bigData44
ssh root@bigData42 验证
配置本机免密
cd /root/.ssh/
cat id_rsa.pub >> authorized_keys
配置3台主机的hosts和免密登录,重复做同样操作即可
[root@bigdata41 .ssh]# ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP mode DEFAULT group default qlen 1000
link/ether 00:16:3e:50:f5:a1 brd ff:ff:ff:ff:ff:ff
[root@bigdata41 .ssh]# sudo cat /sys/class/dmi/id/product_uuid
62403F49-8B39-4FCB-99E0-96E3BEF35763
- 禁用 SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
(6)设置系统最大打开文件句柄数
sudo vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 65536
重新登录客户端生效或者重启服务器永久生效,也可以用ulimit -n 65535临时生效。
通过ulimit -a 查看open files
(7)设置进程可以拥有的内存映射区域(mmap)的数量限制
sudo vim /etc/sysctl.conf
vm.max_map_count=2000000
重启永久生效
配置临时生效 sudo sysctl -w vm.max_map_count=2000000
修改后查看:sysctl -a|grep vm.max_map_count
(8)时钟同步
使用chrony实现时钟同步:
yum install chrony -y
systemctl start chronyd
systemctl enable chronyd
chronyc sources
(9)关闭交换分区(swap)
临时关闭
sudo swapoff -a
永久关闭
- 查看GCC版本,要求大于4.8.2
gcc --version
Docker 安装
删除旧版本docker
sudo yum remove docker docker-client docker-client-latest docker-common \
docker-latest docker-latest-logrotate docker-logrotate \
docker-engin
配置yum源
cd /etc/yum.repos.d
mkdir bak
mv CentOS-*.repo bak/
# centos7 (本次使用centos7)
cp /opt/dockerinstall/docker/CentOS-Base.repo /etc/yum.repos.d/
或下载
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
查看 ls /etc/yum.repos.d/
# 安装yum-config-manager配置工具
yum -y install yum-utils
# 设置yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
-
-
- 安装docker-ce
-
-
yum list docker-ce --showduplicates | sort -r 查看可用版本
更新索引:yum makecache fast
yum install -y docker-ce-26.1.4-1.el7
yum list installed | grep docker
启动docker
systemctl start docker
开机自启 systemctl enable docker
docker version
cd /etc/docker/
touch daemon.json
cat >/etc/docker/daemon.json<<EOF
{ "registry-mirrors": ["https://dockerproxy.com","https://ccr.ccs.tencentyun.com","https://hub-mirror.c.163.com","https://developer.aliyun.com/mirror/","https://registry.cn-hangzhou.aliyuncs.com","https://dockerhub.azk8s.cn","https://tcr.tuna.tsinghua.edu.cn/","https://9cpn8tt6.mirror.aliyuncs.com","https://mirror.baidubce.com","https://mirror.ccs.tencentyun.com"],
"insecure-registries": ["localhost:5000"],
"live-restore": true}
EOF
systemctl reload docker
查看
systemctl status docker containerd
验证docker :
sudo docker run hello-world
安装JDK
[root@bigDataServer opt]# which java
/usr/bin/java
[root@bigDataServer opt]# ls -l /usr/bin/java
lrwxrwxrwx. 1 root root 22 Jul 22 2024 /usr/bin/java -> /etc/alternatives/java*
[root@bigDataServer opt]# ls -l /etc/alternatives/java
lrwxrwxrwx. 1 root root 73 Jul 22 2024 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/bin/java*
通过 yum 安装 OpenJDK 8
1. 安装 OpenJDK 8 软件包
bash
复制
sudo yum install -y java-1.8.0-openjdk
2. 验证安装路径
安装完成后,Java 可执行文件默认会出现在以下路径:
bash
复制
ls /usr/lib/jvm/java-1.8.0-openjdk-*/jre/bin/java
输出示例:
复制
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.412.b08-1.el7_9.x86_64/jre/bin/java
3. 检查 Java 版本
bash
复制
java -version
安装Python3
sudo yum install -y lrzsz
cd /opt/dockerinstall
mkdir python3
准备相关的jar包 Index of /ftp/python/3.7.9/
scp Python-3.7.9.tgz root@bigdata42:/opt/dockerinstall/python3/
scp Python-3.7.9.tgz root@bigdata43:/opt/dockerinstall/python3/
yum -y install gcc
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
tar -zxvf Python-3.7.9.tgz
cd Python-3.7.9/
./configure --prefix=/usr/local/python3
make && make install
sudo ln -sf /usr/local/python3/bin/python3.7 /usr/bin/python3
sudo ln -sf /usr/local/python3/bin/pip3.7 /usr/bin/pip3
vim ~/.bashrc
添加
export PATH="/usr/local/python3/bin:$PATH"
source ~/.bashrc
安装PaddleNLP和PaddlePaddle
升级 pip3
/usr/local/python3/bin/python3.7 -m pip install --upgrade pip
升级libstdc++
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
发现少了GLIBCXX_3.4.20,解决方法是升级libstdc++
sudo yum provides libstdc++.so.6
cd /opt/dockerinstall/
sudo wget http://www.vuln.cn/wp-content/uploads/2019/08/libstdc.so_.6.0.26.zip
scp libstdc.so_.6.0.26.zip root@bigdata42:/opt/dockerinstall/
scp libstdc.so_.6.0.26.zip root@bigdata43:/opt/dockerinstall/
sudo yum install -y unzip unzip libstdc.so_.6.0.26.zip
cp libstdc++.so.6.0.26 /usr/lib64/
cd /usr/lib64/
ls -l | grep libstdc++
sudo rm libstdc++.so.6
sudo ln -s libstdc++.so.6.0.26 libstdc++.so.6
strings /usr/lib64/libstdc++.so.6 | grep GLIBCXX
安装paddlenlp2.5.2
cd /opt/dockerinstall/
pip3 install paddlenlp==2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple
scp PaddleNLP.tar.gz root@bigdata42:/opt/dockerinstall/
scp PaddleNLP.tar.gz root@bigdata43:/opt/dockerinstall/
tar -zxvf PaddleNLP.tar.gz
cd /opt/dockerinstall/PaddleNLP/applications/text_classification/multi_class/deploy/simple_serving
安装paddlepaddle
pip3 install paddlepaddle -i https://pypi.tuna.tsinghua.edu.cn/simple
pip3 install urllib3==1.26.18
nohup python3 -m uvicorn main_new:app --host 172.16.108.41 --port 6001 --workers 4 > paddlenlpweb_new.log 2>&1 &
nohup python3 -m uvicorn main_new:app --host 172.16.108.42 --port 6001 --workers 4 > paddlenlpweb_new.log 2>&1 &
nohup python3 -m uvicorn main_new:app --host 172.16.108.43 --port 6001 --workers 4 > paddlenlpweb_new.log 2>&1 &
tail -500f paddlenlpweb_new.log
测试:
curl -X POST http://172.16.108.41:6001/ -H 'Content-Type: application/json' -d '{"data":[{"text": "智能大屏"}, {"text": "智能销售"}]}'
curl -X POST http://172.16.108.42:6001/ -H 'Content-Type: application/json' -d '{"data":[{"text": "智能大屏"}, {"text": "智能销售"}]}'
curl -X POST http://172.16.108.43:6001/ -H 'Content-Type: application/json' -d '{"data":[{"text": "智能大屏"}, {"text": "智能销售"}]}'
安装MySQL
导入mysql镜像
docker load -i /opt/dockerinstall/mysql/mysql-8.1.0.tar
docker run --privileged=true --name mysql8 --restart=unless-stopped -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -v /usr/local/mysql/logs:/var/log/mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf/:/etc/mysql/conf.d -v /usr/local/mysql/mysql-files:/var/lib/mysql-files -d mysql:latest
docker ps
在容器中登录mysql
docker exec -it mysql8 /bin/bash
mysql -u root -p123456
对root用户进行本地授权和配置密码
use mysql
update user set host = '%' where user = 'root' and host='localhost';
grant all PRIVILEGES on *.* to root@'%' WITH GRANT OPTION;
select host,user from user where user = 'root';
flush privileges;
ALTER user 'root'@'%' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER;
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
flush privileges;
mysql> exit;
Bye
bash-4.4# exit;
安装mysql 客户端
sudo yum install -y mysql
可以访问了
创建数据库
create database business_chatgpt;
导入表结构:
mysql -uroot -h172.16.108.44 -P3306 -p***** business_chatgpt < /opt/dockerinstall/mysql/table.sql