热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

windows10DockerDesktop中部署clickhouse

1.windows10上安装dockerwindows10上安装docker:http:www.ujiaoshou.comxtjc143941331.html从零



1.windows10上安装docker

windows10上安装docker:http://www.ujiaoshou.com/xtjc/143941331.html

从零开始的Docker Desktop使用:https://blog.csdn.net/qq_39611230/article/details/108641842

2.Docker部署clickhouse

1.拉取镜像

以管理员权限打开Windows PowerShell,输入以下命令

docker pull yandex/clickhouse-server
docker pull yandex/clickhouse-client

我们不需要在服务器端部署​​clickhouse-client​​​,所以我们在客户端机器上执行​​docker pull yandex/clickhouse-client​​

如果拉取镜像太慢,则设置一下国内的镜像源

{
"debug": true,
"experimental": true,
"registry-mirrors": [
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"
]
}

https://registry.docker-cn.com 官方的
http://hub-mirror.c.163.com 网易的

2.启动server端

直接启动

docker run -d -p 8123:8123 -p 9000:9000 --name clickhouse yandex/clickhouse-server

我们可以看到我们的容器已经在运行中了
在这里插入图片描述
需要注意的是,如果直接启动,这样的话我们的数据文件当容器销毁的时候就没有了所以我们可以在本地创建一个数据文件目录,然后挂在上去

3.部署设置挂载数据文件


1.创建数据文件目录

mkdir D:/clickhouse/db

2 启动,需要注意的是我们需要停止并且删除前面的容器

在这里插入图片描述
然后启动

docker run -d -p 8123:8123 -p 9000:9000 --name clickhouse --volume=D:/clickhouse/db:/var/lib/clickhouse yandex/clickhouse-server

4.启动clickhouse-client

这里我们在另外一台机器上部署​​clickhouse-client​​​, 因为我们的​​clickhouse-server​​​一般是部署在服务器端的,我们的​​clickhouse-client​​​ 是部署在客户端的,所以我们先拉去镜像

​​docker pull yandex/clickhouse-client​​

Docker部署clickhouse_docker_02

docker run --name ck-client -it --rm --link clickhouse yandex/clickhouse-client --host 192.168.1.103 --port 9000 --user root --password 123456

因为客户端每次使用完不用一直常驻所以这里使用–rm 参数 在使用exit 命令退出​​ ck-client​​容器后就会直接删除这个容器,下次启动重新创建就可以了

docker --link 主要解决了以下两个问题
link可以通过容器名互相通信,容器间共享环境变量。
link主要用来解决两个容器通过ip地址连接时​​容器ip地址​​会变的问题

这里我们主要就是要通信,因为我们要使用客户端去服务器端查数据,​​–link ​​ 后面就是我们要连接的容器的名称,这里有点麻烦的是要做docker 跨主机通信,如果你觉得麻烦的话或者单纯学习clickhouse的话,就在同一台机器上部署也可以,连接进去后我们创建了一个数据库​​bzhan​​

4.使用dbeaver连接

安装dbeaver:https://blog.csdn.net/fy512/article/details/121335289

下面我们使用dbeaver进行连接,如下所示步骤
在这里插入图片描述
需要注意的是如果你是第一次连接clickhouse,需要下载一些驱动文件,这里都是自动下载的你直接点击确定就行,然后我们输入相关信即可

Docker部署clickhouse_容器_05
需要注意的是由于我们的clickhouse目前并没有设置用户名密码,所以这里我们不需要填写,然后点击测试连接,测试通过则点击完成即可

在这里插入图片描述

到这一步我们的数据库已经连上了

3.设置用户名和密码—登陆设置

这里我们是连接到我们的容器上进行用户名密码的设置,

docker exec -it 02e52e00502b /bin/bash

然后进入到 clickhouse-server 目录 ​​cd /etc/clickhouse-server​​
在这里插入图片描述
由于我们的容器上还没有编辑器,我们这里先安装一下vim

apt-get update
apt-get install vim -y

修改 clickhouse 的用户密码需要在 users.xml 中配置​​ ​​​ 标签下面就是所以的用户的配置,默认有一个​​default​​ 用户


<users>

<default>
<password>password>
<networks>
<ip>::/0ip>
networks>
<profile>defaultprofile>

<quota>defaultquota>
default>
users>

我们找到​​​​​标签&#xff0c;这里有加密和明文两种形式,加密可以把​​ ​​​换成​​​​,标签内容就是加密后的密码

<password_sha256_hex>941785b4c29a2cb9bb6bb190c12edef9c8182041b382fe371dbe50e06ff8f6adpassword_sha256_hex>

这里我们就用明文吧

<password>123456password>

保存退出, 接下来重启容器&#xff0c;​​docker restart 02e52e00502b​​

我们就发现我们的dbeaver连接不上了&#xff0c;这里我们编辑链接输入帐密就可以了
在这里插入图片描述

4.设置用户名和密码—挂载设置

其实设置密码的方法还是有点问题就是我们的容器如果没了我们的账户信息也没了&#xff0c;不方便运维&#xff0c;所以我们可以把帐密信息也存储的本地机器上&#xff0c;然后像挂载数据目录一样挂在上去。

我们可以先把容器里的信息拷贝一份到本地&#xff0c;然后修改,先创建一个存放配置文件的目录​​mkdir -p D:/clickhouse/config

1.切换目录

