当前位置: 首页 > news >正文

阿里云服务器环境部署 一

安装前准备

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

  1. 禁用 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

永久关闭

  1. 查看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

        1. 安装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

相关文章:

  • 【从0到1搞懂大模型】RNN基础(4)
  • 路由的原理
  • pytorch小记(九):pytorch中创建指定形状的张量: torch.empty
  • python中a is None 和 a==None有区别吗
  • 簡易傢俬購物Apps
  • 设计模式(行为型)-观察者模式
  • Linux内核传输层源码分析SCTP
  • IP关联的定义和避免方法
  • 高可用环境下Nginx服务管理脚本优化实践
  • 应用商店上新:Couchbase Enterprise Server集群
  • 【RHCE实验】搭建主从DNS、WEB等服务器
  • Spring Boot整合JWT 实现双Token机制
  • Oracle GoldenGate 全面解析
  • Description of a Poisson Imagery Super Resolution Algorithm 论文阅读
  • 管家婆实用贴-如何设置打印机共享
  • Vue.js 与 RESTful API 集成之处理 GET、POST 请求
  • Flutter_学习记录_状态管理之GetX
  • Spring Security 教程:从入门到精通(含 OAuth2 接入)
  • 利用JavaScript在网页中获取当前的时间并展现在网页上
  • 【算法day13】最长公共前缀
  • 西岸大剧院夏秋演出季公布,阿云嘎制作《风声》9月驻演
  • 体坛联播|利物浦三轮不胜,孙颖莎/王楚钦晋级混双八强
  • 再囤三个月库存!美国客户抢付尾款,外贸企业发货订单排到7月
  • 前四月国家铁路发送货物12.99亿吨,同比增长3.6%
  • 三星“七天机”质保期内屏幕漏液被拒保,澎湃介入后已解决
  • 消费维权周报丨上周涉汽车类投诉较多,涉加油“跳枪”等问题