本文以ubuntu-16.04.3-server-amd64为例,搭建服务器集群。同样是依托于虚拟机。

创建第一个节点

创建新的虚拟机参见:创建新的虚拟机,创建之后,编辑虚拟机,选择Ubuntu镜像,开启虚拟机开始安装。

具体安装参见:安装配置Ubuntu,安装的过程值得强调的两点就是:

  • 这个版本有个bug,刚开始的时候选择语言,千万不要选择Chinese,直接默认英语就行了,不然安装到后续过程会报错。

  • 由于选择的镜像是server版的,所以一定要把openssh-server安装上,不然后续更新源会让人比较蛋疼。(客户端无法连接到服务器,虚拟机中的ubuntu无法复制粘贴)

配置源

安装完成系统后默认带的源都是官方提供的,如果不FQ的话是无法使用的。可以自己从网上下载国内的源,比如:阿里源,使用客户端(xshell、putty都可以)更新。

  • sudo vim /etc/apt/sources.list
  • :%d 清空官方提供源,替换成自己的

  • 更新下apt-get

  • sudo apt-get update
  • sudo apt-get upgrade

克隆节点

基于节点1直接做克隆,实现3台服务器集群。这个操作比较简单,直接指定好存储目录,在被克隆的虚拟机上右键克隆,填写虚拟机名称,指定存储路径,完全克隆就行了。

更改hostname

由于都是克隆的节点,所以它们的hostname都是一样的,为了便于辨识,修改hostname:

  • sudo hostname 新主机名
  • sudo reboot
  • sudo shutdown 命令可以安全地关闭或重启Linux系统;sudo reboot, 使用reboot命令可以快速地关闭系统,但如果还有其它用户在该系统上工作时,就会引起数据的丢失。用reboot命令的场合主要是在单用户模式

修改host映射

选择一台机器作为跳板机,通过这台机器管理其它所有服务器。 修改host:

  • sudo vim /etc/hosts
  • 添加其它两台服务器ip和名称的映射
  • sudo /etc/init.d/networking restart 保存并重启网络

实现免密码登陆

采用ssh 用户名@ip 即可以实现服务器连接登陆,但是这需要我们输入用户名、密码,为了便于管理如下实现密钥连接。(如果A需要登陆B,则把A的公钥发给B)

  • 生存密钥:ssh-keygen -t rsa
  • cd ~/.ssh/ cd到该目录可以生成了私钥和公钥文件
  • 把公钥发送到需要连接的服务器,如果源服务器已经有了authorized_keys文件,需要先发送到其他目录,再把密钥考到这个文件中(scp id_rsa.pub root@192.168.0.143:~/.ssh/id_rsa.pub.1)。通过cat id_rsa追加(cat ~/.ssh/id_rsa.pub.1 >>authorized_keys)。
  • scp id_rsa.pub root@192.168.0.143:~/.ssh/authorized_keys
  • 此时再连接,第一次需要输入yes/no
  • 把.ssh/known_hosts直接删掉,该文件就是记录ssh登录的服务器信息
  • 如上既可以实现免密码登陆,以后管理其它服务器直接通过这台服务器作为跳板,其他服务器完全可以禁用密码登陆:
  • 禁用方式:sudo vim /etc/ssh/sshd_config 修改PasswordAuthentication no

总结

  • 大多公司服务器管理采用ssh+密钥的方式,也有基于vpn的方式;不管怎么样尽可能少的把服务器地址暴露出去。只需要暴露一台地址80端口,其他服务器依托局域网即可。这样也会更安全。
  • ssh管理还是很方便的,基于同样方式也可以移动端管理,把密钥导入到ipad(cola ,密钥导入到ipad,管理服务器)

