Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)「建议收藏」

Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)「建议收藏」前提条件:系统是centos6安装之前1.安装jdkcdh5对应的jdk是oracle-jdk1.7.0_25,注意是oracle-jdk,千万别yuminstalljdk就完事了,因为那样装的是openjdk到这边http://www.oracle.com/technetwork/java/javase/downloads/java-archiv

大家好,又见面了,我是你们的朋友全栈君。

原帖地址:http://blog.csdn.net/nsrainbow/article/details/36629339

我们这个教程是在 centos  上安装cdh的教程,而且使用的是yum方式,不建议使用界面化方式,因为用过linux的都知道,命令行出错更少,其实更轻松更靠谱。

安装之前

1. 安装jdk

cdh5 对应的jdk 是 oracle-jdk 1.7.0_25 ,注意是 oracle-jdk ,千万别 yum install jdk 就完事了,因为那样装的是 openjdk

到这边 http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u25-oth-JPR 搞个jdk

没用户的自己注册一个

下来之后名字是一堆乱码,自己用mv改个名字

$ sudo su -
$ mv jdk-7u25-linux-x64.rpm\?AuthParam\=1404198323_f70f74ddcd70928c1bea4ac29f5c4e42 jdk.rpm
$ rpm -ivh jdk.rpm
$ vim /etc/profile

在最后加上

export JAVA_HOME=/usr/java/jdk1.7.0_25
export PATH=$JAVA_HOME/bin:$PATH

保存后运行

$ source /etc/profile
$ echo $JAVA_HOME
/usr/java/jdk1.7.0_25

2. 配置yum源(不建议)

该种方式配置最快,但是对于长期要使用或者学习hadoop的人来说不建议采用这种方式,详情见下一种方式
$ vim /etc/yum.repos.d/cloudera-cdh5.repo

把下面这段粘贴进去

