使用Docker启动的Redis容器使用的配置文件路径等问题以及Python使用clickhouse_driver操作clickhouse数据库

news2024/10/23 22:52:27

一、使用Docker启动的Redis容器使用的配置文件路径等问题

1.docker启动的redis使用的配置文件路径是什么

        使用docker搭建redis服务,本身redis启动的时候可以指定配置文件的, redis-server /指定配置文件路径/redis.conf。 但手上也没有一个redis配置文件。

        在使用非docker安装时,redis的安装包里到是有redis.conf默认文件,但使用docker安装时,不好直接找到啊。没法使用redis本身自带的redis.conf。于是直接启动一个redis服务(不指定配置文件)

docker run -itd \
--name redis7 \
--privileged=true \
--restart=always \
-p 6379:6379 \
-v /opt/redis/data:/data \
-v /opt/redis7/conf/redis.conf:/etc/redis/redis.conf \
redis:latest redis-server /etc/redis/redis.conf --appendonly yes

        启动之后,使用info server查看,config_file为空,没有使用任何配置文件。

executable:/data/redis-server
config_file:

        所以整理一个精简的redis配置文件放在这里吧。docker搭建redis7.2时可使用的精简redis.conf配置文件

[#root] cat /opt/redis7/conf/redis.conf
port 6379
daemonize no
databases 1
tcp-backlog 128
tcp-keepalive 300
logfile "/data/redis.log"
syslog-enabled yes
crash-log-enabled yes
timeout 0
maxmemory 4gb
maxmemory-policy volatile-lru
save 3600 1 300 100 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
# syslog-ident redis
# requirepass foobared
# maxclients 10000

2.Redis启动时警告:Memory overcommit must be enabled

WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can can also cause failures without low memory condition, To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

docker exec redis7.2 sysctl vm.overcommit_memory=1

3.docker搭建redis服务时daemonize设置为no

        docker搭建redis服务时daemonize设置为no,为YES的时候redis启动不了。默认值为no 为不守护进程模式,如果是直接在宿主机启动.

4.发现python项目里多了个venv文件夹

        python3.3之后,可以用模块 venv 代替 virtualenv 工具创建、删除虚拟环境。venv就是一个虚拟python环境的文件夹。可以实现多个项目使用不同的python环境。

二、Python使用clickhouse_driver操作clickhouse数据库

    Python要实现使用clickhouse_driver操作clickhouse数据库,首先需要安装clickhouse_driver模块:pip install clickhouse_driver PIP安装的时候有时会遇到报警:

WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'NewConnectionError('<pip._vendor.urllib3.connection.HTTPSConnection object at 0x7fd06b379a90>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution')': /simple/clickhouse-driver/。

        如果不是在DOCKER容器中一般可以通过指定PIP源的方法解决,如果是在docker容器中一般要修改docker中的DNS地址,可在本CSDN博客中搜索我的文章内容。

from clickhouse_driver import Client
#可以再加个连接超时时间send_receive_timeout=send_receive_timeout
client = Client(host=host, port=port, user=user, password=password,database=database)
result = client.execute("select * from 数据库.表 limit 10")
print(result)

    连接的时候可能碰到报错:

File "/usr/local/lib/python3.8/site-packages/clickhouse_driver/connection.py", line 437, in receive_hello raise errors.UnexpectedPacketFromServerError(message)
clickhouse_driver.errors.UnexpectedPacketFromServerError: Code: 102. Unexpected packet from server None:None (expected Hello or Exception, got Unknown packet)

        这是因为端口使用错误导致,clickhouse有两个端口,8123和9000。分别用于接收 http协议和tcp协议请求,管理后台登录用的8123(jdbc连接),而程序连接clickhouse(driver连接)则需要使用9000端口。如果在程序中使用8123端口连接就会报错:

clickhouse_driver.errors.UnexpectedPacketFromServerError: Code: 102. Unexpected packet from server None:None (expected Hello or Exception, got Unknown packet)

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2221932.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringCloud无介绍快使用,sentinel服务熔断功能与持久化(二十四)

TOC 问题背景 从零开始学springcloud微服务项目 注意事项&#xff1a; 约定 > 配置 > 编码IDEA版本2021.1这个项目&#xff0c;我分了很多篇章&#xff0c;每篇文章一个操作步骤&#xff0c;目的是显得更简单明了controller调service&#xff0c;service调dao默认安装ngi…

JavaEE进阶----18.<Mybatis补充($和#的区别+数据库连接池)>

详解了 1.$和#的区别 2.数据库连接池。 3.简单了解MySQL企业开发规范 一、Mybatis面试题&#xff1a;$和#的区别是什么&#xff1f; MyBatis 参数赋值有两种方式&#xff0c;咱们前面使用了 #{} 进行赋值&#xff0c;接下来我们看下二者的区别。 1.1 #是预编译SQL&#xff0c;$…

序列化问题记录:Jackson 与 Fastjson 的注解

前言 Java 后端开发中&#xff0c;我们经常需要处理 JSON 序列化和反序列化的问题。Spring 框架默认使用 Jackson 作为 JSON 处理库&#xff0c;但在某些情况下&#xff0c;我们也可能会使用 Fastjson 来处理特定的序列化需求。由于这两种库的注解不完全兼容&#xff0c;因此在…

springboot扩展点都有哪些?

在Spring Boot中&#xff0c;扩展点指的是能够自定义或增强Spring Boot功能的机制。这些扩展点允许开发者在Spring Boot的基础设施之上做定制化配置、行为修改或增强。Spring Boot主要有以下几类扩展点&#xff1a; 1. ApplicationRunner 和 CommandLineRunner 这两个接口允许…

网络运输层之(1)TCP连接管理

网络运输层之(1)TCP连接管理 Author: Once Day Date: 2024年10月22日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文章可参考专栏: 通信网络技术_Once-Day的博客…

【四】企业级JavaScript开发开发者控制台

多行输入 通常&#xff0c;当我们向控制台输入一行代码后&#xff0c;按 Enter&#xff0c;这行代码就会立即执行。 如果想要插入多行代码&#xff0c;请按 ShiftEnter 来进行换行。这样就可以输入长片段的 JavaScript 代码了。 总结 开发者工具允许我们查看错误、执行命令、…

【python爬虫课程设计】天气预报——分类数据爬取+数据可视化

一、选题的背景 随着人们对天气的关注逐渐增加&#xff0c;天气预报数据的获取与可视化成为了当今的热门话题&#xff0c;天气预报我们每天都会关注&#xff0c;天气情况会影响到我们日常的增减衣物、出行安排等。每天的气温、相对湿度、降水量以及风向风速是关注的焦点。通过…

【Linux】线程互斥与同步,生产消费模型(超详解)

目录 线程互斥 进程线程间的互斥相关背景概念 数据不一致问题 锁 深度理解锁 原理角度理解&#xff1a; 实现角度理解&#xff1a; 线程同步 条件变量 测试代码 生产消费模型 生产消费模型概念 编写生产消费模型 BlockingQueue &#xff08;1&#xff09;创建生产…

Dell服务器导入idrac 授权文件 (适用iDRAC7、iDRAC8、iDRAC9)

iDRAC Enterprise、iDRAC Datacenter 和 CMC Enterprise 的 30 天试用许可证,供熟悉高级功能集,例如使用虚拟控制台等 OpenManage Enterprise Advanced 或 Advanced+ 许可证支持高级功能,例如自动部署、服务器配置合规性和激活可用插件,如 OpenManage Enterprise Power Ma…

MySQL 数据库迁移至达梦 DM8 常见问题

目录 如何让迁移到 DM 的表名大小写和 MySQL 保持一致 MySQL 迁移到 DM 报错&#xff1a;列[NAMES]长度超出定义 MySQL 迁移到 DM 报错&#xff1a;记录超长 索引错误 DM大小写敏感配置 表空间 新建用户 用户与模式的关系 省略模式名的优势 实际操作 如何让迁移到 DM…

知识图谱的概念、特点及应用领域(详解)

目录 什么是知识图谱&#xff1f; 二、特点 三、应用领域 什么是知识图谱&#xff1f; 知识图谱&#xff08;Knowledge Graph&#xff09;是一种将知识进行结构化、组织和表示的方法&#xff0c;它利用图形模型表示事物之间的关系和属性。知识图谱通过节点&#xff08;实体&…

qt QWidget详解

一、概述 QWidget是容器组件&#xff0c;继承自QObject类和QPaintDevice类。能够绘制自己和处理用户输入&#xff0c;是QT中所有窗口组件类的父类&#xff0c;是所有窗口组件的抽象&#xff0c;每个窗口组件都是一个QWidget&#xff0c;QWidget类对象常用作父组件或顶级组件使…

T113 内核中 adbd相关配置1

准备工作 1. 配置 系统&#xff1a;ubuntu24.04docker&#xff08;ubuntu18.04&#xff09; 软件vscode, sdk:Tina-linux&#xff08;BingPi-M2&#xff09; 2. 构建环境直接使用自带的 source ./build/envsetup.sh lunch 选择 6 编译开启16线程 make -j16boot编译 mboot 打包…

关于jmeter中没有jp@gc - response times over time

1、问题如下&#xff1a; jmeter没有我们要使用的插件 2、解决方法&#xff1a; 选择下面文件&#xff0c;点击应用&#xff1b; 3、问题解决 ps&#xff1a;谢谢观看&#xff01;&#xff01;&#xff01;

力扣 简单 746.使用最小花费爬楼梯

文章目录 题目介绍题解 题目介绍 题解 思路分析&#xff1a; 确定dp数组以及下标的含义&#xff1a;dp[i]的定义为到达第i台阶所花费的最少体力。确定递推公式&#xff1a;可以有两个途径得到dp[i]&#xff0c;一个是dp[i-1] 一个是dp[i-2]。dp[i - 1] 跳到 dp[i] 需要花费 d…

玩转springboot之springboot异步执行

springboot异步执行 使用EnableAsync开启异步执行 在接口方法上使用Async注解进行标注&#xff0c;该接口是一个异步接口 自定义异步线程执行器 Configuration public class CustomAsyncConfigurer implements AsyncConfigurer {Overridepublic Executor getAsyncExecutor() {T…

WebGL编程指南 - 颜色与纹理

将顶点的其他&#xff08;非坐标&#xff09;数据——如颜色等——传入顶点着色器。 发生在顶点着色器和片元着色器之间的从图形到片元的转化&#xff0c;又称为图元光栅化 &#xff08;rasterzation process&#xff09;。 将图像&#xff08;或称纹理&#xff09;映射到图形…

C++笔记---哈希表

1. 哈希的概念 哈希(hash)又称散列&#xff0c;是一种组织数据的方式。从译名来看&#xff0c;有散乱排列的意思。 本质就是通过哈希函数把关键字Key跟存储位置建立一个映射关系&#xff0c;查找时通过这个哈希函数计算出Key存储的位置&#xff0c;进行快速查找。 STL中的un…

推荐IDE中实用AI编程插件,目前无限次使用

插件介绍 一款字节跳动推出的“基于豆包大模型的智能开发工具” 以vscode介绍【pycharm等都可以啊】&#xff0c;这个插件提供智能补全、智能预测、智能问答等能力&#xff0c;节省开发时间 直接在IDE中使用&#xff0c;就不用在网页中来回切换了 感觉还可以&#xff0c;响应速…

Excel表格如何修改“打开密码”,简单几步,轻松搞定

在保护Excel文件的安全性时&#xff0c;设置打开密码是常见且有效的方式。然而&#xff0c;有时我们需要修改已经设置的打开密码&#xff0c;以确保文件安全性或更新密码信息。今天小编来分享一下修改Excel文件打开密码的方法&#xff0c;操作简单&#xff0c;一起来看看吧&…