-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.xml
363 lines (316 loc) · 28.8 KB
/
index.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>享受编程 - Coding Your Ambition.</title>
<link>http://blog.meoop.me/</link>
<description>Recent content on 享受编程 - Coding Your Ambition.</description>
<generator>Hugo -- gohugo.io</generator>
<language>en</language>
<lastBuildDate>Mon, 04 Nov 2019 21:29:18 +0800</lastBuildDate>
<atom:link href="http://blog.meoop.me/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>在 Kubernetes 上使用 KubeVirt 管理虚拟机负载</title>
<link>http://blog.meoop.me/post/use-kubevirt-to-manage-virtualization-workloads-on-kubernetes/</link>
<pubDate>Mon, 04 Nov 2019 21:29:18 +0800</pubDate>
<guid>http://blog.meoop.me/post/use-kubevirt-to-manage-virtualization-workloads-on-kubernetes/</guid>
<description><p>近几年的时间里,kubernetes 不断发展壮大,各个功能也逐渐完善,越来越多的项目开始基于 kubernetes 构建,企业内部也大多搭建了自己的 kubernetes 平台。同时企业也存在大量的旧的项目,大多都是基于虚拟机构建,迁移到 kubernetes 存在着较高的成本,风险也比较大。随着 kubernetes 的功能完善,很多新业务已经上了 kubernetes,企业内部需要同时维护着 k8s 和虚拟机两套平台,同时维护两套平台给运维带来了巨大的负担,因此急切的需求一种方案解决该问题。在 kubernetes 可以通过 KubeVirt 管理虚拟机,正好用于解决上述管理难题。</p></description>
</item>
<item>
<title>LXCFS Part 2 - Implementation Details</title>
<link>http://blog.meoop.me/post/lxcfs-part-2-implementation/</link>
<pubDate>Thu, 22 Aug 2019 21:58:32 +0800</pubDate>
<guid>http://blog.meoop.me/post/lxcfs-part-2-implementation/</guid>
<description><p><a href="https://blog.meoop.me/post/lxcfs-part-1-introduction/">上一篇文章我们主要了解了 LXCFS 的使用场景以及在 docker/kubernetes 中如何使用 LXCFS</a>,这篇文章我们从源码入手,了解下 LXCFS 是如何实现上面功能的。LXCFS 是基于 fuse 实现的虚拟文件系统,理解 LXCFS,我们需要先了解 fuse,然后再对 LXCFS 的源码进行解读。下面代码解读是在 lxcfs-3.1.2 的代码基础上进行分析的。</p></description>
</item>
<item>
<title>LXCFS Part 1 - Intro to LXCFS</title>
<link>http://blog.meoop.me/post/lxcfs-part-1-introduction/</link>
<pubDate>Wed, 14 Aug 2019 21:29:44 +0800</pubDate>
<guid>http://blog.meoop.me/post/lxcfs-part-1-introduction/</guid>
<description><p>在使用容器部署应用时,我们经常会遇到下面场景:</p>
<ul>
<li>在对 Java 应用容器化部署的过程中,自己设置了容器的资源限制,但是 Java 应用容器在运行中还是会莫名奇妙地被 OOM Killer 干掉。</li>
<li>在设置了容器的资源限制的容器中通过 top,uptime,free 等查看信息,读到的是 host 上的信息,不是资源限制后的结果。</li>
</ul>
<p>这是由于 Linux 容器的资源限制是通过 cgroup 实现的,但在容器内部依旧共享宿主机内核的 <code>procfs</code>,其中包含了如:<code>meminfo</code>,<code>cpuinfo</code>,<code>stat</code>,<code>uptime</code> 等包含宿主机资源信息的 proc 文件。一些应用或者监控工具如 free/top 还依赖 proc 下的文件内容获取资源配置和使用情况。当它们在容器中运行时,就会把宿主机的资源状态读取出来,引起了错误和不便。LXCFS 就是用来解决这类问题的。</p></description>
</item>
<item>
<title>Upgrade Glusterfs</title>
<link>http://blog.meoop.me/post/upgrade-glusterfs/</link>
<pubDate>Wed, 24 Jul 2019 20:40:12 +0800</pubDate>
<guid>http://blog.meoop.me/post/upgrade-glusterfs/</guid>
<description><p>支持 3.10.x,3.12.x,4.1.x,5.x 升级到 6.x 版本。</p>
<h2 id="升级前注意事项">升级前注意事项</h2>
<ul>
<li>只有复制卷和分布式复制卷可以联机升级</li>
<li>分布式卷和条纹卷不支持联机升级</li>
<li>升级过程中不得修改任何配置</li>
<li>如果使用 geo-replication ,先升级 slave 节点,再升级 master 节点</li>
<li>建议先升级服务端再升级客户端</li>
<li>建议使用相同版本的客户端和服务端</li>
<li>升级前建议阅读版本的 release note,熟悉新版本删除和添加的功能</li>
</ul></description>
</item>
<item>
<title>Rebuild kernel package with src.rpm (Centos7)</title>
<link>http://blog.meoop.me/post/rebuild-kernel-with-src.rpm/</link>
<pubDate>Thu, 24 Jan 2019 17:08:04 +0800</pubDate>
<guid>http://blog.meoop.me/post/rebuild-kernel-with-src.rpm/</guid>
<description><p><strong>注意,应使用非 root 用户进行 rpm 包构建。</strong></p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt">1
</span><span class="lnt">2
</span><span class="lnt">3
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash"><span class="c1"># add user</span>
useradd -m -r koji
su koji
</code></pre></td></tr></table>
</div>
</div><p>下载源码包,安装源码包,解压源码。</p>
<div class="highlight"><div class="chroma">
<table class="lntable"><tr><td class="lntd">
<pre class="chroma"><code><span class="lnt"> 1
</span><span class="lnt"> 2
</span><span class="lnt"> 3
</span><span class="lnt"> 4
</span><span class="lnt"> 5
</span><span class="lnt"> 6
</span><span class="lnt"> 7
</span><span class="lnt"> 8
</span><span class="lnt"> 9
</span><span class="lnt">10
</span></code></pre></td>
<td class="lntd">
<pre class="chroma"><code class="language-bash" data-lang="bash">sudo yum install yum-utils rpm-build
<span class="c1"># download source package</span>
yumdownloader --source kernel
<span class="c1"># install build dependencies</span>
yum-builddep kernel
<span class="c1"># install source package,</span>
rpm -i kernel-*.src.rpm
<span class="nb">cd</span> ~/rpmbuild
<span class="c1"># unpacking the sources and applying any patches.</span>
rpmbuild -bp SPECS/kernel.spec
</code></pre></td></tr></table>
</div>
</div></description>
</item>
<item>
<title>Resizing Persistent Volumes Using Kubernetes</title>
<link>http://blog.meoop.me/post/resizing-persistent-volumes-using-kubernetes/</link>
<pubDate>Mon, 21 Jan 2019 17:38:53 +0800</pubDate>
<guid>http://blog.meoop.me/post/resizing-persistent-volumes-using-kubernetes/</guid>
<description><p><strong>Feature gates:</strong></p>
<ul>
<li>enable <code>ExpandPersistentVolumes</code> feature gate (1.11⬆️ default:ture).</li>
<li>enable <code>PersistentVolumeClaimResize</code> admission controller (1.11⬆️ default:ture).</li>
</ul>
<p><strong>StorageClass:</strong></p>
<ul>
<li>Storage class’s <code>allowVolumeExpansion</code> field should set to true.</li>
</ul></description>
</item>
<item>
<title>Running Containers With OVS-DPDK</title>
<link>http://blog.meoop.me/post/running-containers-with-ovs-dpdk/</link>
<pubDate>Tue, 31 Jul 2018 12:56:20 +0800</pubDate>
<guid>http://blog.meoop.me/post/running-containers-with-ovs-dpdk/</guid>
<description><ul>
<li><a href="#ovs-dpdk-%E6%98%AF%E4%BB%80%E4%B9%88">OVS-DPDK 是什么</a></li>
<li><a href="#ovs-dpdk-%E4%B8%BA%E5%AE%B9%E5%99%A8%E6%8F%90%E4%BE%9B%E7%BD%91%E7%BB%9C%E6%94%AF%E6%8C%81">OVS-DPDK 为容器提供网络支持</a>
<ul>
<li><a href="#%E5%9F%BA%E4%BA%8E-dpdk-%E7%9A%84%E5%BA%94%E7%94%A8">基于 DPDK 的应用</a></li>
<li><a href="#%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%E5%8D%8F%E8%AE%AE%E6%A0%88%E7%9A%84%E5%BA%94%E7%94%A8">基于内核协议栈的应用</a></li>
</ul>
</li>
<li><a href="#ovs-dpdk-%E5%AE%B9%E5%99%A8%E7%BD%91%E7%BB%9C%E6%96%B9%E6%A1%88%E9%AA%8C%E8%AF%81">OVS-DPDK 容器网络方案验证</a>
<ul>
<li><a href="#%E6%90%AD%E5%BB%BA-dpdk-%E7%8E%AF%E5%A2%83">搭建 DPDK 环境</a></li>
<li><a href="#%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8C-ovs-dpdk">编译运行 OVS-DPDK</a></li>
<li><a href="#dpdk-%E5%BA%94%E7%94%A8%E7%9A%84%E5%AE%B9%E5%99%A8">DPDK 应用的容器</a></li>
<li><a href="#%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%E5%8D%8F%E8%AE%AE%E6%A0%88%E7%9A%84%E5%BA%94%E7%94%A8%E4%BD%BF%E7%94%A8-veth-pair-%E8%BF%9E%E6%8E%A5-ovs-dpdk">基于内核协议栈的应用(使用 veth pair 连接 ovs-dpdk)</a></li>
<li><a href="#%E5%9F%BA%E4%BA%8E%E5%86%85%E6%A0%B8%E5%8D%8F%E8%AE%AE%E6%A0%88%E7%9A%84%E5%BA%94%E7%94%A8%E4%BD%BF%E7%94%A8-tap-%E8%BF%9E%E6%8E%A5-ovs-dpdk-%E7%9A%84-virtio-user-%E6%8E%A5%E5%8F%A3">基于内核协议栈的应用(使用 tap 连接 ovs-dpdk 的 virtio-user 接口)</a></li>
</ul>
</li>
<li><a href="#%E5%8E%82%E5%95%86%E6%96%B9%E6%A1%88">厂商方案</a>
<ul>
<li><a href="#%E7%BE%8E%E5%9B%A2%E7%82%B9%E8%AF%84%E5%AE%B9%E5%99%A8%E5%B9%B3%E5%8F%B0%E7%BD%91%E7%BB%9C%E6%9E%B6%E6%9E%84">美团点评容器平台网络架构</a></li>
<li><a href="#%E7%BD%91%E6%98%93">网易</a></li>
<li><a href="#intel">Intel</a></li>
</ul>
</li>
<li><a href="#%E5%8F%82%E8%80%83%E6%96%87%E7%AB%A0">参考文章</a></li>
</ul>
<blockquote>
<p>DPDK(Data Plane Development Kit),即数据平面开发工具包,是一组用于快速数据包处理的数据平面库和网络接口控制器驱动程序,DPDK 为 x86,ARM 和 PowerPC 处理器提供编程框架,可以更快地开发高速数据包网络应用程序。该平台采用 BSD 许可证发布,目前作为 Linux Foundation 下的开源项目进行管理。</p>
</blockquote>
<p>在 X86 架构中,处理数据包的传统方式是 CPU 中断方式,即网卡驱动接收到数据包后通过中断通知 CPU 处理,然后由 CPU 拷贝数据并交给协议栈。在数据量大时,这种方式会产生大量 CPU 中断,导致 CPU 无法运行其他程序。而 DPDK 则采用轮询方式实现数据包处理过程:DPDK 重载了网卡驱动,在收到数据包后不中断通知 CPU,而是将数据包通过零拷贝技术存入内存,这时应用层程序就可以通过 DPDK 提供的接口,直接从内存读取数据包。这种处理方式节省了 CPU 中断时间、内存拷贝时间,并向应用层提供了简单易行且高效的数据包处理方式,使得网络应用的开发更加方便。但同时,由于需要重载网卡驱动,因此该开发包目前只能用在部分网络处理芯片的网卡中。</p></description>
</item>
<item>
<title>使用 xmodmap 取消 Linux 下鼠标中键粘贴功能</title>
<link>http://blog.meoop.me/post/%E4%BD%BF%E7%94%A8xmodmap%E5%8F%96%E6%B6%88linux%E4%B8%8B%E9%BC%A0%E6%A0%87%E4%B8%AD%E9%94%AE%E7%B2%98%E8%B4%B4%E5%8A%9F%E8%83%BD/</link>
<pubDate>Wed, 07 Mar 2018 10:16:23 +0800</pubDate>
<guid>http://blog.meoop.me/post/%E4%BD%BF%E7%94%A8xmodmap%E5%8F%96%E6%B6%88linux%E4%B8%8B%E9%BC%A0%E6%A0%87%E4%B8%AD%E9%94%AE%E7%B2%98%E8%B4%B4%E5%8A%9F%E8%83%BD/</guid>
<description><p>在 Linux 下选中东西后,按住鼠标的滚轮中键进行粘贴,是 Linux 下非常好用的功能。但是不巧,鼠标的滚轮中键太灵敏,在滚动滚轮时候非常容易按下中键,这时候编辑好的文档突然就插入了不知道从哪复制来的东西。</p>
<p>xmodmap 是用于修改X中键盘映射和指针按钮映射的实用程序,我们可以用 xmodmap 修改鼠标中键的映射,进而关掉鼠标中键的复制功能,解决误触鼠标中键问题。</p></description>
</item>
<item>
<title>容器实现技术技术及其原理:Namespace</title>
<link>http://blog.meoop.me/post/%E5%AE%B9%E5%99%A8%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF%E6%8A%80%E6%9C%AF%E5%8F%8A%E5%85%B6%E5%8E%9F%E7%90%86namespace/</link>
<pubDate>Sun, 24 Dec 2017 11:25:47 +0800</pubDate>
<guid>http://blog.meoop.me/post/%E5%AE%B9%E5%99%A8%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF%E6%8A%80%E6%9C%AF%E5%8F%8A%E5%85%B6%E5%8E%9F%E7%90%86namespace/</guid>
<description><p>容器是当前的热门技术,容器使用到 Linux 的 <code>namespace</code> 和 <code>cgroup</code> 功能,<code>namespace</code> 用于资源隔离,<code>cgroup</code> 用于资源限制。除了这两个外,容器还使用到了 selinux/apparmor 增强容器安全,veth pair/bridge/ovs 等技术提供容器网络,aufs/overlayfs/lvm 等技术构建容器的 rootfs。这篇文章主要对 namespace 进行介绍,了解它功能已经使用方式,后续文章再对其他技术进行介绍。</p>
<h2 id="linux-namespace">Linux Namespace</h2>
<p><code>Namespace</code> 是 Linux 内核的一项功能,用于对资源进行隔离,<code>namespace</code> 以一种抽象的方式包装特定的资源,使得在这个 <code>namespace</code> 中的进程实例看起来它们具有自己的受到隔离的全局资源,不同 <code>namespace</code> 的进程能看到的资源是不同的。</p></description>
</item>
<item>
<title>MegaCli 常用命令汇总</title>
<link>http://blog.meoop.me/post/megacli%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB/</link>
<pubDate>Tue, 09 May 2017 10:17:21 +0800</pubDate>
<guid>http://blog.meoop.me/post/megacli%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB/</guid>
<description><p>MegaCli 是 LSI 公司提供的工具, 可以实现对 RAID 卡进行配置和状态监控。下面是一些比较常用的 MegaCli 命令:</p></description>
</item>
<item>
<title>GRUB2 Password Protection</title>
<link>http://blog.meoop.me/post/grub2-password-protection/</link>
<pubDate>Thu, 30 Mar 2017 10:16:56 +0800</pubDate>
<guid>http://blog.meoop.me/post/grub2-password-protection/</guid>
<description><p>GRUB2 为其菜单和终端提供了基本的密码保护。用户可以设置密码用来保护整个菜单,或者某个菜单项。可以设置多个用户,并且为每个用户提供不同的密码,密码可以以加密或非加密格式存储。本文对为什么要使用 GRUB2 的密码保护功能以及如何设置 GRUB2 进行简单介绍。</p></description>
</item>
<item>
<title>使用 debootstrap 建立 Ubuntu 系统</title>
<link>http://blog.meoop.me/post/%E4%BD%BF%E7%94%A8debootstrap%E5%BB%BA%E7%AB%8Bubuntu%E7%B3%BB%E7%BB%9F/</link>
<pubDate>Mon, 27 Mar 2017 10:15:58 +0800</pubDate>
<guid>http://blog.meoop.me/post/%E4%BD%BF%E7%94%A8debootstrap%E5%BB%BA%E7%AB%8Bubuntu%E7%B3%BB%E7%BB%9F/</guid>
<description><p>摘要:debootstrap 能够快速建立一套 Debian 或 Ubuntu 的 rootfs,并且支持多种 CPU 架构。</p></description>
</item>
<item>
<title>几种无损压缩算法实现比较</title>
<link>http://blog.meoop.me/post/%E5%87%A0%E7%A7%8D%E5%8E%8B%E7%BC%A9%E7%AE%97%E6%B3%95%E6%AF%94%E8%BE%83/</link>
<pubDate>Mon, 10 Oct 2016 20:15:48 +0800</pubDate>
<guid>http://blog.meoop.me/post/%E5%87%A0%E7%A7%8D%E5%8E%8B%E7%BC%A9%E7%AE%97%E6%B3%95%E6%AF%94%E8%BE%83/</guid>
<description><p>数据压缩是按照特定的编码机制用比未经编码少的数据表示信息的过程。数据压缩能够实现是因为多数现实世界的数据都存在统计冗余。无损数据压缩(Lossless Compression)指的是数据经过压缩后,信息不受损失,数据还能完全恢复到压缩前的原样,一般用于严格要求“经过压缩、解压缩的数据必须与原始数据一致”的场合。无损压缩典型的例子包括文字文件、程序可执行文件、程序源代码。</p></description>
</item>
<item>
<title>一起学 Markdown</title>
<link>http://blog.meoop.me/post/%E4%B8%80%E8%B5%B7%E5%AD%A6markdown/</link>
<pubDate>Wed, 24 Aug 2016 22:34:42 +0800</pubDate>
<guid>http://blog.meoop.me/post/%E4%B8%80%E8%B5%B7%E5%AD%A6markdown/</guid>
<description><p>Markdown 是一种轻量级的「标记语言」,他的目标是实现「易读易写」。它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。不要被「标记」、「语言」所迷惑,Markdown 的语法十分简单。常用的标记符号也不超过十个,这种相对于更为复杂的 HTML 标记语言来说,Markdown 可谓是十分轻量的,学习成本也不需要太多,且一旦熟悉这种语法规则,会有一劳永逸的效果。</p></description>
</item>
<item>
<title>NTP 服务器的搭建</title>
<link>http://blog.meoop.me/post/ntp%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%90%AD%E5%BB%BA/</link>
<pubDate>Mon, 08 Aug 2016 10:17:32 +0800</pubDate>
<guid>http://blog.meoop.me/post/ntp%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E6%90%AD%E5%BB%BA/</guid>
<description><p>由于制造工艺多种多样,所有的(非原子)时钟并不按照完全一致的速度行走。有一些时钟走的比较快而有一些走的比较慢。因此经过很长一段时间以后,一个时钟的时间慢慢的和其它的发生偏移,这就是常说的 “时钟漂移” 或 “时间漂移”。时钟的一致对一些应用有着至关重要的作用,为了将时钟漂移的影响降低到最小,需要将时钟进行同步,这就需要 ntp 服务。
网络时间协议 (NTP) 用来同步网络上不同主机的系统时间。你管理的所有主机都可以和一个指定的被称为 ntp 服务器的时间服务器同步它们的时间。而另一方面,一个 ntp 服务器会将它的时间和任意公共 ntp 服务器,或者你选定的服务器同步。由 ntp 管理的所有系统时钟都会同步精确到毫秒级。</p></description>
</item>
<item>
<title>Gnome 桌面环境顶栏日期显示不全问题</title>
<link>http://blog.meoop.me/post/gnome%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83%E9%A1%B6%E6%A0%8F%E6%97%A5%E6%9C%9F%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%85%A8%E9%97%AE%E9%A2%98/</link>
<pubDate>Sat, 23 Jul 2016 10:16:50 +0800</pubDate>
<guid>http://blog.meoop.me/post/gnome%E6%A1%8C%E9%9D%A2%E7%8E%AF%E5%A2%83%E9%A1%B6%E6%A0%8F%E6%97%A5%E6%9C%9F%E6%98%BE%E7%A4%BA%E4%B8%8D%E5%85%A8%E9%97%AE%E9%A2%98/</guid>
<description><blockquote>
<p>2016.08.01 日更新
该问题不止在 Fedora 中出现,在 ubuntu GNOME 桌面版版也出现这个问题,是 GNOME 桌面环境的问题。修改方法与 Fedora 相同。</p>
</blockquote>
<p>Fedora 23,Fedora 24,ububtu GNOME 桌面版顶栏中文日期及星期显示不全的问题,Fedora 23 时找到修改的办法,未做记录,更新到 Fedora 24 时又遇到这个问题,于是又翻找资料解决问题,为避免下次麻烦,将该问题以及问题解决办法记录下来,以备后用。</p></description>
</item>
<item>
<title>nfs+ssh 软连接无法实现免密码登陆</title>
<link>http://blog.meoop.me/post/nfs-ssh%E8%BD%AF%E8%BF%9E%E6%8E%A5%E6%97%A0%E6%B3%95%E5%AE%9E%E7%8E%B0%E5%85%8D%E5%AF%86%E7%A0%81%E7%99%BB%E9%99%86/</link>
<pubDate>Mon, 14 Mar 2016 10:17:26 +0800</pubDate>
<guid>http://blog.meoop.me/post/nfs-ssh%E8%BD%AF%E8%BF%9E%E6%8E%A5%E6%97%A0%E6%B3%95%E5%AE%9E%E7%8E%B0%E5%85%8D%E5%AF%86%E7%A0%81%E7%99%BB%E9%99%86/</guid>
<description><blockquote>
<p>一次 Hadoop 集群安装过程中 nfs+ssh 软连接无法实现免密码登陆的问题解决过程</p>
<p>原文在 <a href="https://blog.csdn.net/Meoop/article/details/50886535">CSDN</a>,现在迁移到这里。</p>
</blockquote>
<h2 id="nfsssh-软连接无法实现免密码登陆">nfs+ssh 软连接无法实现免密码登陆</h2>
<ol>
<li>开始以为自己文件名写错,仔细检查未发现文件名有错。</li>
<li>检查文件的权限,发现 authorized_keys 文件的权限是 600,修改成 644 后,问题依旧,无法实现免密码登陆。</li>
<li>以为是 nfs_share 目录的权限问题。因为当时建立时使用的是 root 用户,查看后发现 nfs_share 目录权限无问题。</li>
<li>查看建立的软连接,软连接建立之后所生成的文件权限为 777,尝试各种修改后,完全没有什么用处,依旧无法免密码连接。</li>
</ol></description>
</item>
<item>
<title>Hadoop 集群启动成功但 live Node 为 0</title>
<link>http://blog.meoop.me/post/hadoop%E9%9B%86%E7%BE%A4%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F%E4%BD%86live-node%E4%B8%BA0/</link>
<pubDate>Sat, 05 Mar 2016 10:17:04 +0800</pubDate>
<guid>http://blog.meoop.me/post/hadoop%E9%9B%86%E7%BE%A4%E5%90%AF%E5%8A%A8%E6%88%90%E5%8A%9F%E4%BD%86live-node%E4%B8%BA0/</guid>
<description><blockquote>
<p>一次 Hadoop 集群启动成功但 live node 为 0 的问题解决过程。</p>
<p>原文在 <a href="https://blog.csdn.net/Meoop/article/details/50806724">CSDN</a>,现在迁移到这里。</p>
</blockquote>
<h2 id="问题描述">问题描述</h2>
<p>这两天用虚拟机搭建了 hadoop 集群环境,创建了三台虚拟机 hadoop01,hadoop02,hadoop03,hadoop01 代表 Master,hadoop02 以及 hadoop03 作为 Slave 节点。三台虚拟机都是 centos7 最小化安装。hadoop 版本用的最新的版本 2.7.2。
开始一切都很顺利,启动 hadoop 集群也成功启动,运行 jps,三个节点对应的进程都成功启动,但是检查集群状态时发现 live node 为 0(如图)。</p>
<figure class="center">
<img src="http://blog.meoop.me/images/post/hadoop%e9%9b%86%e7%be%a4%e5%90%af%e5%8a%a8%e6%88%90%e5%8a%9f%e4%bd%86live-node%e4%b8%ba0/20160304233347273.png"
alt="集群状态"/> <figcaption>
<h4>集群状态</h4>
</figcaption>
</figure></description>
</item>
<item>
<title>Linux 修改主机名</title>
<link>http://blog.meoop.me/post/linux%E4%BF%AE%E6%94%B9%E4%B8%BB%E6%9C%BA%E5%90%8D/</link>
<pubDate>Fri, 04 Mar 2016 10:17:15 +0800</pubDate>
<guid>http://blog.meoop.me/post/linux%E4%BF%AE%E6%94%B9%E4%B8%BB%E6%9C%BA%E5%90%8D/</guid>
<description><blockquote>
<p>原文在 <a href="https://blog.csdn.net/Meoop/article/details/50804308">CSDN</a>,作部分更新整理后迁移到这里。</p>
</blockquote>
<p>在 CentOS 或 RHEL 中,有三种定义的主机名:</p>
<ol>
<li>静态的(static),<strong>静态</strong>主机名也称为内核主机名,是系统在启动时从<code>/etc/hostname</code>自动初始化的主机名。</li>
<li>瞬态的(transient),<strong>瞬态</strong>主机名是在系统运行时临时分配的主机名,例如,通过 DHCP 或 mDNS 服务器分配。静态主机名和瞬态主机名都遵从作为互联网域名同样的字符限制规则。</li>
<li>灵活的(pretty),<strong>灵活</strong>主机名是允许使用自由形式(包括特殊/空白字符)的主机名,展示给终端用户的主机名。</li>
</ol></description>
</item>
<item>
<title>fedora23 GRUB2 更换主题</title>
<link>http://blog.meoop.me/post/fedora23-grub2%E6%9B%B4%E6%8D%A2%E4%B8%BB%E9%A2%98/</link>
<pubDate>Tue, 12 Jan 2016 10:16:42 +0800</pubDate>
<guid>http://blog.meoop.me/post/fedora23-grub2%E6%9B%B4%E6%8D%A2%E4%B8%BB%E9%A2%98/</guid>
<description><blockquote>
<p>原文在<a href="https://blog.csdn.net/Meoop/article/details/50505609">CSDN</a>,现在迁移到这里。</p>
</blockquote>
<p>刚刚装了 win10 和 fedora23 双系统,启动时黑框只占屏幕左上角的 1/4,感觉十分的难看,于是就寻思这怎么让其好看点,于是翻了翻资料,看见很多地方都可以换 GRUB2 的主题,就试着动了下手,美化了下。</p>
<p><strong>效果图</strong>(主题作者给的效果图),下载地址:https://pan.baidu.com/s/1c2mgBCG
<figure class="center">
<img src="http://blog.meoop.me/images/post/fedora23-GRUB2%e6%9b%b4%e6%8d%a2%e4%b8%bb%e9%a2%98/20160112180610905.png"/> <figcaption>
<h4>主题样式</h4>
</figcaption>
</figure>
</p></description>
</item>
<item>
<title>K-Means 聚类算法</title>
<link>http://blog.meoop.me/post/k-means%E8%81%9A%E7%B1%BB%E7%AE%97%E6%B3%95/</link>
<pubDate>Tue, 16 Jun 2015 10:17:10 +0800</pubDate>
<guid>http://blog.meoop.me/post/k-means%E8%81%9A%E7%B1%BB%E7%AE%97%E6%B3%95/</guid>
<description><blockquote>
<p><strong>聚类</strong>是在给定的数据集合中寻找同类的数据子集合,每一个子集合形成一个类簇,同类簇中的数据具有更大的相似性。聚类算法大体上可分为<strong>基于划分</strong>的方法、<strong>基于层次</strong>的方法、<strong>基于密度</strong>的方法、<strong>基于网格</strong>的方法以及<strong>基于模型</strong>的方法。</p>
</blockquote>
<h2 id="基本概念">基本概念</h2>
<p>术语 <strong>k-means</strong> 最早是由 James MacQueen 在 1967 年提出的,这一观点可以追溯到 1957 年 Hugo Steinhaus 所提出的想法。1957 年,斯图亚特·劳埃德最先提出这一标准算法,当初是作为一门应用于脉码调制的技术,直到 1982 年,这一算法才在贝尔实验室被正式提出。1965 年,E.W.Forgy 发表了一个本质上是相同的方法,1975 年和 1979 年,Hartigan 和 Wong 分别提出了一个更高效的版本。</p></description>
</item>
<item>
<title>Code Blocks 添加第三方类库</title>
<link>http://blog.meoop.me/post/code-blocks%E6%B7%BB%E5%8A%A0%E7%AC%AC%E4%B8%89%E6%96%B9%E7%B1%BB%E5%BA%93/</link>
<pubDate>Mon, 13 Apr 2015 10:24:24 +0800</pubDate>
<guid>http://blog.meoop.me/post/code-blocks%E6%B7%BB%E5%8A%A0%E7%AC%AC%E4%B8%89%E6%96%B9%E7%B1%BB%E5%BA%93/</guid>
<description><p>第一步:编译第三方库,得到头文件和库,例如路径关系:
在 include 中放头文件,在 lib 中放置库文件。</p>
<blockquote>
<p>D:\MyLib\include</p>
<p>D:\MyLib\lib</p>
</blockquote>
<p><img src="http://blog.meoop.me/images/post/Code-Blocks%E6%B7%BB%E5%8A%A0%E7%AC%AC%E4%B8%89%E6%96%B9%E7%B1%BB%E5%BA%93/20150413230733748.png" alt="编译后的第三方库"></p></description>
</item>
</channel>
</rss>