cdh5.1.0 yum安装说明

简介: <div class="markdown_views"><p>接触过hadoop的人都知道hadoop的搭建过程非常麻烦,尤其是对于初学者,幸运的是有cloudera这样的公司为我们做了一些发行版,我们可以直接使用apt-get,yum等包管理工具进行安装。 <br>下面我要说得是,在centos6.5 64位下,通过yum安装cdh5.1.0,需要注意的是5.1.0默认是

接触过hadoop的人都知道hadoop的搭建过程非常麻烦,尤其是对于初学者,幸运的是有cloudera这样的公司为我们做了一些发行版,我们可以直接使用apt-get,yum等包管理工具进行安装。
下面我要说得是,在centos6.5 64位下,通过yum安装cdh5.1.0,需要注意的是5.1.0默认是mapred2(也就是yarn模式),我这里安装的是mapred1。也就是传统的hadoop模式。

1.系统要求

先看看cloudera官方说明,最好是按照人家说得版本来,毕竟人家测试过了,没问题呀,你要是非用不支持的版本,注定是一场折腾之路。

这里我重点说下/etc/hosts的配置,在namenode与jobtracker所在的机器上,一定不要有

127.0.0.0 <hostname>

这条记录,并且要把所有子结点的ip与hostname配进去。
否则你会遇到各种错误,下面是一个错误:

2015-02-05 12:35:30,145 INFO org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl: Time to add replicas to map for block pool BP-2009649341-10.6.8.213-1423108250285 on volume /data/dfs/dn/current: 1ms
2015-02-05 12:35:30,145 INFO org.apache.hadoop.hdfs.server.datanode.fsdataset.impl.FsDatasetImpl: Total time to add all replicas to map: 6ms
2015-02-05 12:35:30,148 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool BP-2009649341-10.6.8.213-1423108250285 (Datanode Uuid null) service to /10.6.8.213:8020 beginning handshake with NN
2015-02-05 12:35:33,219 ERROR org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for Block pool BP-2009649341-10.6.8.213-1423108250285 (Datanode Uuid null) service to /10.6.8.213:8020 Datanode denied communication with namenode because hostname cannot be resolved (ip=10.6.3.175, hostname=10.6.3.175): DatanodeRegistration(0.0.0.0, datanodeUuid=177b02e8-6692-4c69-8e4d-d0d14566ce72, infoPort=50075, ipcPort=50020, storageInfo=lv=-55;cid=CID-dcde3b04-134d-42c2-ac61-143ef3869377;nsid=1437835541;c=0)
        at org.apache.hadoop.hdfs.server.blockmanagement.DatanodeManager.registerDatanode(DatanodeManager.java:802)
        at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.registerDatanode(FSNamesystem.java:4314)
        at org.apache.hadoop.hdfs.server.namenode.NameNodeRpcServer.registerDatanode(NameNodeRpcServer.java:980)
        at org.apache.hadoop.hdfs.protocolPB.DatanodeProtocolServerSideTranslatorPB.registerDatanode(DatanodeProtocolServerSideTranslatorPB.java:92)
        at org.apache.hadoop.hdfs.protocol.proto.DatanodeProtocolProtos$DatanodeProtocolService$2.callBlockingMethod(DatanodeProtocolProtos.java:28057)
        at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:585)
        at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:1026)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1986)
        at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1982)
        at java.security.AccessController.doPrivileged(Native Method)
        at javax.security.auth.Subject.doAs(Subject.java:415)
        at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1554)
        at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1980)

这个错误,是在启动namenode后,启动datanode时的错误,从错误信息来看,这时在datanode向namenode注册时的错。

2.配置源

/etc/yum.repo.d中创建一个repo文件,内容为

[cloudera-cdh5]
name=Cloudera's Distribution for Hadoop, Version 5
baseurl= http://archive.cloudera.com/cdh5/redhat/5/x86_64/cdh/5.1.0/
gpgkey = http://archive.cloudera.com/cdh5/redhat/5/x86_64/cdh/RPM-GPG-KEY-cloudera
gpgcheck = 0

配置源后,执行下

yum clean all

3.下载hadoop组件

hadoop2.0把各个模块都给分出来了。hdfs、mapred、yarn、client都是作为独立的模块的,可以单独安装。

yum -y install hadoop-hdfs-namenode
yum -y install hadoop-0.20-mapreduce-jobtracker
yum -y install hadoop-hdfs-datanode
yum -y install hadoop-0.20-mapreduce-tasktracker

大家可以根据机器的角色,安装不同的组件。
在客户端执行hadoop任务时,需要安装

yum install hadoop-client

4. 修改配置文件

通过yum安装,配置文件默认在/etc/hadoop/conf文件夹中。需要修改下面三个配置文件:
core-site.xml

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:8020</value>
</property>

hdfs-site.xml

<property>
    <name>dfs.namenode.name.dir</name>
    <value>file:///data/dfs/nn</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>file:///data/dfs/dn</value>
