大规模集群自动化部署工具--Chef的安装部署

Chef脚本管理工具部署

部署节点

节点类型 IP(虚拟假设的IP)
Server 192.168.10.191
Workstation 192.168.10.36
Node 192.168.10.35

安装的版本

  • Chef-Server:chef-server-11.1.0-1.el6.x86_64.rpm
  • Chef-Client:chef-11.10.0-1.el6.x86_64.rpm

安装前需要了解的

首先Chef的官网有许多的发布版本,首先按照操作系统类别来分主要有Red Hat和Ubantu两种版本,根据目前我们所用的机子,选择Red Hat版本的,

版本不要选的太高,可能因为库版本不一致导致安装失败,而且错选安装系统类型也会导致某些文件不一致导致安装的失败。

一.Chef Serve的安装

注:Chef Server需要安装在物理机上,在虚拟机节点上安装可能会导致rabbbq启动不起来,或者安装过程中出现阻塞现象,具体原因是虚拟机上的某些文件会覆盖真实系统的文件导致跑不起来。

(1).Chef Server安装前需要做的

  • 配置主机名,因为后面的访很多都是以域名的方式访问

    vim /etc/sysconfig/network
    HOSTNAME=chef.server.com
  • 更改/etc/hosts文件,添加一条记录
    vim /etc/hosts
    192.168.10.191 chef.server.com
  • 如果线上有设置防火墙的话,开启443端口,因为Chef Server 11.xx版本都是监听443端口的
    iptables -I INPUT -p tcp --dport 443 -j ACCEPT
    service iptables save

(2).具体安装步骤

  • 下载rpm安装包,例如chef-server-11.1.0-1.el6.x86_64.rpm,下载的方式可以从官网中下载,也可以用下面命令行的方式

    wget -c --no-check-certificate (rpm包url地址)
  • 终端内进入chef-server软件包所在目录,执行以下命令
    rpm -ivh chef-server-11.1.0-1.el6.x86_64.rpm
  • 执行成功后,执行下面的配置命令
    chef-server-ctl reconfigure

(3).Chef Server安装结果验证

