在CentOS中部署多节点Citus集群的详细步骤
<p><span><strong>前言</strong></span></p>
<p>
本文主要介绍了关于CentOS中部署多节点Citus集群的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。</p>
<p>
<span><strong>1、在所有节点执行以下步骤</strong></span></p>
<p>
<strong>Step 01 添加Citus Repostory</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_893216">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># Add Citus repository for package manager</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">curl https:</code><code class="bash plain">//install</code><code class="bash plain">.citusdata.com</code><code class="bash plain">/community/rpm</code><code class="bash plain">.sh | </code><code class="bash functions">sudo</code> <code class="bash functions">bash</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 02 安装Citus并且初始化DB</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_826693">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
<div class="line number5 index4 alt2">
5</div>
<div class="line number6 index5 alt1">
6</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># install PostgreSQL with Citus extension</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">yum </code><code class="bash functions">install</code> <code class="bash plain">-y citus72_10</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># initialize system database (using RHEL 6 vs 7 method as necessary)</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">service postgresql-10 initdb || </code><code class="bash functions">sudo</code> <code class="bash plain">/usr/pgsql-10/bin/postgresql-10-setup</code> <code class="bash plain">initdb</code>
</div>
<div class="line number5 index4 alt2">
<code class="bash comments"># preload citus extension</code>
</div>
<div class="line number6 index5 alt1">
<code class="bash functions">echo</code> <code class="bash string">"shared_preload_libraries = 'citus'"</code> <code class="bash plain">| </code><code class="bash functions">sudo</code> <code class="bash functions">tee</code> <code class="bash plain">-a </code><code class="bash plain">/var/lib/pgsql/10/data/postgresql</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 03 配置postgresql.conf</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_536048">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash functions">vi</code> <code class="bash plain">/var/lib/pgsql/10/data/postgresql</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_405073">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># Uncomment listen_addresses for the changes to take effect</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">listen_addresses = </code><code class="bash string">'*'</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 04 配置pg_hba.conf</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_327995">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash functions">vi</code> <code class="bash plain">/var/lib/pgsql/10/data/pg_hba</code><code class="bash plain">.conf</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_830315">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">local</code> <code class="bash plain">all all peer </code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">local</code> <code class="bash plain">replication all peer</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">host all all 192.168.99.1</code><code class="bash plain">/24</code> <code class="bash plain">trust</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash plain">host all all 0.0.0.0</code><code class="bash plain">/0</code> <code class="bash plain">md5</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 05 配置防火墙</strong></p>
<p>
查看</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_519105">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">firewall-cmd --zone=public --query-port=5432</code><code class="bash plain">/tcp</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
添加5432端口(--permanent永久生效,没有此参数重启后失效)</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_62080">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">firewall-cmd --zone=public --add-port=5432</code><code class="bash plain">/tcp</code> <code class="bash plain">--permanent</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
重新载入</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_144298">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">firewall-cmd --reload</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 06 启动服务</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_874112">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
<div class="line number4 index3 alt1">
4</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash comments"># start the db server</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">service postgresql-10 restart</code>
</div>
<div class="line number3 index2 alt2">
<code class="bash comments"># and make it start automatically when computer does</code>
</div>
<div class="line number4 index3 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">chkconfig postgresql-10 on</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 07 给需要的数据库安装Citus扩展</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_50641">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">-i -u postgres psql -c </code><code class="bash string">"CREATE EXTENSION citus;"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 08 设置密码</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_535428">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
<div class="line number3 index2 alt2">
3</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash plain">postgres=</code><code class="bash comments"># \password postgres #给postgres用户设置密码</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash plain">Enter new password: </code>
</div>
<div class="line number3 index2 alt2">
<code class="bash plain">Enter it again:</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>2、在coordinator节点额外执行以下步骤</strong></span></p>
<p>
<strong>Step 01 添加worker节点信息</strong></p>
<p>
添加worker节点的IP地址(或者DNS名称)和端口号到pg_dist_node表。</p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_910813">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
<div class="line number2 index1 alt1">
2</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">-i -u postgres psql -c </code><code class="bash string">"SELECT * from master_add_node('192.168.99.101', 5432);"</code>
</div>
<div class="line number2 index1 alt1">
<code class="bash functions">sudo</code> <code class="bash plain">-i -u postgres psql -c </code><code class="bash string">"SELECT * from master_add_node('192.168.99.102', 5432);"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 02 验证安装是否成功</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_632650">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">-i -u postgres psql -c </code><code class="bash string">"SELECT * FROM master_get_active_worker_nodes();"</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<strong>Step 03 开始使用</strong></p>
<div class="jb51code">
<div>
<div class="syntaxhighlighterbash" id="highlighter_387017">
<div class="toolbar">
<span>?</span>
</div>
<table border="0" cellpadding="0" cellspacing="0"><tbody><tr>
<td class="gutter">
<div class="line number1 index0 alt2">
1</div>
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2">
<code class="bash functions">sudo</code> <code class="bash plain">-i -u postgres psql</code>
</div>
</div>
</td>
</tr></tbody></table>
</div>
</div>
<div class="codetool" id="codetool">
<div class="code_n">
<textarea></textarea>
</div>
</div>
</div>
<p>
<span><strong>总结</strong></span></p>
<p>
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。</p>
<p>
<span><strong>参考资料:</strong></span></p>
<p>
https://docs.citusdata.com/en/v7.2/installation/production_rhel.html</p>
<p>
原文链接:http://www.cnblogs.com/MeteorSeed/p/8465536.html</p>
頁:
[1]