[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat	or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/
gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
enabled=1    
gpgcheck = 1

然后保存

3. 构建自己的yum源(强烈建议)

强烈建议采用这种方式,因为你学习和使用hadoop的过程是漫长的,在这个过程中cloudera的包有可能有升级了几个版本,那么你早先时候装的组件跟你后来想装的组件之间的版本有可能不一样,有些组件会检查CDH版本的统一性的,如果不通过就装不上了,或者运行起来有问题。所以为了保证整个cdh内部组件的版本一致性,最好使用这种方式安装

3.1 下载rpm文件

安装rpm文件
yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm -y 

3.2 安装apache

安装的过程我就不说了,这种教程网上一堆

3.3 安装yum-utils

yum install yum-utils createrepo -y

3.4 用yum-utils同步整个yum源

随便切换到一个目录,比如 home 目录把 但是确保你所在的目录有至少3G空间,然后执行

$ cd ~
$ reposync -r cloudera-cdh5

接下来可能是漫长的等待,取决于你的网络速度

这个命令执行完后会把整个cdh5的库(大概118个包)下载到这个目录下,大概2.3G

你会看到有一个叫 cloudera-cdh5 的文件夹生成,进入后有一个 RPMS 文件夹,里面有 noarch 和 x86_64 文件夹

[root@localhost ~]# cd cloudera-cdh5
[root@localhost cloudera-cdh5]# ll
total 4
drwxr-xr-x. 4 root root 4096 Dec 18 07:55 RPMS
[root@localhost cloudera-cdh5]# cd RPMS
[root@localhost RPMS]# ll
total 16
drwxr-xr-x. 2 root root  4096 Dec 18 16:07 noarch
drwxr-xr-x. 2 root root 12288 Dec 18 16:07 x86_64


快速下载诀窍:这边有一个诀窍,你开始执行 reposync 之后你会发现在执行这个命令的根目录会自动生成  cloudera-cdh5/noarch 目录,并开始下载包。其实我们可以直接用浏览器打开  http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/RPMS 你会看到有 noarch 和 x86_64 这两个文件夹,进入这两个文件夹,用迅雷把这些包全部下载下来,然后扔到centos的 cloudera-cdh5 目录下,再执行  reposync 命令,然后这些包会被一一检查,并被认为已经下载好了,并跳过。

我用的是火狐的Flashgot插件的 一键下载全部链接方式。

在 RPMS/x86_64 里面建一个文件夹 cdh  在这个文件夹里面建一个文本文件叫 RPM-GPG-KEY-cloudera
访问 http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera  把内容拷贝进去

3.5 部署到apache

把这个cloudera-cdh5文件夹整个移到apache的web目录:/var/www/html 里面去,不过请先保证空间足够大,如果不够大,记得修改apache的web目录的位置,具体怎么改自己百度下

[root@localhost ~]# mv cloudera-cdh5 /var/www/html[root@localhost ~]# cd /var/www/html[root@localhost html]# lltotal 4drwxr-xr-x. 3 root root 4096 Dec 18 07:49 cloudera-cdh5

用vim打开 /etc/httpd/conf/httpd.conf 查找到这句话

<Directory "/var/www/html">

这个节点里面的 Options 后面的文字改成 MultiViews

Options MultiViews

然后重启apache

service httpd restart

打开自己的浏览器试试看访问这个地址

http://192.168.199.126/cloudera-cdh5/RPMS/noarch/whirr-0.9.0+cdh5.2.1+12-1.cdh5.2.1.p0.6.el6.noarch.rpm

ip改成你自己的机器的ip,如果浏览器自动开始下载这个文件的话,证明调通了

3.6 构建repo库

cd 到 /var/www/html/cloudera-cdh5 然后执行 createrepo . 进行构建

[root@localhost ~]# cd /var/www/html/cloudera-cdh5/
[root@localhost cloudera-cdh5]# createrepo .

3.7 修改yum源地址

分别把两台机器的/etc/yum.repos.d/cloudera-cdh5.repo 里面的 baseurl 修改为这台机器的地址。像我就修改成这样

[cloudera-cdh5]
# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64
name=Cloudera's Distribution for Hadoop, Version 5
baseurl=http://192.168.199.126/cloudera-cdh5/
gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
enabled=1
gpgcheck = 1

注意:采用这种方式后,安装hadoop都将非常的快,但是如果有时候不能正常安装,那么你还是可以启用远程地址,建议把以下两句话用注解方式保存在这个文件里面,当你觉得可能本地库有问题,想切换为远程库的时候可以方便的切换,这个文件就变成这样

[cloudera-cdh5]# Packages for Cloudera's Distribution for Hadoop, Version 5, on RedHat or CentOS 6 x86_64name=Cloudera's Distribution for Hadoop, Version 5baseurl=http://192.168.199.126/cloudera-cdh5/gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera#baseurl=http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/5/#gpgkey = http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-clouderaenabled=1gpgcheck = 1

当你要切换远程库的会后把上面两行 baseurl 和 gpgkey 注释起来,下面的把注释去掉,保存退出就行,yum会立即生效不需要做什么额外的操作。


注意:如果你之前用过远程源的模式安装过hadoop,那么切换成本地源之后要删除掉yum的缓存,否则会出现要安装的组件需要的版本号比你本地的源还新,造成找不到安装文件的问题,清理方式是把 /var/cache/yum/x86_64/6/cloudera-cdh5 这个文件夹删了

0. 选择安装模式

有两种安装模式 HA 和 非HA

其实MapReduce也有两种安装模式 1.0(MRv1) 和 2.0(YARN) 国外已经主要推广 2.0了,不过国内的很多教程是按照1.0来写的,所以看教程的时候记得分辨一下看是否适合你。不过我相信国内很快也会跟上的。我推荐使用2.0,我们的教程这边也使用2.0

hadoop有两种安装模式:非HA和HA模式,非ha只是用来实验上手而已,真实环境用ha。但是ha环境配置比较复杂,容易被卡主,所以我们先用非HA模式上手一下,然后玩玩hdfs找找感觉,免得失去信心,然后再安装HA模式,所以我的教程会教你们装两次,第一次是非HA模式,第二次是HA模式,在安装HA模式之前最好换新的虚拟机,防止,之前的安装影响到新的安装

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135298.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长

相关推荐

  • python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄

    python文件句柄_Python 文件操作学习 就是这么简单!-文件句柄一、前言Python对文件的操作是相当简单的。二、文件操作函数的介绍Python通过open函数来打开文件,语法如下open(file,mode=‘r’,buffering=None,encoding=None,errors=None,newline=None,closefd=True)可以看到,除了第一个file参数是必须的,其它都是可选的。1、file:操作的文件2、mode:操…

    2022年10月18日
  • path是什么意思啊_globalmapper转换投影

    path是什么意思啊_globalmapper转换投影投影投影是JMESPath的关键特性之一。它允许您将表达式应用于元素集合。有五种投影:列表投影切片投影对象投影展平投影过滤投影处理投影需要注意的点投影分为两个步骤。左侧(LHS)创建一

    2022年7月31日
  • js Map对象的用法[通俗易懂]

    js Map对象的用法[通俗易懂]第一篇:Map:Map是一组键值对的结构,具有极快的查找速度。举个例子,假设要根据同学的名字查找对应的成绩,如果用Array实现,需要两个Array:varnames=[‘Michael’,’Bob’,’Tracy’];varscores=[95,75,85];给定一个名字,要查找对应的成绩,就先要在names中找到对应的位置,再从scores取出对应…

    2022年9月5日
  • PHP JSON格式的输出和解析[通俗易懂]

    PHP JSON格式的输出和解析[通俗易懂]生成JSON格式<?phpheader(‘content-type:application/json’);$number=array(‘1′,’2′,’3′,’4′,’5′,’6′,’7′,’8′,’9′,’0’);echojson_encode($color);//json_encode对变量进行JSON编码?>JSON格式的解析<?phphead…

    2022年7月12日
  • redis分布式锁的应用场景有哪些_redis setnx 分布式锁

    redis分布式锁的应用场景有哪些_redis setnx 分布式锁“分布式锁”是用来解决分布式应用中“并发冲突”的一种常用手段,实现方式一般有基于zookeeper及基于redis二种。具体到业务场景中,我们要考虑二种情况:一、抢不到锁的请求,允许丢弃(即:忽略)比如:一些不是很重要的场景,比如“监控数据持续上报”,某一篇文章的“已读/未读”标识位更新,对于同一个id,如果并发的请求同时到达,只要有一个请求处理成功,就算成功。用活动图表示如下:二、并发请求,不论哪一条都必须要处理的场景(即:不允许丢数据)比如:一个订单,客户正在前台修改地址,管理员在后台同时修

    2022年9月8日
  • 大数据时代的大数据管理发展,经历了哪几个阶段?

    大数据时代的大数据管理发展,经历了哪几个阶段?近几年,在大数据管理不断发展的过程中,也取得了一定的成绩。但是,大数据管理也经历了一个漫长的过程,主要经历的人工、文件、数据库等管理阶段。同时,随着大数据时代的大数据不断增加,所管理的范围和环境也在不断的变化。并且,在大数据管理不断发展的过程中,一些管理问题逐渐的暴露出来,为大数据管理的发展带来了新的挑战和机遇,下面就大数据管理的发展历程,管理中存在的不足进行简要的分析和阐述。1.大数据时代的…

    2022年5月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号