执行成功后,浏览器内输入(https://192.168.10.191),或者域名方式访问(https://chef.server.com),会看到一个登陆界面,表明Chef Server已经安装成功

用户名密码如,即可登系统(注意此时先不要急着改密码)

username: admin

password: [email protected]

在此过程中,你可能会出现类似安装进程卡住,等待错误提示,那可能是因为你的系统版本选择不对,这个对server端的影响挺大的

二.Workstation的安装

(1).安装前需要做的

  • 同样需要修改hostname和/etc/hosts文件,写入hosts文件时还要chef server的ip一起写入操作如下

    vim /etc/sysconfig/network
    HOSTNAME=chef.workstation.com
    
    vim /etc/hosts
    192.168.10.36 chef.workstation.com
    
    #写入chef server ip
    
    192.168.10.191 chef.server.com

(2).具体安装步骤

  • chef client的安装,下载好chef client rpm包,执行下面指令:

    rpm -ivh chef-11.10.0-1.el6.x86_64.rpm
  • git的安装,执行下述命令:
    yum install git
  • chef repo的git相应目录的创建,进入root主目录,git克隆chef repository,命令如下
    cd ~
    git clone git://github.com/opscode/chef-repo.git
  • 如果worksation节点与che server节点是同在一个节点上的,无须拷贝admin.pem和chef-validator.pem私钥文件,如果不是同一节点则需要拷,拷贝过程如下(考虑到集群规模的扩大,建议server节点与workstations节点分开部署):
    • 在chef-workstation节点上先创建/root/.chef目录,并将chef服务器上的/etc/chef-server/admin.pem和/etc/chef-server/chef-validator.pem文件拷贝到此目录。

      mkdir ~/.chef
      scp chef.example.com:/etc/chef-server/admin.pem ~/.chef
      scp chef.example.com:/etc/chef-server/chef-validator.pem ~/.chef

注意:如在此过程前已经修改了server端的admin密码,则原有的/etc/chef-server/admin.pem将会失效,此时应到web ui页面上拷贝此时的admin的private key,在user栏目下点击generate private key,然后手动复制。

  • 执行knife configure -i命令进行初始化

    knife configure -i

    knife configure配置过程需要更改的配置:

    • server URL修改为chef服务器的地址https://chef.server.com:443,
    • admin’s private key路径改为/root/.chef/admin.pem
    • validation key路径改为/root/.chef/chef-validation.pem
    • chef repository地址输入/root/chef-repo
    • 按照提示创建一个用户和密码

      其余项保持默认值.

  • 配置ruby路径,chef默认集成了一个ruby的稳定版本,需修改PATH变量,保证chef集成的ruby被优先使用.
    vim ~/.bash_profile
    export PATH="/opt/chef/embedded/bin:$PATH"‘
    source ~/.bash_profile

(3).Workstation安装结果验证

执行knife client list命令,返回client列表则配置成功.

“`

knife client list



chef-validator

chef-webui

“`

注:在此过程中最易出错的还是admin.pem和chef-validator.pem中途拷贝验证的出错,注意拷贝前密码是否被修改。

三.Chef Node的安装

与Chef Server和Workstation只需一次安装不同的是,Chef Node的安装就是普通的客户端节点的安装,诸如以后的节添加等都是此类的方式,操作相对来讲简单了许多。

(1).具体安装步骤

  • 修改hostname和/etc/hosts文件,写入hosts文件时还要将chef server和workstation的ip一起写入操作如下

    vim /etc/sysconfig/network
    HOSTNAME=chef.node.com
    
    192.168.10.35 chef.node.com
    
    #写入chef server 和workstation ip
    
    vim /etc/hosts
    192.168.10.36 chef.workstation.com
    192.168.10.191 chef.server.com
  • 安装chef-Client,下载好chef client rpm包,执行下面指令:
    rpm -ivh chef-11.10.0-1.el6.x86_64.rpm
  • 在chef-worksation节点下,也就是192.168.10.36执行下面命令,workstation添加并远程配置当前节点:
    
    #中间的域名也可以是ip,root和123456是是待添加node节点的ssh登录账号和密码
    
    knife bootstrap chef.node.com -x root -P 123456

    bootstrap操作就是将此节点注册到server的操作

注:此时容易如果出现Connection Refused的错误,查看node机器ssh默认的端口号22是否被改写,如若改写进行添加端口操作,命令如下

vim /etc/ssh/sshd_config

#添加下面这行

Port 22

/etc/init.d/sshd restart

(2).Chef Node安装结果验证

在workstation节点下执行下述命令

knife node list

———————-———————-———————

chef.node.com

———————-———————-———————

表明节点添加成功,还可以在Chef Server上进行查看,在node区域会看到che.node.com的节点存在。

参考链接

http://www.bitscn.com/os/linux/201410/399448.html

http://www.tuicool.com/articles/RnAVn2

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-25 06:20:13

大规模集群自动化部署工具--Chef的安装部署的相关文章

大规模集群自动化部署SSH无密码登陆

大家需要在每个节点上提前装好"expect"工具 expect的使用请看我的另一篇文章: http://tianxingzhe.blog.51cto.com/3390077/1687661 spawn命令激活一个Unix程序来进行交互式的运行. send命令向进程发送字符串. expect命令等待进程的某些字符串 set timeout 1    设置超时时间  timeout -1 为永不超时 expect eof 只有spawn执行的命令结果才会被expect捕捉到,因为spawn

大规模集群管理工具Borg

Google的大规模集群管理工具Borg 概述 Google的Borg系统是一个集群管理工具,在它上面运行着成千上万的job,这些job来自许许多多不同的应用,并且跨越多个集群,而每个集群又由大量的机器构成. Borg通过组合准入控制,高效的任务打包,超额负载以及基于进程级别性能隔离的机器共享从而实现高利用率.它支持那些高可用的应用,它们的运行时特性能够最小化错误恢复时间,它们的调度策略降低了相关错误发生的可能性.为了简化用户的使用,Borg提供了一个声明工作规范语言,名称服务一体化机制,实时j

第六篇、WebSphere8.5 (商业级服务器)大规模集群

一.前言 上一篇中讲述了WebSphere的安装与应用,该版本的WAS一般都用于开发测试(有些小应用生产环境下也会用到),在生产中绝大部份使用的WebSphere Application Server Network Deployment 简称为WASND,可做大规模的集群.本篇中将阐述商业级App Server的大规模集群操作,同时整合IBM Http Server. 二.WASND的安装 下载安装包后解压 看到repository.config就明白应该如何安装了吧? 这个和WebSpher

Docker Swarm和Kubernetes在大规模集群中的性能比较

Contents 这篇文章主要针对Docker Swarm和Kubernetes在大规模部署的条件下的3个问题展开讨论.在大规模部署下,它们的性能如何?它们是否可以被批量操作?需要采取何种措施来支持他们的大规模部署和运维? 我们需要使用侧重于用例的基准测试来对所有容器平台进行比较,这样采用者才可以做出正确的决策. 笔者从用户的角度建立了一套测评工具,用普通的方法测试Docker Swarm和Kubernetes.我只评估了通用的功能:容器的启动时间和容器罗列时间. Swarm的性能比Kubern

MapReduce: 一种简化的大规模集群数据处理法

(只有文字没有图,图请参考http://research.google.com/archive/mapreduce.html) 翻译:风里来雨里去 原文:MapReduce: Simplified Data Processing on Large Clusters 作者:JeffreyDean and Sanjay Ghemawat 转载请保留以上信息 摘要 MapReduct是一个用于处理与生成大型数据集的编程模型及相关实现.用户分别指定一个map函数与一个reduce函数,由map函数处理一

ssh+expect+scp实现服务器集群自动化搭建

之前介绍过ansible的使用,通过ssh授权批量控制服务器集群 但是生成密钥和分发公钥的时候都是需要确认密码的,这一步也是可以自动化的,利用ssh + expect + scp就可以实现,其实只用这几个命令结合也可以实现类似ansible的功能了 为了远程操作服务器进行环境初始化,总结我们都需要以下几步操作 1.ssh-keygen生成密钥对 2.将生成的公钥发送到node服务器 3.scp拷贝安装包到node服务器 4.ssh远程执行拷贝过去的安装包 下面进行集群环境初始化脚本的编写,通过s

阿里云ECS服务器部署HADOOP集群(七):Sqoop 安装

本篇将在 阿里云ECS服务器部署HADOOP集群(一):Hadoop完全分布式集群环境搭建 阿里云ECS服务器部署HADOOP集群(二):HBase完全分布式集群搭建(使用外置ZooKeeper) 阿里云ECS服务器部署HADOOP集群(三):ZooKeeper 完全分布式集群搭建 阿里云ECS服务器部署HADOOP集群(四):Hive本地模式的安装 的基础上搭建. 1 环境介绍 一台阿里云ECS服务器:master 操作系统:CentOS 7.3 Hadoop:hadoop-2.7.3.tar

运维工具SaltStack之一安装部署

运维工具SaltStack之一安装部署 一.概述 salt是一个异构平台基础设置管理工具,使用轻量级的通讯器ZMQ,用Python写成的批量管理工具,完全开源,遵守Apache2协议,与Puppet,Chef功能类似,有一个强大的远程执行命令引擎,也有一个强大的配置管理系统,通常叫做Salt State System. 二.基本原理 采用C/S模式,server端就是salt的master,client端就是minion,minion与master之间通过ZeroMQ消息队列通信.minion上

Kafka:ZK+Kafka+Spark Streaming集群环境搭建(三)安装spark2.2.1

如何配置centos虚拟机请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(一)VMW安装四台CentOS,并实现本机与它们能交互,虚拟机内部实现可以上网.> 如何安装hadoop2.9.0请参考<Kafka:ZK+Kafka+Spark Streaming集群环境搭建(二)安装hadoop2.9.0> 安装spark的服务器: 192.168.0.120 master 192.168.0.121 slave1 192.168.0.122 slave