cd D:/clickhouse/config

2.将容器内config.xml拷贝至主机config目录

docker cp clickhouse:/etc/clickhouse-server/config.xml ./config.xml

3.将容器内users.xml拷贝至主机config目录

docker cp clickhouse:/etc/clickhouse-server/users.xml ./users.xml

这里我们创建一个新的用户​​root​​​ ,所以我们需要创建一个​​​​​ 标签&#xff0c;添加到​​​​​ 下&#xff0c;和​​ ​​ 同级

<root>
<password>123456password>
<networks><ip>::/0ip>networks>
<profile>defaultprofile>
<quota>defaultquota>
root>

停止掉并删除前面的容器&#xff0c;然后重新运行下面的命令

docker run -d --name clickhouse -p 8123:8123 -p 9000:9000 -v D:/clickhouse/db:/var/lib/clickhouse:rw -v D:/clickhouse/config/config.xml:/etc/clickhouse-server/config.xml -v D:/clickhouse/config/users.xml:/etc/clickhouse-server/users.xml yandex/clickhouse-server

启动之后我们就可以使用root 用户来连接了






推荐阅读
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 在说Hibernate映射前,我们先来了解下对象关系映射ORM。ORM的实现思想就是将关系数据库中表的数据映射成对象,以对象的形式展现。这样开发人员就可以把对数据库的操作转化为对 ... [详细]
  • 本文内容为asp.net微信公众平台开发的目录汇总,包括数据库设计、多层架构框架搭建和入口实现、微信消息封装及反射赋值、关注事件、用户记录、回复文本消息、图文消息、服务搭建(接入)、自定义菜单等。同时提供了示例代码和相关的后台管理功能。内容涵盖了多个方面,适合综合运用。 ... [详细]
  • 本文详细介绍了SQL日志收缩的方法,包括截断日志和删除不需要的旧日志记录。通过备份日志和使用DBCC SHRINKFILE命令可以实现日志的收缩。同时,还介绍了截断日志的原理和注意事项,包括不能截断事务日志的活动部分和MinLSN的确定方法。通过本文的方法,可以有效减小逻辑日志的大小,提高数据库的性能。 ... [详细]
  • 本文介绍了在开发Android新闻App时,搭建本地服务器的步骤。通过使用XAMPP软件,可以一键式搭建起开发环境,包括Apache、MySQL、PHP、PERL。在本地服务器上新建数据库和表,并设置相应的属性。最后,给出了创建new表的SQL语句。这个教程适合初学者参考。 ... [详细]
  • 基于layUI的图片上传前预览功能的2种实现方式
    本文介绍了基于layUI的图片上传前预览功能的两种实现方式:一种是使用blob+FileReader,另一种是使用layUI自带的参数。通过选择文件后点击文件名,在页面中间弹窗内预览图片。其中,layUI自带的参数实现了图片预览功能。该功能依赖于layUI的上传模块,并使用了blob和FileReader来读取本地文件并获取图像的base64编码。点击文件名时会执行See()函数。摘要长度为169字。 ... [详细]
  • 搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的详细步骤
    本文详细介绍了搭建Windows Server 2012 R2 IIS8.5+PHP(FastCGI)+MySQL环境的步骤,包括环境说明、相关软件下载的地址以及所需的插件下载地址。 ... [详细]
  • 这是原文链接:sendingformdata许多情况下,我们使用表单发送数据到服务器。服务器处理数据并返回响应给用户。这看起来很简单,但是 ... [详细]
  • 本文介绍了数据库的存储结构及其重要性,强调了关系数据库范例中将逻辑存储与物理存储分开的必要性。通过逻辑结构和物理结构的分离,可以实现对物理存储的重新组织和数据库的迁移,而应用程序不会察觉到任何更改。文章还展示了Oracle数据库的逻辑结构和物理结构,并介绍了表空间的概念和作用。 ... [详细]
  • 禁止程序接收鼠标事件的工具_VNC Viewer for Mac(远程桌面工具)免费版
    VNCViewerforMac是一款运行在Mac平台上的远程桌面工具,vncviewermac版可以帮助您使用Mac的键盘和鼠标来控制远程计算机,操作简 ... [详细]
  • Windows下配置PHP5.6的方法及注意事项
    本文介绍了在Windows系统下配置PHP5.6的步骤及注意事项,包括下载PHP5.6、解压并配置IIS、添加模块映射、测试等。同时提供了一些常见问题的解决方法,如下载缺失的msvcr110.dll文件等。通过本文的指导,读者可以轻松地在Windows系统下配置PHP5.6,并解决一些常见的配置问题。 ... [详细]
  • 本文介绍了OC学习笔记中的@property和@synthesize,包括属性的定义和合成的使用方法。通过示例代码详细讲解了@property和@synthesize的作用和用法。 ... [详细]
  • Mac OS 升级到11.2.2 Eclipse打不开了,报错Failed to create the Java Virtual Machine
    本文介绍了在Mac OS升级到11.2.2版本后,使用Eclipse打开时出现报错Failed to create the Java Virtual Machine的问题,并提供了解决方法。 ... [详细]
  • 本文介绍了在SpringBoot中集成thymeleaf前端模版的配置步骤,包括在application.properties配置文件中添加thymeleaf的配置信息,引入thymeleaf的jar包,以及创建PageController并添加index方法。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
author-avatar
大美妞Buling-buling
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有