centos7安装clickhouse并设置用户名密码案例详解
<blockquote><p>ClickHouse是近年来备受关注的开源列式数据库,主要用于数据分析(OLAP)领域,由俄罗斯最大的搜索引擎公司Yandex(相当国内的百度)于2016年开源。Yandex有着许多数据分析的业务,其中数据量最大的业务,就是Yandex.Metrica(相当于百度的百度统计),这也就是ClickHouse出现的原因。由于其出色的性能,近年来发展非常迅猛,国内很多大厂都在生产环境中广泛使用。</p>
</blockquote>
<p>社区热度方面,2016年开源clickhouse热度非常之高,在GitHub上的star已有13.9k。</p>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905361.png" alt="在这里插入图片描述" /></p>
<h3>1.准备</h3>
<p>腾讯云服务器:centos7系统<br />
ClickHouse版本: 20.5.2</p>
<h3>2.安装</h3>
<h4>2.1 首先安装一下curl</h4>
<div class="jb51code">
<pre class="brush:bash;">
yum install -y curl
# 添加clickhouse源
curl -s https://packagecloud.io/install/repositories/altinity/clickhouse/script.rpm.sh | bash
</pre>
</div>
<h4>2.2 安装server 和 client,这个过程需要花点时间,多等待一下就好了</h4>
<div class="jb51code">
<pre class="brush:bash;">
yum install -y clickhouse-server clickhouse-client
# 检查是否安装成功
yum list installed 'clickhouse*'
# 启动clickhouse
systemctl start clickhouse
# 进入cli,启动clickhouse客户端
clickhouse-client
</pre>
</div>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905362.png" alt="在这里插入图片描述" /></p>
<h4>2.4 clickhouse的目录结构</h4>
<ul>
<li>/etc/clickhouse-server:服务端的配置文件目录,包括全局配置 config.xml 和用户配置 users.xml</li>
<li>/var/lib/clickhouse:默认的数据存储目录,如果是生产环境可以将其修改到空间较大的磁盘挂载路径。可以通过修改</li>
<li>/etc/clickhouse-server/config.xml 配置文件中
<path> 、<tmp_path> 和<user_files_path> 标签值来设置。</path>
</li>
<li>
<path></path>
/var/log/clickhouse-server:默认的日志保存目录。同样可以通过修改/etc/clickhouse-server/config.xml 配置文件中 和 标签值来设置。</li>
<li>/etc/cron.d/clickhouse-server:clickhouse server 的一个定时配置,用于恢复因异常中断的ClickHouse 服务进程。</li>
<li>~/.clickhouse-client-history (隐藏文件) 所有通过交互式命令行执行的sql历史记录。可使用ll -a命令查看</li>
</ul>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905363.png" alt="在这里插入图片描述" /></p>
<h4>2.5 现在已经安装并启动好了一个clickhouse客户端,但没有密码验证谁都可以访问,所以要设置密码。</h4>
<h3>3.设置用户名密码</h3>
<h4>3.1 clickhouse的密码有2种形式,一种是明文,一种是写sha256sum的Hash值</h4>
<p>官方不建议直接写明文密码,可以用以下命令生成密码</p>
<div class="jb51code">
<pre class="brush:bash;">
PASSWORD=$(base64 < /dev/urandom | head -c8); echo "$PASSWORD";
echo -n "$PASSWORD" | sha256sum | tr -d '-'
</pre>
</div>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905364.png" alt="在这里插入图片描述" /></p>
<p>这样可以得到两行数据,第一行是密码明文,第二行是密码密文</p>
<h4>3.2 cilckhouse的配置文件默认地址 /etc/clickhouse-server</h4>
<p>vim users.xml,找到 users --> default --> 标签下的password修改成password_sha256_hex,并把密文填进去</p>
<div class="jb51code">
<pre class="brush:xml;">
<password_sha256_hex>密码密文</password_sha256_hex>
</pre>
</div>
<h4>3.3 添加密码后,命令行启动的方式为</h4>
<div class="jb51code">
<pre class="brush:bash;">
clickhouse-client -h ip地址 -d default -m -u default --password 密码明文
</pre>
</div>
<p>或者直接使用datagrip连接,用户名是default,密码是密码明文</p>
<h4>3.4 开放外网访问,vim config.xml 找到 listen_host 标签,修改为以下</h4>
<div class="jb51code">
<pre class="brush:xml;">
<listen_host>0.0.0.0</listen_host>
</pre>
</div>
<p>重启一下clickhouse服务</p>
<div class="jb51code">
<pre class="brush:bash;">
systemctl restart clickhouse-server
</pre>
</div>
<h4>3.5 使用datagrip连接</h4>
<p>使用datagrip连接输入用户名密码既可连接,</p>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905375.png" alt="在这里插入图片描述" /></p>
<p>在default库下新建一张表测试一下:</p>
<div class="jb51code">
<pre class="brush:sql;">
create table table1
(
userIdInt32,
appId String,
version String,
regTime Date
)
engine = MergeTree PARTITION BY toYYYYMM(regTime) ORDER BY userId SETTINGS index_granularity = 8192;
</pre>
</div>
<p>就可以直接使用clickhouse了</p>
<p style="text-align: center;"><img src="https://img.jbzj.com/file_images/article/202108/202108310905376.png" alt="在这里插入图片描述" /></p>
<p>参考文档:https://github.com/Altinity/clickhouse-rpm-install</p>
<p>到此这篇关于centos7安装clickhouse并设置用户名密码案例详解的文章就介绍到这了,更多相关centos7安装clickhouse内容请搜索琼殿技术社区以前的文章或继续浏览下面的相关文章,希望大家以后多多支持琼殿技术社区!</p>
頁:
[1]