• 设置一下每一台的主机名

  • 每一台机器尚安装必要的工具

  • 关闭防火墙&&禁用它

  • 安装iptables && 启动 && 启用 && 清除规则 && 保存

  • 关闭 SELINX && 不使用交换空间

  • 给每台机器尚指定 hosts 配置

  • 启用内核模块

  • 安装kubeadm,kubectl,kubelet

  • 以上命令每一台机器都要执行,以下命令在master节点上操作

  • 初始化主节点
    因为后续要使用flannel网络插件,所以--pod-network-cidr=10.244.0.0/16,指定节点网段为10.244.0.0/16
    另外,很多文章说需要翻墙,其实没必要,使用国内镜像就可以了。k8s.gcr.io国内无法访问,使用阿里云的镜像registry.cn-hangzhou.aliyuncs.com/google_containers,当然auzre,中科大的都可以

  • 配置相关目录

  • 安装网络插件
    网络可以的,直接使用命令kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml,安装网络插件
    网络不可以的,先wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
    这都不行的看一下我上一篇文章,有个代理。只能代理github.com这个主域,所以就是wget https://github.com/coreos/flannel/raw/master/Documentation/kube-flannel.yml
    下载完成后,执行

    github release 下载代理

  • 等待拉取镜像成功,知道master节点变成ready状态

  • 生成从节点加入配置

  • 从节点加入集群

我们都知道Redis是一款内存型的KV数据库(为了便于理解,暂时先忽略掉Redis数据持久化的AOF和RDB)。
但是当内存即将被塞满的时候,如何决定哪些数据被淘汰是一种非常重要的决策。
继续阅读

不挂载目录可以直接启动,但是一旦挂载config和data目录后就无法启动

错误提示如下:

elasticsearch | Caused by: java.lang.IllegalStateException: Failed to create node environment

查询github后,解释是用户组权限问题,改成 chown -R 1000:1000 * 可以正常启动。

关于权限的问题,可以参考文章Docker 相同GID对应不同用户组导致的无权限问题

参考:https://github.com/elastic/elasticsearch-docker/issues/21

1. 脏读 :脏读就是指当一个事务正在访问数据,并且对数据进行了修改,而这种修改还没有提交到数据库中,这时,另外一个事务也访问这个数据,然后使用了这个数据。

2. 不可重复读 :是指在一个事务内,多次读同一数据。在这个事务还没有结束时,另外一个事务也访问该同一数据。那么,在第一个事务中的两 次读数据之间,由于第二个事务的修改,那么第一个事务两次读到的的数据可能是不一样的。这样就发生了在一个事务内两次读到的数据是不一样的,因此称为是不 可重复读。例如,一个编辑人员两次读取同一文档,但在两次读取之间,作者重写了该文档。当编辑人员第二次读取文档时,文档已更改。原始读取不可重复。如果 只有在作者全部完成编写后编辑人员才可以读取文档,则可以避免该问题。

3. 幻读 : 是指当事务不是独立执行时发生的一种现象,例如第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。 同时,第二个事务也修改这个表中的数据,这种修改是向表中插入一行新数据。那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象 发生了幻觉一样。例如,一个编辑人员更改作者提交的文档,但当生产部门将其更改内容合并到该文档的主复本时,发现作者已将未编辑的新材料添加到该文档中。 如果在编辑人员和生产部门完成对原始文档的处理之前,任何人都不能将新材料添加到文档中,则可以避免该问题。