zoukankan      html  css  js  c++  java
  • 创建本地CM 离线服务器

    一、包管理工具及CentOS的yum

    1、包管理工具如何发现可以用的包

    包管理工具依赖一系列软件源,工具下载源的信息存储在配置文件中,其位置随某包管理工具不同而变化

    • 使用yum的RedHat/CentOS存储在:/etc/yum.repos.d
    • 使用apt-get的Debian/Ubuntu在:/etc/apt/apt.conf (额外的源采用*.list文件指定,存储在/etc/apt/sources.list.d目录下)

    例如在,CentOS下面:

    复制代码
    [root@lemon ~]# ls -l /etc/yum.repos.d/
    total 24
    -rw-r--r--. 1 root root 1926 Feb 25 00:57 CentOS-Base.repo
    -rw-r--r--. 1 root root  638 Feb 25 00:57 CentOS-Debuginfo.repo
    -rw-r--r--. 1 root root  630 Feb 25 00:57 CentOS-Media.repo
    -rw-r--r--. 1 root root 3664 Feb 25 00:57 CentOS-Vault.repo
    drwxr-xr-x  3 root root 4096 Jun 12 23:37 cloudera-cdh4
    -rw-r--r--  1 root root  231 Jun 12 23:36 clouder-cdh4.repo
    复制代码

    上述每个.repo文件对应着一个或者多个软件源,下面CentOS-Base.repo的片段说明,该文件定义了两个软件源,一个是Base,一个是Upadate。镜像列表参数指向一系列可以下载软件源的网址。

    复制代码
    #………
    [base]
    name=CentOS-$releasever - Base
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
    #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    
    #released updates 
    [updates]
    name=CentOS-$releasever - Updates
    mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
    #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
    gpgcheck=1
    gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
    #………
    复制代码

    在CentOS下面可以使用:yum repolist  查看系统中启用的软件源。CentOS有如下软件源列表:

    复制代码
    [root@lemon ~]# yum repolist
    Loaded plugins: fastestmirror, refresh-packagekit, security
    Loading mirror speeds from cached hostfile
     * base: mirror01.idc.hinet.net
     * extras: mirror01.idc.hinet.net
     * updates: ftp.stu.edu.tw
    repo id                repo name                                               status
    base                   CentOS-6 - Base                                         6,381
    cloudera-cdh4          Cloudera's Distribution for Hadoop, Version 4              97
    extras                 CentOS-6 - Extras                                          12
    updates                CentOS-6 - Updates                                        805
    repolist: 7,295
    复制代码

    二、创建自己的yum软件源(以Cloudera Hadoop的安装为例)

    自定义软件源,给不能联网或者网络不畅的计算机安装软件提供了便利,使得待安装软件的主机可以使用本地的软件源完成安装。下面讲述如何创建本地包软 件源,并指示本地主机直接使用。简要概括起来如下:将下载的RPM包放到本地主机的某一个目录下,接着完成创createrepo(创建软件源的工作), 然后在网站上发布这一软件源。

    1、下载Cloudera Manager安装文件

    Cloudera Manager的可以从如下网址获得:

    http://archive.cloudera.com/cm4/installer/

    这里选择Cloudera Manager 最新版4.6.0.1

    http://archive.cloudera.com/cm4/installer/latest/cloudera-manager-installer.bin

    2、下载相关的CM安装所需要的RPM包

    下载网址为:

    http://archive.cloudera.com/cm4/redhat/6/x86_64/cm/4/RPMS/x86_64/

    下载全部的7个rmp包,如下图所示:

     3、创建软件源

    将下载好的rpm文件拷贝到制定目录,如:/home/admin/RPMS中

    复制代码
    [root@lemon RPMS]# ls
    cloudera-manager-agent-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-daemons-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-parcel-4.5.2-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-server-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-server-db-4.5.2-1.cm452.p0.327.x86_64.rpm
    enterprise-debuginfo-4.5.2-1.cm452.p0.327.x86_64.rpm
    jdk-6u31-linux-amd64.rpm
    复制代码

    创建软件源的主机没有安装createrepo,可以通过shell命令yum install createrepo安装。
    当在包含文件的目录下运行如下创建命令:

    [root@lemon RPMS]# createrepo .

    程序也会创建一个repodata目录,该目录包含一些描述软件源的xml文件。如下所示:

    复制代码
    [root@lemon RPMS]# createrepo .
    Spawning worker 0 with 7 pkgs
    Workers Finished
    Gathering worker results
    
    Saving Primary metadata
    Saving file lists metadata
    Saving other metadata
    Generating sqlite DBs
    Sqlite DBs complete
    [root@lemon RPMS]# ls
    cloudera-manager-agent-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-daemons-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-parcel-4.5.2-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-server-4.5.2-1.cm452.p0.327.x86_64.rpm
    cloudera-manager-server-db-4.5.2-1.cm452.p0.327.x86_64.rpm
    enterprise-debuginfo-4.5.2-1.cm452.p0.327.x86_64.rpm
    jdk-6u31-linux-amd64.rpm
    repodata
    [root@lemon RPMS]# cd repodata/
    [root@lemon repodata]# lsother.xml.gz
    other.sqlite.bz2
    filelists.sqlite.bz2
    primary.xml.gz
    filelists.xml.gz
    primary.sqlite.bz2
    repomd.xml
    复制代码

    此命令之后,RPM包就会加入到本地的软件源中。


    4、安装Apache httpd web服务器

    如果你已经安装了一个web服务器,可以略过此步,如果未安装可以通过如下shell命令安装

    [root@lemon ~]$ yum install httpd

    安装完毕后,启动httpd服务

    [root@lemon ~]$ service httpd start

    5、发布软件源文件

    将文件复制/移动到WEB服务器的根目录下,Linux下面默认是/var/www/html目录,

    [root@lemon ~]$ mv /home/admin/RPMS /var/www/html 
    [root@lemon ~]$ chmod -R ugo+rx /var/www/html/RPMS

    并更改文件权限,使用户、同组、其他组都可以读/执行文件。
    访问http://<hostname>:80/RPMS测试文件首页是否正常显示各文件的索引,通常要关闭selinux(重启生效),该yum软件源才能访问。

    如果不能访问,出现403错误(在实体机上常见),即you don't have permission to access / on this server(Apache Server权限访问问题),则需要在/etc/httpd/httpd.conf中添加如下配置:

    复制代码
    <Directory "/var/www/icons">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>
    
    Alias /CDH4-RPMS/ "/var/www/html/CDH4-RPMS/"
    <Directory "/var/wwww/html/CDH4-RPMS">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride None
     Order allow,deny
      Allow from all
    </Directory>
    
    Alias /CM4-RPMS/ "/var/www/html/CM4-RPMS/"
    <Directory "/var/www/html/CM4-RPMS">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride None
     Order allow,deny
      Allow from all
    </Directory>
    
    Alias /IMPALA-RPMS/ "/var/www/html/IMPALA-RPMS/"
    <Directory "/var/www/html/IMPALA-RPMS">
     Options Indexes MultiViews FollowSymLinks
     AllowOverride None
     Order allow,deny
      Allow from all
    </Directory>
    复制代码

    6、更改客户端配置,使其能够找到该软件源

    在客户端新建如下格式的文件,内容如下所示:

    [myrepo] 
    name=myrepo 
    baseurl=http://hostname/RPMS 
    enabled=1 
    gpgcheck=0 

    主机名是刚才所建立的软件源的主机名。将文件命名为myrepo.repo,并将文件放到/etc/yum.repos.d目录下,即最终结果为/etc/yum.repos.d/myrepo.repo

    这里的客户端指的是使用本地源的主机,(即待安装的不能联网的哪些主机)。

    注意:/etc/yum.repos.d目录下仅仅保留自己创建的本地库,否则其他的库因为不能联网,会报错的,使得安装退出。本例中,仅仅保留myrepo.repo。

    在CM的集群配置页面,设定好本地源后,会有相应的解析,找到本地的源。其中cloudera-manager.repo

    cloudera-cdh4.repo、cloudera-impala.repo解析后新建的,原来自己配的源的名字分别是cm4repo.repo、cdh4repo.repo、impalarepo.repo(实际应用中发现,最好将名字命名为cloudera-manager.repo、cloudera-cdh4.repo、cloudera-impala.repo, 否则会可能出现无法解析错误,即cloudera-manager-installer-bin还是会向cloudera的官网去找)。

    解析后的内容如下:

    复制代码
    [root@lemon yum.repos.d]# cat cloudera-cdh4.repo
    [cloudera-cdh4]
    name = Cloudera CDH, Version (Custom)
    baseurl = http://192.168.2.171/CDH4-RPMS
    gpgcheck = 0
    
    [root@lemon yum.repos.d]# cat cloudera-impala.repo
    [cloudera-impala]
    name = Impala, Version (Custom)
    baseurl = http://192.168.2.171/impala
    gpgcheck = 0
    
    [root@lemon yum.repos.d]# cat cloudera-manager.repo
    [cloudera-manager]
    name = Cloudera Manager, Version 4.6.0
    baseurl = http://192.168.2.171/RPMS
    gpgcheck = 0
    复制代码

    安装的时候也可能会出现如下错误:

    复制代码
    Resolving Dependencies
    --> Running transaction check
    ---> Package cloudera-manager-server-db.x86_64 0:4.6.0-1.cm460.p0.140 will be installed
    --> Processing Dependency: postgresql-server >= 8.0 for package: cloudera-manager-server-db-4.6.0-1.cm460.p0.140.x86_64
    --> Finished Dependency Resolution
    Error: Package: cloudera-manager-server-db-4.6.0-1.cm460.p0.140.x86_64 (cm4repo)
               Requires: postgresql-server >= 8.0
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest
    复制代码

    所以,这个时候要安装postgresql-server8.4 或者是9.0(要求8.0及其以上),这个安装比较麻烦,需要解决各种依赖库。

    postgresql说明:

    postgresql包含许多不同的包,包括第三方类库,通常安装最重要的包即可(能满足大部分应用需求)。这些包如下:

    • postgresql - 客户端类库及二进制文件
    • postgresql-server - 核心的数据库服务器
    • postgresql-contrib - 附加的供应组件
    • postgresql-devel - 用户C语言开发的类库和头文件
    • pgadmin3 - 数据库图像化管理工具第三版

    9.0版本的rpm包具体下载地址为:

    http://yum.postgresql.org/9.0/redhat/rhel-6-x86_64/repoview/

    备注:研究发现缺少包这些问题是由虚拟机造成的,虚拟机安装的时候 是默认安装,省去了里面很大一部分的包,比如虚拟机安装的时候不带jdk、postgresql数据库、mysql数据库,而这些都是在实体机安装的时候 所没有的问题,所以实践很重要!在实体机下面缺少postgresql数据库所造成的问题根本就不存在!

    7、使用本地类库安装CM

    CM安装必须通过package方式,而CDH、Impala可以通过package、parcel方式安装。

    安装程序默认从网络下载程序包安装,如果你已经配置好了本地软件源,并将本机(客户端)做了识别配置,

    只需要在安装的时候添加参数(--skip_repo_package=1),shell命令如下:

    $ sudo ./cloudera-manager-installer.bin --skip_repo_package=1

    详细的安装步骤及过程,详见Cloudera Manager and CDH安装及配置

     备注:CM包下载地址:http://archive.cloudera.com/cm4/

        CDH包下载地址:http://archive.cloudera.com/cdh4/

        IMPALA包下载地址:http://archive.cloudera.com/impala/

    另外下载时候要注意,如果X86_64同级目录还有noarch目录,且里面也有文件的时候也要一并下载,不然使用本地软件源的时候提示部分文件找不到。

  • 相关阅读:
    H5项目开发分享——用Canvas合成文字
    《JavaScript设计模式 张》整理
    Linux常用指令指南,终端装逼利器
    飞起来的正则表达式
    JavaScript特性(attribute)、属性(property)和样式(style)
    使用 Nginx 提升网站访问速度
    centos 邮件服务 腾讯企业邮箱(免费) 使用iRedmail 需要有公网的centos主机 发邮件协议:smtp 端口25 收邮件协议:pop3 端口110 iredmail安装配置 使用邮箱系统 第三十一节课
    用nginx的反向代理机制解决前端跨域问题在nginx上部署web静态页面
    mysql字符集调整总结
    因为smb和nfs挂掉导致客户端开机启动不了
  • 原文地址:https://www.cnblogs.com/ruiy/p/CMServer.html
Copyright © 2011-2022 走看看