Tonghttpserver6.0.1.3 使用整理(by lqw)
文章目录
- 1.声明
- 2.关于单机版控制台和集中管理控制台
- 3.单机版控制台
- 3.1安装,启动和查看授权信息
- 3.2一些常见的使用问题(单机控制台)
- 3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置
- 3.4如何配置密码过期时间
- 3.5关于高可用(单机版控制台)
- 3.6重置密码
- 3.7日志切割
- 4.集中管理控制台
- 安装和启动集中管控台
- 通过集中管理安装THS节点
- 手动安装并识别THS节点
- 重置集中管理控制台密码
- 5.手动部署(不使用控制台)
- 6.容器版安装
- 方式一:使用已有的镜像包
- 方式二 使用k8s安装包里的脚本
- 安装准备
- 安装
- 7.各种常用配置和用法(仅供参考)
- 动静分离
- 跨域
- 配置https
- 强转https
- 传真实ip到后端
- THS节点配置为普通用户启动(不包含控制台)
- THS节点配置开机自启动
1.声明
本帖主要使用的是Tonghttpserver6.0.1.3,以及THSManager6.0.1.2(集中管理控制台)。实际以最新的产品手册为准。
2.关于单机版控制台和集中管理控制台
6013版本的每个THS的安装包里都自带了单机版控制台,如果只是使用单个THS节点,直接使用单机版控制台,如果要用多个THS节点并建立集群,建议使用集中管理控制台。
如果本身不允许使用web页面(也就是控制台的),也有手动部署环节。
之后的章节,会以单机版控制台和集中管理控制台的章节进行介绍,建议根据需求,在开始的安装环节选择好是用单机版控制台,集中管理控制台还是手动部署。
3.单机版控制台
3.1安装,启动和查看授权信息
首先确认cpu,确认是x86还是arrch64:
lscpu
x86的使用TongHttpServer_6.0.1.3_x86_64.tar.gz,arrch64的使用TongHttpServer_6.0.1.3_aarch64.tar.gz:
确认好安装包后,直接解压,例如:
tar -zvxf TongHttpServer_6.0.1.3_x86_64.tar.gz
解压后目录:
放入授权(找销售要)
cd 到bin目录,执行./start.sh -L,查看过期时间(临时授权一般三个月,永久为-1):
然后配置一下控制台(找到conf目录下的ths-console.conf):
确认没问题后,执行指令先启动单机版控制台:
./startConsole.sh
检查防火墙和本地网络,以及进程和端口是否起来了(本次示范直接关闭了防火墙):
访问服务器ip:8000/admin,初始账号admin,初始密码Ths#123.com。
初次进入需要修改密码:
点击这里直接启动:
点击这里停止:
也可以自己通过执行脚本进行启动和停止:
[root@localhost bin]# ./start.sh
Software version: TongHttpServer/6.0.1.3
Build at Nov 25 2024 03:06:35
httpserver start success
[root@localhost bin]# ./start.sh stop
httpserver stop success
3.2一些常见的使用问题(单机控制台)
3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置
实际配置文件在conf目录下,cat一下可以看到,这个httpserver.conf文件跟nginx.conf的配置语法很像:
如果使用单机版控制台的话,在这里可以编辑:
一些常见的配置可以点这里来看:
也可以备份和切换备份:
另外把鼠标放置在对应配置上,会有提示:
更多配置细节,可参考安装包里的002_TongHttpServer_V6.0监控配置手册_6013A01.pdf。
3.4如何配置密码过期时间
3.5关于高可用(单机版控制台)
一般高可用ha是搭配一主一从来使用的,这种情况下建议直接用集中管理控制台,尽量别用单机版控制台了。
其次可能会遇到这种提示:
这是因为控制台限制,只能用root操作,所以遇到这种提示,多数是因为文件权限和属主都是普通用户,并非报错。
3.6重置密码
如果没有忘记密码且可以通过控制台登录,则直接在控制台上操作:
也可以执行指令,例如:
./startConsole.sh -passwd=THS#123.com
3.7日志切割
找到这个脚本,把里面的路径改成自己的ths的logs目录:
定时任务常用指令参考:
# 查看定时任务
crontab -l
# 编辑定时任务
crontab -e
# 启动定时任务
systemctl start crond
# 关闭定时任务
systemctl stop crond
# 重启定时任务
systemctl restart crond
把日志切片脚本加入定时任务:
crontab -e
# 每天凌晨23:59进行日志切片
59 23 * * * /opt/THS/tools/scripts/logrotate.sh
systemctl restart crond
4.集中管理控制台
安装和启动集中管控台
集中管理控制台目前用的是6.0.1.2版本,请根据lscpu查询结果确认使用哪个安装包
直接解压:
conf目录下配置一下grpc.yaml:
然后确认下是采用http还是https的形式来访问控制台,下面会分开说。
先是http的,配置conf目录下的http.yaml:
之后去bin目录执行./startManager.sh init进行数据库初始化:
执行./startManager.sh start启动控制台:
通过集中管理安装THS节点
参考Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)
手动安装并识别THS节点
参考Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)
重置集中管理控制台密码
5.手动部署(不使用控制台)
这种分两种情况,分别是单机和集群高可用的。
两种情况的区别只在于是否配置conf目录下的httpserverHA.conf(里面要配网卡信息,浮动ip信息等),本质都是直接解压THS的安装包(例如x86环境下的TongHttpServer_6.0.1.3_x86_64.tar.gz),解压后放入授权文件,执行脚本启动(单机版和集群高可用都需要执行./start.sh 进行启动 ,高可用的还需要执行./startHA.sh)。
配置高可用,可参考
参考Tonghttpserver6.0.1.0部署指引优化版+基本操作指引+部分问题收集持续更新(by lqw)
备注:
如果是配置高可用(linux下),请留意httpserverHA.conf是否有remote_ip 这个配置,有的删掉,这个是window下用的。
6.容器版安装
方式一:使用已有的镜像包
请联系东方通的销售或者技术人员提供对应的镜像包,如下图所示:
备注:
1.已有镜像包是x86的,如果对操作系统有要求的,建议跳过这个方式,参考方式二。
2.这两个包的区别在于是否带了Agent程序,Agent程序跟集中管理控制台有关,一般情况下,没有用到集中管理控制台,可以不用。
3.需要在本地测试并验证license.dat有效(这个可以自行解压一个6013的THS的安装包,把license.dat 丢在解压目录下,cd到bin目录执行./start.sh -L)。
下载并上传对应的tar.gz到服务器,然后cd到这个安装包的目录,执行docker load -i指令,例如:
docker load -i TongHttpServer_Instance_Image_6.0.1.3_alpine_x86_64.tar
docker load 指令执行完,使用docker images看看是否有对应镜像:
然后执行以下指令测试是否能跑起来(记得自己在本地解压好对应的THS安装目录并放入授权):
docker run -d -v /opt/THS/license.dat:/opt/THS/license.dat -v /opt/THS/conf:/opt/THS/conf -p 8999:8080 IMAGE_ID
CONTAINER ID可通过docker images查看:
之后执行docker ps -a确认是否创建成功:
另外可以执行docker exec -it CONTAINER ID /bin/bash 查看容器内部结构(CONTAINER ID用docker ps -a来查看):
方式二 使用k8s安装包里的脚本
详细可参考TongHttpServer_V6.0K8s 部署手册_6011A01.pdf
安装准备
1.有docker环境,并且已经拉取对应操作系统的镜像。
2.将对应安装包上传到服务器上:
安装
解压TongHttpServer_Kubernetes_6.0.1.1.tar.gz
tar -zvxf TongHttpServer_Kubernetes_6.0.1.1.tar.gz
解压后在解压目录的THS/install-package放入对应的安装包(这里演示的是x86的):
找到该脚本
脚本里修改你放入的tar.gz的名字
然后到这个目录找到dockerfile(这里不需要用到agent,所以选择该的是withoutAgent这个)
除了要安装的系统,其他的全部不要动(系统镜像需要提前pull下来或者load到docker里,能用docker images查看到):
cd 到这个build.sh所在目录
这里输入的是:
tongtech.com/images/ths-instance:v6.0.1.3
继续用docker run测试一下:
docker run -d -v /opt/THS/license.dat:/opt/THS/license.dat -v /opt/THS/conf:/opt/THS/conf -p 8998:8080 IMAGE_ID
另外可以执行docker exec -it CONTAINER ID /bin/bash 查看容器内部结构(CONTAINER ID用docker ps -a来查看):
7.各种常用配置和用法(仅供参考)
动静分离
http {upstream backend {server 127.0.0.1:8082;server 127.0.0.1:8083;}server {listen 8080;server_name localhost;access_log logs/access.log main;location / { root html;try_files $uri $uri/ /index.html;}location /api {proxy_pass http://backend;}}
}
跨域
server {listen 80;server_name example.com;location /api/ {# 允许所有域名跨域add_header 'Access-Control-Allow-Origin' '*';# 允许的 HTTP 方法add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS, PUT, DELETE';# 允许的请求头add_header 'Access-Control-Allow-Headers' 'Origin, Authorization, Content-Type, Accept';# OPTIONS 预检请求直接返回成功if ($request_method = 'OPTIONS') {return 204;}proxy_pass http://backend_server;}
}
配置https
http {server {listen 8443 ssl;server_name localhost;access_log logs/access.log main;ssl_protocols TLSv1.3;ssl_gmtls on;ssl_certificate tools/crt_demo/SS.pem tools/crt_demo/SE.pem;ssl_certificate_key tools/crt_demo/SS.key.pem tools/crt_demo/SE.key.pem;ssl_certificate tools/crt_demo/server.crt;ssl_certificate_key tools/crt_demo/server.key;#ssl_session_cache shared:SSL:1m;#ssl_session_timeout 5m;ssl_ciphers HIGH:!aNULL:!MD5;#ssl_prefer_server_ciphers on;location / {root html;index index.html;}}
}
强转https
# HTTP 配置(80端口),将所有 HTTP 请求重定向到 HTTPS
server {listen 80; # HTTP端口server_name tmail.tepon.com.cn; # 绑定域名# 永久重定向到 HTTPSreturn 302 https://tmail.tepon.com.cn$request_uri;
}# HTTPS 配置(443端口),处理加密请求
server {listen 443 ssl; # HTTPS端口server_name tmail.tepon.com.cn; # 绑定域名# 配置 SSL 证书和密钥ssl_certificate crts/tebon2024.pem;ssl_certificate_key crts/tebon2024.key;# 启用最新的 TLS 协议,增强安全性ssl_protocols TLSv1.2 TLSv1.3;# IP透传,保留原始客户端IPproxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header Host $host;# 处理来自 HTTPS 的请求location / {proxy_pass http://backend_servers; # 将请求转发到后端服务器# 确保后端知道请求是通过 HTTPS 传输#proxy_set_header X-Forwarded-Proto https; }
}
容易遇到的问题:
使用nginx设置http跳转https,报错:ERR_TOO_MANY_REDIRECTS
传真实ip到后端
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
备注:
如果应用那边同时使用了Tongweb,Tongweb部分配置可参考以下帖子:
负载场景下TongWeb如何获取真实的客户端IP地址
THS节点配置为普通用户启动(不包含控制台)
之所以单独写这一节,是参考
普通用户权限使用tongTHS的解决方案的时候,发现了以下问题:
1./var/run 这个目录,只要重启了服务器,就需要重新赋权777,否则就会在THS节点的error.log里报can not open file /var/run/xxx (在现场遇到的)。
2.很多人不知道setcap 这个有什么作用,怎么执行,在哪里执行。(这个要在THS节点安装目录的bin目录执行)。
首先我们要知道,THS节点的启动主要是这两个指令(/opt/THStest/THS是我示范用哪个的THS的安装目录):
cd /opt/THStest/THS/bin
./start.sh
./startHA.sh
所以可以根据自己的情况,在THS的bin目录创建一个脚本Tonghttpserver.sh,脚本内容如下:
#!/bin/bash
#!赋权777到/var/run
sudo chmod 777 /var/run
#!启动THS节点,/opt/THStest/THS为THS节点安装目录
nohup /opt/THStest/THS/bin/httpserver -p /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf
#!启动THS高可用,/opt/THStest/THS为THS节点安装目录
/bin/bash /opt/THStest/THS/bin/startHA.sh
#!/opt/THStest/THS为THS 安装目录
echo $! > /opt/THStest/THS/bin/web.pid
同时新建一个TonghttpserverStop.sh
#!/bin/bash
pkill httpserver
接下来执行以下操作(/opt/THStest/THS是THS安装节点目录,yehuorufeng是演示创建的普通用户):
[root@localhost THStest]# chmod 755 /opt/THStest/THS/bin/Tonghttpserver.sh
[root@localhost THStest]# chmod 755 /opt/THStest/THS/bin/TonghttpserverStop.sh
[root@localhost ~]# chmod 755 /opt/THStest/THS/conf
[root@localhost ~]# chmod 644 /opt/THStest/THS/conf/*
[root@localhost THStest]# chown -R yehuorufeng:yehuorufeng /opt/THStest/THS
[root@localhost THStest]# chmod 644 /opt/THStest/THS/conf
[root@localhost THStest]# chmod 755 $(find /opt/THStest/THS/html -type d)
[root@localhost THStest]# chmod 644 $(find /opt/THStest/THS/html -type f)
## 配置后普通用户能用sudo指令,方便后面执行setcap
[root@localhost bin]# usermod -aG wheel yehuorufeng
[root@localhost bin]# su yehuorufeng
[yehuorufeng@@localhost bin]# cd /opt/THStest/THS/bin/
## 必须在普通用户下操作
[yehuorufeng@@localhost bin]# sudo setcap cap_net_bind_service=+ep ./httpserver
## 必须在普通用户下操作
[yehuorufeng@@localhost bin]# sudo setcap cap_net_raw,cap_net_admin=+ep ./httpserverHA
如果遇到sudo 需要输入用户密码的,可以用root用户这样配置操作(目的是设置该普通用户使用sudo指令不需要输入用户密码,其中yehuorufeng替换为你的普通用户名):
sudo visudo#在该文件最末尾配置
yehuorufeng ALL=(ALL) NOPASSWD: ALL
输入ip a看看是否有浮动ip(没配的不用看这里):
如果有报错,请根据报错信息进行处理,例如:
THS节点配置开机自启动
THS节点的tools目录的service下有各种开机脚本的参考(包括THS节点,HA,agent)。
本次示范的是配置了上一节普通用户的情况下,配置开机自启动(请根据自身情况进行调整),参考了httpserver.service:
在/usr/lib/systemd/system下新建一个tonghttpserver.service,并赋权644
[Unit]
Description=tonghttpserver
StartLimitIntervalSec=0
After=network.target[Service]
Type=forking
Restart=always
RestartSec=30
User=yehuorufeng
Group=yehuorufeng
LimitNOFILE=102400
LimitNPROC=102400
LimitMEMLOCK=infinity
WorkingDirectory=/opt/THStest/THS/bin
ExecStart=/opt/THStest/THS/bin/Tonghttpserver.sh
ExecStop=/opt/THStest/THS/bin/TonghttpserverStop.sh[Install]
WantedBy=multi-user.target
接下来执行以下指令(用root)
[root@localhost system]# systemctl daemon-reload
[root@localhost system]# systemctl start tonghttpserver.service
[root@localhost system]# systemctl status tonghttpserver
[root@localhost system]# systemctl enable tonghttpserver
Created symlink from /etc/systemd/system/multi-user.target.wants/tonghttpserver.service to /usr/lib/systemd/system/tonghttpserver.service.
重启服务器,重新输入以下指令确认是否启动成功:
[root@localhost ~]# systemctl status tonghttpserver
● tonghttpserver.service - tonghttpserverLoaded: loaded (/usr/lib/systemd/system/tonghttpserver.service; enabled; vendor preset: disabled)Active: active (running) since 一 2024-12-30 12:42:45 CST; 1min 11s agoProcess: 1013 ExecStart=/opt/THStest/THS/bin/Tonghttpserver.sh (code=exited, status=0/SUCCESS)CGroup: /system.slice/tonghttpserver.service├─1146 httpserver: master process /opt/THStest/THS/bin/httpserver -p /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf├─1148 httpserver: worker process├─1150 httpserver: worker process├─1151 httpserver: worker process├─1152 httpserver: worker process├─1191 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log└─1193 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log12月 30 12:42:42 localhost.localdomain systemd[1]: Starting tonghttpserver...
12月 30 12:42:42 localhost.localdomain sudo[1017]: yehuorufeng : TTY=unknown ; PWD=/opt/THStest/THS/bin ; USER=root ; COMMAND=/bin/chmod 777 /var/run
12月 30 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: Software version: TongHttpServer/6.0.1.3
12月 30 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: Build at Nov 25 2024 03:06:35
12月 30 12:42:42 localhost.localdomain Tonghttpserver.sh[1013]: httpserverHA is startting...
12月 30 12:42:45 localhost.localdomain Tonghttpserver.sh[1013]: httpserverHA start success!
12月 30 12:42:45 localhost.localdomain systemd[1]: Started tonghttpserver.
[root@localhost ~]# ps -ef |grep httpserver
yehuoru+ 1146 1 0 12:42 ? 00:00:00 httpserver: master process /opt/THStest/THS/bin/httpserver -p /opt/THStest/THS -c /opt/THStest/THS/conf/httpserver.conf
yehuoru+ 1148 1146 0 12:42 ? 00:00:00 httpserver: worker process
yehuoru+ 1150 1146 0 12:42 ? 00:00:00 httpserver: worker process
yehuoru+ 1151 1146 0 12:42 ? 00:00:00 httpserver: worker process
yehuoru+ 1152 1146 0 12:42 ? 00:00:00 httpserver: worker process
yehuoru+ 1191 1 0 12:42 ? 00:00:00 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log
yehuoru+ 1193 1191 0 12:42 ? 00:00:00 /opt/THStest/THS/bin/httpserverHA -f /opt/THStest/THS/conf/httpserverHA.conf /opt/THStest/THS/logs/ha_run_log
root 2489 1549 0 12:44 pts/0 00:00:00 grep --color=auto httpserver
相关文章:

Tonghttpserver6.0.1.3 使用整理(by lqw)
文章目录 1.声明2.关于单机版控制台和集中管理控制台3.单机版控制台3.1安装,启动和查看授权信息3.2一些常见的使用问题(单机控制台)3.3之前使用的是nginx,现在要配nginx.conf上的配置,在THS上如何配置3.4如何配置密码过…...

redis开发与运维-redis0401-补充-redis流水线与Jedis执行流水线
文章目录 【README】【1】redis流水线Pipeline【1.1】redis流水线概念【1.2】redis流水线性能测试【1.2.1】使用流水线与未使用流水线的性能对比【1.2.2】使用流水线与redis原生批量命令的性能对比【1.2.3】流水线缺点 【1.3】Jedis客户端执行流水线【1.3.1】Jedis客户端执行流…...

OPPO Java面试题及参考答案
Java 语言的特点 Java 是一种面向对象的编程语言,它具有以下显著特点。 首先是简单性。Java 的语法相对简单,它摒弃了 C 和 C++ 语言中一些复杂的特性,比如指针操作。这使得程序员能够更专注于业务逻辑的实现,而不是陷入复杂的语法细节中。例如,Java 的内存管理是自动进行…...

Ubuntu 22.04 升级 24.04 问题记录
一台闲置笔记本使用的 ubuntu 还是 18.04,最近重新使用,发现版本过低,决定升级,于是完成了 18.04 -> 20.04 -> 22. 04 -> 24.04 的三连跳。 一、升级过程中黑屏 主要问题是在 22.04 升级到 24.04 过程中出现了黑屏仅剩…...

Java重要面试名词整理(五):Redis
文章目录 Redis高级命令Redis持久化RDB快照(snapshot)**AOF(append-only file)****Redis 4.0 混合持久化** 管道(Pipeline)**StringRedisTemplate与RedisTemplate详解**Redis集群方案gossip脑裂 Redis LuaR…...

单元测试中创建多个线程测试 ThreadLocal
单元测试中创建多个线程测试 ThreadLocal 在单元测试中,可以通过以下方式创建多个线程来测试 ThreadLocal 的行为。 目标 验证 ThreadLocal 在多线程环境下是否能正确隔离每个线程的数据。 实现步骤 定义需要测试的类 包含 ThreadLocal 对象的类,提供…...

iDP3复现代码数据预处理全流程(二)——vis_dataset.py
vis_dataset.py 主要作用在于点云数据的可视化,并可以做一些简单的预处理 关键参数基本都在 vis_dataset.sh 中定义了,需要改动的仅以下两点: 1. 点云图像保存位置,因为 dataset_path 被设置为了绝对路径,因此需要相…...

容器化部署服务全流程
系列文章目录 文章目录 系列文章目录前言一、什么是容器?二、如何安装docker三、如何写dockerfile四、如何启动服务五、常见命令总结总结 前言 这篇文章,主要目的是通过容器化技术简化应用程序的部署、运行和管理,提高开发、测试和生产环境…...

Flutter DragTarget拖拽控件详解
文章目录 1. DragTarget 控件的构造函数主要参数: 2. DragTarget 的工作原理3. 常见用法示例 1:实现一个简单的拖拽目标解释:示例 2:与 Draggable 结合使用解释: 4. DragTarget 的回调详解5. 总结 DragTarget 是 Flutt…...

操作系统动态分区分配算法-首次适应算法c语言实现
目录 一、算法原理 二、算法特点 1.优先利用低址空闲分区: 2.查找开销: 3.内存碎片: 三、内存回收四种情况 1.回收区上面(或后面)的分区是空闲分区: 2.回收区下面(或前面)的…...

mybatis-plus自动填充时间的配置类实现
mybatis-plus自动填充时间的配置类实现 在实际操作过程中,我们并不希望创建时间、修改时间这些来手动进行,而是希望通过自动化来完成,而mybatis-plus则也提供了自动填充功能来实现这一操作,接下来,就来了解一下mybatis…...

Vite内网ip访问,两种配置方式和修改端口号教程
目录 问题 两种解决方式 结果 总结 preview.host preview.port 问题 使用vite运行项目的时候,控制台会只出现127.0.0.1(localhost)本地地址访问项目。不可以通过公司内网ip访问,其他团队成员无法访问,这是因为没…...

【星海随笔】删除ceph
cephadm shell ceph osd set noout ceph osd set norecover ceph osd set norebalance ceph osd set nobackfill ceph osd set nodown ceph osd set pause参考文献: https://blog.csdn.net/lyf0327/article/details/90294011 systemctl stop ceph-osd.targetyum re…...

HarmonyOS NEXT实战:自定义封装多种样式导航栏组件
涉及知识点和装饰器 ComponentV2,Local, Builder,BuilderParam,Extend, Require ,Param,Event等第三方库:ZRouter ,如项目中本来就用了ZRouter路由库,案例中…...

大数据面试笔试宝典之Flink面试
1.Flink 是如何支持批流一体的? F link 通过一个底层引擎同时支持流处理和批处理. 在流处理引擎之上,F link 有以下机制: 1)检查点机制和状态机制:用于实现容错、有状态的处理; 2)水印机制:用于实现事件时钟; 3)窗口和触发器:用于限制计算范围,并定义呈现结果的…...

pytorch整体环境打包安装到另一台电脑上
步骤一:安装conda-pack 首先利用 pip list 指令检查conda环境安装在哪里,在系统环境(base)下,于是我是使用的conda指令完成的。 # 使用Conda安装(如果已安装conda) conda install conda-pack …...

PostgreSQL 数据库连接
title: PostgreSQL 数据库连接 date: 2024/12/29 updated: 2024/12/29 author: cmdragon excerpt: PostgreSQL是一款功能强大的开源关系数据库管理系统,在现代应用中广泛应用于数据存储和管理。连接到数据库是与PostgreSQL进行交互的第一步,这一过程涉及到多个方面,包括连…...

【算法】复杂性理论初步
六、算法复杂性初步 重要的复杂性类 P P P 的定义 多项式时间内可解的问题 若 L ∈ P L∈P L∈P,则存在确定性多项式时间的图灵机 M M M,使得 M ( x ) 1 ⟺ x ∈ L M(x)1⟺x∈L M(x)1⟺x∈L N P NP NP 的定义 多项式时间内可验证验证解的正确性 &…...

HarmonyOS NEXT应用开发实战:免费练手的网络API接口分享
学习一项技能,最好也最快的办法就是直接动手实战。在实战中不断的总结经验和收获成就感。这里分享些好用且免费的网络API练手接口,这对于想要提升自己网络开发能力的开发者来说,无疑是极大的福音。今天,我将详细介绍一个API接口集…...

C++的第一个程序
前言 在学习c之前,你一定还记得c语言的第一个程序 当时刚刚开始进行语言学习 因此告诉到,仅仅需要记住就可以 #include <stdio.h>int main(){printf("Hello World");return 0; }而对于c中的第一个程序,似乎有所变化 C的…...

Java 中 Stream 流的使用详解
Java 中 Stream 流的使用详解 什么是 Stream? Stream 是 Java 8 引入的一种全新的操作集合的方式。它支持通过声明性方式对集合进行复杂的数据操作(如过滤、排序、聚合等),避免使用大量的 for 循环,提高代码的可读性…...

【UE5.3.2】生成vs工程并rider打开
Rider是跨平台的,UE也是,当前现在windows上测试首先安装ue5.3.2 会自动有右键的菜单: windows上,右键,生成vs工程 生成的结果 sln默认是vs打开的,我的是vs2022,可以open with 选择 rider :Rider 会弹出 RiderLink是什么插...

ssh免密码登陆配置
ssh 命令本身不支持直接在命令中带上密码,出于安全考虑,SSH 协议不允许将密码明文写在命令中。直接在命令行中输入密码是一种不推荐的做法,因为它会暴露密码,增加安全风险。 如果你希望实现自动化登录而不手动输入密码࿰…...

Hive之import和export使用详解
在hive-0.8.0后引入了import/export命令。 Export命令可以导出一张表或分区的数据和元数据信息到一个输出位置,并且导出数据可以被移动到另一个hadoop集群或hive实例,并且可以通过import命令导入数据。 当导出一个分区表,原始数据可能在hdf…...

数据库锁的深入探讨
数据库锁(Database Lock)是多用户环境中用于保证数据一致性和隔离性的机制。随着数据库系统的发展,特别是在高并发的场景下,锁的机制变得尤为重要。通过使用锁,数据库能够防止并发操作导致的数据冲突或不一致。本文将深…...

【每日学点鸿蒙知识】沉浸式状态栏、类似ref 属性功能属性实现、自定义对话框背景透明、RichEditor粘贴回调、自动滚动列表
1、HarmonyOS 沉浸式状态栏? 实现沉浸式状态栏功能时,能够实现,但是目前每个自定义组件都需要padding top 状态栏的高度才行,有办法实现统一设置吗?不需要每个自定义组件中都padding top 状态栏的高度? 暂…...

Hive刷分区MSCK
一、MSCK刷分区 我们平时通常是通过alter table add partition方式增加Hive的分区的,但有时候会通过HDFS put/cp命令或flink、flum程序往表目录下拷贝分区目录,如果目录多,需要执行多条alter语句,非常麻烦。Hive提供了一个"…...

在Ubuntu下通过Docker部署Mastodon服务器
嘿,朋友们,今天咱们来聊聊如何在Ubuntu上通过Docker部署Mastodon服务器。想要拥有自己的社交媒体平台?Mastodon就是个不错的选择!🌐🚀 Docker与Mastodon简介 Docker是一个开源的容器化平台,让…...

【EtherCATBasics】- KRTS C++示例精讲(2)
EtherCATBasics示例讲解 目录 EtherCATBasics示例讲解结构说明代码讲解 项目打开请查看【BaseFunction精讲】。 结构说明 EtherCATBasics:应用层程序,主要用于人机交互、数据显示、内核层数据交互等; EtherCATBasics.h : 数据定义…...

MYSQL无法被连接问题
如果您在尝试连接到MySQL服务器时遇到问题,以下描述了您可以采取的一些措施来纠正该问题。 确保服务器正在运行。如果没有,则客户端无法连接到它。例如,如果尝试连接到服务器失败并出现以下消息之一,则可能是服务器未运行…...