</property>

mapred-site.xml

<property>  
    <name>mapred.job.tracker</name>  
    <value>master:8021</value>  
</property>  
<property>
    <name>mapred.local.dir</name>
    <value>/data/mapred/local</value>
</property>

通过yum安装,conf文件夹中默认没有hadoop-env.sh这个文件,我们可以从其他地方拷过来,在/usr/lib/hadoop-0.20-mapreduce/example-confs/conf.secure/hadoop-env.sh有个参考配置,我们可以把它拷贝过来,并且开头添加下下面的配置:

export JAVA_HOME=/usr/java/default
export HADOOP_MAPRED_HOME=/usr/lib/hadoop-0.20-mapreduce

/usr/java/default是我机器上java的安装目录,你们可根据实际情况进行修改。

5.创建hdfs、mapred所需文件夹

在上面的配置中,hdfs-site.xml中制定了namenode与datanode的存放数据的目录,下面进行创建

mkdir -p /data/dfs/nn /data/dfs/dn 
chown hdfs:hdfs /data/dfs/nn /data/dfs/dn

mapred-site.xml中指定了执行任务时临时数据的存放目录,下面进行创建

mkdir -p /data/mapred/local
chown mapred:mapred /data/mapred/local

这里需要说明的是,在hadoop2.0中,不再推荐用一个hadoop账户来启动所有进程,推荐使用hdfs用户操作hdfs相关进程,mapred用户操作mapred相关进程,yarn用户操作yarn相关进程,在我们用yum安装各个组件时,相应的用户会替我们自动创建。

6.启动进程

首先时在主结点启动namenode

sudo -u hdfs hdfs namenode -format
service hadoop-hdfs-namenode start

之后,在子结点启动datanode

service hadoop-hdfs-datanode start

这样,hdfs就能工作了。下面创建mapred在hdfs上所需的目录

sudo -u hdfs hdfs dfs -mkdir /tmp
sudo -u hdfs hdfs dfs -chmod -R 1777 /tmp

这时,就可以在主结点上启动jobtracker了

service hadoop-0.20-mapreduce-jobtracker start

启动jobtracker后,会在hdfs的tmp下生成如下结构的目录:

最后,在子结点上启动tasktracker就可以了。

service hadoop-0.20-mapreduce-tasktracker start
目录
相关文章
|
1月前
|
存储 缓存 Linux
【Linux】另一种基于rpm安装yum的方式
通过本文的方法,您可以在离线环境中使用RPM包安装YUM并进行必要的配置。这种方法适用于无法直接访问互联网的服务器或需要严格控制软件源的环境。通过配置本地YUM仓库,确保了软件包的安装和更新可以顺利进行。希望本文能够为您在特定环境中部署YUM提供实用的指导。
203 0
|
6月前
yum 可以安装rpm包
【6月更文挑战第18天】yum 可以安装rpm包
713 0
|
3月前
|
关系型数据库 MySQL Linux
Linux 安装 mysql【使用yum源进行安装】
这篇文章介绍了在Linux系统中使用yum源安装MySQL数据库的步骤,包括配置yum源、安装MySQL服务、启动服务以及修改root用户的默认密码。
Linux 安装 mysql【使用yum源进行安装】
|
2月前
|
Unix Linux Go
Linux 使用Yum安装Go和配置环境
Linux 使用Yum安装Go和配置环境
|
4月前
|
关系型数据库 MySQL Linux
在CentOS上使用yum安装与使用MySQL
在CentOS操作系统上使用yum包管理器安装和配置MySQL数据库的详细步骤,包括下载MySQL的yum源配置、安装MySQL服务、启动和停止服务、设置开机自启动、获取临时密码、修改root用户密码、授权用户以及处理相关问题。同时,文章还包含了一些操作的截图,帮助用户更直观地理解安装和配置过程。
1337 0
在CentOS上使用yum安装与使用MySQL
|
4月前
|
Oracle Java 关系型数据库
yum安装指定版本的openJDK
yum安装指定版本的openJDK
|
4月前
|
Web App开发 缓存 Ubuntu
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
246 11
|
4月前
|
网络协议 Linux
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)
|
5月前
|
SQL Python
你需要在你的系统上安装`sqlmap`。这通常可以通过下载其源代码并编译,或者使用包管理器(如`apt`、`yum`或`pip`,但请注意,`pip`通常不直接提供`sqlmap`)来完成。
你需要在你的系统上安装`sqlmap`。这通常可以通过下载其源代码并编译,或者使用包管理器(如`apt`、`yum`或`pip`,但请注意,`pip`通常不直接提供`sqlmap`)来完成。
|
4月前
|
Linux Docker 容器
在CentOS操作系统上使用yum安装/使用/卸载Docker容器引擎
在CentOS操作系统上安装、配置、使用和卸载Docker容器引擎的详细步骤,包括配置Docker镜像加速的方法。
515 0