linux集群管理的更多相关文章

  1. linux集群管理<转>

    云在根本上是由硬件和软件组成的,这些组件需要经常细心地维护.出现故障的硬件需要修理或更换:软件需要应用补丁.更新和升级:必须根据需求和潜在的安全威胁提前配置系统.应用程序开发人员可能觉得计算云很方便. ...

  2. 实验室 Linux 集群的管理常用命令

    实验室有一个Linux集群,本文做一下记录. SSH相关命令 通过SSH登录集群中的其他机器上的操作系统(或虚拟机中的操作系统).操作系统之间已经设置免密码登录. 1. 无选项参数运行 SSH 通常使 ...

  3. Linux Kafka集群管理工具kafka-manager的安装使用

    一.kafka-manager简介 kafka-manager是目前最受欢迎的kafka集群管理工具,最早由雅虎开源,用户可以在Web界面执行一些简单的集群管理操作.具体支持以下内容: 管理多个集群 ...

  4. Linux 集群

    html,body { } .CodeMirror { height: auto } .CodeMirror-scroll { } .CodeMirror-lines { padding: 4px 0 ...

  5. 译:Google的大规模集群管理工具Borg(一)------ 用户视角的Borg特性

    概述 Google的Borg系统是一个集群管理工具,在它上面运行着成千上万的job,这些job来自许许多多不同的应用,并且跨越多个集群,而每个集群又由大量的机器构成. Borg通过组合准入控制,高效的 ...

  6. 运维利器-ClusterShell集群管理操作记录

    在运维实战中,如果有若干台数据库服务器,想对这些服务器进行同等动作,比如查看它们当前的即时负载情况,查看它们的主机名,分发文件等等,这个时候该怎么办?一个个登陆服务器去操作,太傻帽了!写个shell去 ...

  7. 【Spark】---- 在Linux集群上安装和配置Spark

    1 安装JDK   1) 进入JDK官网 2) 下载JDK安装包 3)配置环境变量,在/etc/profile增加以下代码 JAVA_HOME=/home/hadoop/jdk1.6.0_38 PAT ...

  8. 转:Linux集群-----HA浅谈

    通过特殊的软件将若干服务器连接在一起并提供故障切换功能的实体我们称之为高可用集群.可用性是指系统的uptime,在7x24x365的工作环境中,99%的可用性指在一年中可以有87小时36分钟的DOWN ...

  9. zookeeper安装和应用场合(名字,配置,锁,队列,集群管理)

    安装和配置详解 本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网http://hadoop.apache.org/zookeeper/ 来获取,Zookee ...

随机推荐

  1. 【转】javascript 的类,原型,继承的理解

    原文: https://www.cnblogs.com/codernie/p/9098184.html ------------------------------------------------ ...

  2. Node.js node主文件找不到时报出的Error:Cannot find module异常

    如果执行>Node xx.js时,xx,js找不到的话,报出的错误是Error:Cannot find module 'c:/test/xx,js' 主文件名打错或者是点号打成逗号都会出这样的错 ...

  3. NativeCode中通过JNI反射调用Java层的代码,以获取IMEI为例

    简单说,就是在NativeCode中做一些正常情况下可以在Java code中做的事儿,比如获取IMEI. 这种做法会使得静态分析Java层代码的方法失效. JNIEXPORT jstring JNI ...

  4. vector list map 遍历删除指定元素

    #include <stdio.h> #include <stdint.h> #include <vector> #include <list> #in ...

  5. Linux下xargs命令详解及xargs与管道的区别

    在工作中经常会接触到xargs命令,特别是在别人写的脚本里面也经常会遇到,但是却很容易与管道搞混淆,本篇会详细讲解到底什么是xargs命令,为什么要用xargs命令以及与管道的区别.为什么要用xarg ...

  6. redis基本数据类型及命令

    一.key相关命令 redis本质上是key-value数据库.所以key操作适用于redis的任何数据类型缓存. 1.exists key判断是否存在key,存在返回1,不存在返回0 2.del k ...

  7. 51单片机 | 定时/计数器原理及结构(T0和T1)

    ———————————————————————————————————————————— 定时/计数器结构(T0和T1) 16位寄存器T0.T1分别由TH0.TL0和TH1.TL1四个8位计数器组成 ...

  8. SELECT * INTO xx FROM x0

    insert into a select * from b:--向存在表中插入数据,如果不存在表a报错. select * into a from b:--创建新表的同时插入数据,如果表a存在,报错. ...

  9. sprint3 【每日scrum】 TD助手站立会议第七天

    站立会议 组员 昨天 今天 困难 签到 刘铸辉 (组长) 在日历各个事件上都增加闹钟显示,并将数据传递给日程和时间表 调整闹钟和整个项目的显示效果,最后做出了微信界面滑动的显示效果 闹钟在广播协议的时 ...

  10. Machine Learning——Unsupervised Learning(机器学习之非监督学习)

    前面,我们提到了监督学习,在机器学习中,与之对应的是非监督学习.无监督学习的问题是,在未加标签的数据中,试图找到隐藏的结构.因为提供给学习者的实例是未标记的,因此没有错误或报酬信号来评估潜在的解决方案 ...