一、包管理工具及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
-rw-r--r--. root root Feb : CentOS-Base.repo
-rw-r--r--. root root Feb : CentOS-Debuginfo.repo
-rw-r--r--. root root Feb : CentOS-Media.repo
-rw-r--r--. root root Feb : CentOS-Vault.repo
drwxr-xr-x root root Jun : cloudera-cdh4
-rw-r--r-- root root Jun : 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- - Base ,
cloudera-cdh4 Cloudera's Distribution for Hadoop, Version 4 97
extras CentOS- - Extras
updates CentOS- - Updates
repolist: ,

二、创建自己的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.-.cm452.p0..x86_64.rpm
cloudera-manager-daemons-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-parcel-4.5.-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-server-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-server-db-4.5.-.cm452.p0..x86_64.rpm
enterprise-debuginfo-4.5.-.cm452.p0..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 with 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.-.cm452.p0..x86_64.rpm
cloudera-manager-daemons-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-parcel-4.5.-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-server-4.5.-.cm452.p0..x86_64.rpm
cloudera-manager-server-db-4.5.-.cm452.p0..x86_64.rpm
enterprise-debuginfo-4.5.-.cm452.p0..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=
gpgcheck=

主机名是刚才所建立的软件源的主机名。将文件命名为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 = [root@lemon yum.repos.d]# cat cloudera-impala.repo
[cloudera-impala]
name = Impala, Version (Custom)
baseurl = http://192.168.2.171/impala
gpgcheck = [root@lemon yum.repos.d]# cat cloudera-manager.repo
[cloudera-manager]
name = Cloudera Manager, Version 4.6.
baseurl = http://192.168.2.171/RPMS
gpgcheck =

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

Resolving Dependencies
--> Running transaction check
---> Package cloudera-manager-server-db.x86_64 :4.6.-.cm460.p0. will be installed
--> Processing Dependency: postgresql-server >= 8.0 for package: cloudera-manager-server-db-4.6.-.cm460.p0..x86_64
--> Finished Dependency Resolution
Error: Package: cloudera-manager-server-db-4.6.-.cm460.p0..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=

详细的安装步骤及过程,详见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目录,且里面也有文件的时候也要一并下载,不然使用本地软件源的时候提示部分文件找不到。

创建本地yum软件源,为本地Package安装Cloudera Manager、Cloudera Hadoop及Impala做准备的更多相关文章

  1. RedHat Linux设置yum软件源为本地ISO

    先挂载ISO到某个目录下(如我的:/media/RHEL_6.0 x86_64 Disc 1) # mount –o loop rhel-server-6.4-x86_64-dvd.iso /medi ...

  2. RHEL7中配置本地YUM软件源

     1.创建目录,挂载光盘 [root@localhost ~]# mkdir /mnt/iso [root@localhost ~]# mount /dev/sr0  /mnt/iso mount: ...

  3. HADOOP再进阶:本地Yum软件源安装Cloudera Manager 5

    参考URL: http://blog.csdn.net/yangzhaohui168/article/details/30118175 http://blog.csdn.net/yangzhaohui ...

  4. 为 Virtual Box 中的 CentOS 6.6 配置本地DVD光盘做yum软件源

    因为virtual box 中的centos配置host-only共享win7上网,配置失败,所以只能使用Centos的 DVD 光盘来配置yum软件源.不然就没得完了. 1. 首先要在virtual ...

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

    .下载Cloudera Manager安装文件 Cloudera Manager的可以从如下网址获得: http://archive.cloudera.com/cm4/installer/ 这里选择C ...

  6. CentOS 7 使用 Yum 软件源安装谷歌 Chrome 浏览器

    Google Chrome是一款由 Google 公司开发的网页浏览器,新版的 Chrome 浏览器使用的是 Blink 内核,具有运行速度快,稳定的特性.Chrome 能够运行在 Windows,L ...

  7. 管理员技术(三): 配置静态网络地址、 使用yum软件源 、 升级Linux内核、查找并处理文件、查找并提取文件内容

    一. 配置静态网络地址 目标: 本例要求为虚拟机 server 配置以下静态地址参数: 1> 主机名:server0.example.com    2> IP地址:172.25.0.11  ...

  8. Linux系统下本地yum镜像源环境部署-完整记录

    之前介绍了Linux环境下本地yum源配置方法,不过这个是最简单最基础的配置,在yum安装的时候可能有些软件包不够齐全,下面说下完整yun镜像源系统环境部署记录(yum源更新脚本下载地址:https: ...

  9. linux ubuntu 本地镜像 软件源 制作方法

    1.配置当前软件源,镜像非常大,所以首先要配置一下载速度快的软件源http://fffo.blog.163.com/blog/static/2119130682014322104136601/2.安装 ...

随机推荐

  1. caption,为表格增加标题和摘要

    格式: <table summary="***"> <caption>***</caption> <tr> </tr> ...

  2. Estimating Project Costs

    The Wideman Comparative Glossary of Common Project Management Terms describes estimating cost as, &q ...

  3. asp.net mvc视图中嵌套分部视图

    asp.net mvc中Layout相当于webForm中母版页,分部视图相当于webForm中的用户控件. 下面例子是一个视图如何嵌套分部视图: A是分部视图,B是一般视图(A,B中的代码省略) 我 ...

  4. WPF数据库连接错误:The user is not associated with a trusted SQL Server connection.

    我当初安装sql server的时候选的Window Authentication mode,没选SQL Server Windows Authentication. 后来做WPF时连接数据库时需要一 ...

  5. TortoiseGit 的使用

    日常用法 (1) 创建新库 在文件夹中按右键, 选择Git Create repository here 就可以创建库了. 在出现的窗口中, 不勾选选项, 直接按OK 在目录中就会出现一个名为.git ...

  6. 个人常用iOS第三方库以及XCode插件介绍

    第三方库 CocoaPod CocoaPod并不是iOS上的第三方库 而是大名鼎鼎的第三方库的管理工具 在CocoaPod没有出现之前 第三方库的管理是非常痛苦的 尤其是一些大型的库(比如nimbus ...

  7. Android SnapHelper

    转载请注明出处:http://blog.csdn.net/crazy1235/article/details/53386286 SnapHelper 是 Android Support Library ...

  8. ssh secure shell client

    登陆方式和putty一样

  9. java yum安装的环境变量设置

    如何(怎样)在CentOS 6.X 或 redhat 上使用安装JDK runtime environment (openjdk) ? CentOS 6.X 和 5.X 自带有OpenJDK runt ...

  10. 做SSH练习的时候,JUunit运行遇到报错信息

    提示说是applicationcontext文件中的jdbcUrl信息错误,可是xml文件中的url再三确认是没有错的,不知道怎么回事? 最下面贴上applicationContext.xml中的数据 ...