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模式之前最好换新的虚拟机,防止,之前的安装影响到新的安装

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • synchronousqueue场景_java中SynchronousQueue的核心方法

    synchronousqueue场景_java中SynchronousQueue的核心方法我们之前提过SynchronousQueue入队和出队的两种方法,其实它们都依托transfer方法得以实现。相比较而言,transfer可以同步进行入队和出队的操作,是SynchronousQueue中最重要的核心方法。下面我们就transfer概念、使用场景,以及在代码中增减元素的实例带来全面介绍。1.transfer概念进行匹配交换数据,SynchronousQueue内部使用Transfe…

  • [ Laravel 5.6 文档 ] 安全系列 —— 重置密码

    [ Laravel 5.6 文档 ] 安全系列 —— 重置密码

    2021年10月24日
  • python 正则表达式匹配数字或者小数点_五位小数正则表达式

    python 正则表达式匹配数字或者小数点_五位小数正则表达式在对文本关键信息进行提取的过程中,通常需要使用正则表达式匹配。这篇笔记整理汇总Python中可能用到的与数值相关的正则表达式。正则表达式基础正则表达式是用字符串表示的一种语法,用于描述一种字符串匹配的模式。正则表达式中大多数字符的含义是通用的,比如符号^和$在绝大多数语言的正则表达式中都表示行头和行尾;但也可能在某些语法上存在差异,这需要依据特定语言而定。Python的正则表达式匹…

    2022年10月14日
  • java学生宿舍管理系统代码(java简单宿舍管理系统)

    分为三大类land.java(登陆界面)system.java(系统管理界面)sql.java(数据库操作,包括连接、断开、增删改查等操作)一、登陆界面及代码主要代码:登陆按钮事件publicvoidactionPerformed(ActionEvente){ //TODOAuto-generatedmethodstub if((JButton)e.ge…

  • c语言中cstring头文件不能用,因为cstring头文件里面有一个神器 strstr「建议收藏」

    c语言中cstring头文件不能用,因为cstring头文件里面有一个神器 strstr「建议收藏」Output32GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA3GATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATACCAGATAGATACTAGATA…

  • 有限域运算_有限域GF

    有限域运算_有限域GF  忙了一周,总算把网络编码的Demo搞定了。  回想一下,大部分的时间都花在有限域的运算上了。网上找了几个运算类,没一个像样的,算出来结果也没两个是一样的,汗…主要是三个方面的问题,一是本原多项式P(x),到现在我还是没搞懂这玩意是怎么定出来的,为什么同样是GF(2^8),有人说P(x)=x^8+x^4+x^3+x+1,有人又说是P(x)=x^8+x^4+x^3+x^2+1,而且两种还都可以

发表回复

您的电子邮箱地址不会被公开。

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