阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Hadoop2.2.0安装配置手册!完全分布式Hadoop集群搭建过程

512次阅读
没有评论

共计 19740 个字符,预计需要花费 50 分钟才能阅读完成。

历时一周多,终于搭建好最新版本 Hadoop2.2 集群,期间遇到各种问题,作为菜鸟真心被各种折磨,不过当 wordcount 给出结果的那一刻,兴奋的不得了~~(文当中若有错误之处或疑问欢迎指正,互相学习)

另外:欢迎配置过程中遇到问题的朋友留言,相互讨论,并且能够把解决方法共享给大家。下面评论中有几个朋友遇到的问题和解决方法,欢迎参考!

 

第一部分 Hadoop 2.2 下载

Hadoop 我们从 Apache 官方网站直接下载最新版本 Hadoop2.2。官方目前是提供了 linux32 位系统可执行文件,所以如果需要在 64 位系统上部署则需要单独下载 src 源码自行编译(10 楼评论中提供了一个解决方法链接)。

下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/

如下图所示,下载红色标记部分即可。如果要自行编译则下载 src.tar.gz.

 

 Hadoop2.2.0 安装配置手册!完全分布式 Hadoop 集群搭建过程

 

第二部分 集群环境搭建

1、这里我们搭建一个由三台机器组成的集群:

192.168.0.1 hduser/passwd cloud001 nn/snn/rm CentOS6 64bit

192.168.0.2 hduser/passwd cloud002 dn/nm Ubuntu13.04 32bit

192.168.0.3 hduser/passwd cloud003 dn/nm Ubuntu13.0432bit

1.1 上面各列分别为 IP、user/passwd、hostname、在 cluster 中充当的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager)

1.2 Hostname 可以在 /etc/hostname 中修改(ubuntu 是在这个路径下,RedHat 稍有不同)

1.3 这里我们为每台机器新建了一个账户 hduser. 这里需要给每个账户分配 sudo 的权限。(切换到 root 账户,修改 /etc/sudoers 文件,增加:hduser ALL=(ALL) ALL)

2、修改 /etc/hosts 文件,增加三台机器的 ip 和 hostname 的映射关系

192.168.0.1 cloud001

192.168.0.2 cloud002

192.168.0.3 cloud003

3、打通 cloud001 到 cloud002、cloud003 的 SSH 无密码登陆

3.1 安装 ssh

一般系统是默认安装了 ssh 命令的。如果没有,或者版本比较老,则可以重新安装:

sodu apt-get install ssh

3.2 设置 local 无密码登陆

安装完成后会在~ 目录(当前用户主目录,即这里的 /home/hduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。

具体步骤如下:

1、进入.ssh 文件夹

2、ssh-keygen -t rsa 之后一路回 车(产生秘钥)

3、把 id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

4、重启 SSH 服 务命令使其生效 :service sshd restart(这里 RedHat 下为 sshdUbuntu 下为 ssh)

此时已经可以进行 ssh localhost 的无密码登陆

【注意】:以上操作在每台机器上面都要进行。

3.3 设置远程无密码登陆

这里只有 cloud001 是 master,如果有多个 namenode,或者 rm 的话则需要打通所有 master 都其他剩余节点的免密码登陆。(将 001 的 authorized_keys 追加到 002 和 003 的 authorized_keys)

进入 001 的.ssh 目录

scp authorized_keys hduser@cloud002:~/.ssh/ authorized_keys_from_cloud001

进入 002 的.ssh 目录

cat authorized_keys_from_cloud001>> authorized_keys

至此,可以在 001 上面 sshhduser@cloud002 进行无密码登陆了。003 的操作相同。

 

4、安装 jdk(建议每台机器的 Java_HOME 路径信息相同)

 

注意:这里选择下载 jdk 并自行安装,而不是通过源直接安装(apt-get install)

 

4.1、下载 jkd(http://www.Oracle.com/technetwork/java/javase/downloads/index.html

 

4.1.1 对于 32 位的系统可以下载以下两个 Linux x86 版本(uname -a 查看系统版本)

 

4.1.2 64 位系统下载 Linux x64 版本(即 x64.rpm 和 x64.tar.gz)

 

 

Hadoop2.2.0 安装配置手册!完全分布式 Hadoop 集群搭建过程 

 

 

4.2、安装 jdk(这里以.tar.gz 版本,32 位系统为例)

 

安装方法参考 http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

 

4.2.1 选择要安装 java 的位置,如 /usr/ 目录下,新建文件夹 java(mkdirjava)

 

4.2.2 将文件 jdk-7u40-linux-i586.tar.gz 移动到 /usr/java

 

4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz

 

4.2.4 删除 jdk-7u40-linux-i586.tar.gz(为了节省空间)

 

至此,jkd 安装完毕,下面配置环境变量

 

4.3、打开 /etc/profile(vim /etc/profile)

 

在最后面添加如下内容:

 

JAVA_HOME=/usr/java/jdk1.7.0_40(这里的版本号 1.7.40 要根据具体下载情况修改)

 

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

 

PATH=$JAVA_HOME/bin:$PATH

 

export JAVA_HOMECLASSPATH PATH

 

4.4、source /etc/profile

 

4.5、验证是否安装成功:java–version

 

【注意】每台机器执行相同操作,最后将 java 安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)

 

5、关闭每台机器的防火墙

 

RedHat:

 

/etc/init.d/iptables stop 关闭防火墙。

 

chkconfig iptables off 关闭开机启动。

 

Ubuntu:

 

ufw disable (重启生效)

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-11/93077p2.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

第三部分 Hadoop 2.2 安装过程

由于 hadoop 集群中每个机器上面的配置基本相同,所以我们先在 namenode 上面进行配置部署,然后再 复制到其他节点。所以这里的安装过程相当于在每台机器上面都要执行。但需要注意的是集群中 64 位系统和 32 位系统的问题。

1、解压文件

将第一部分中下载的 hadoop-2.2.tar.gz 解压到 /home/hduser 路径下(或者将在 64 位机器上编译的结果存放在此路径下)。然后为了节省空间,可删除此压缩文件,或将其存放于其他地方进行备份。

注意:每台机器的安装路径要相同!!

2、hadoop 配置过程

配置之前,需要在 cloud001 本地文件系统创建以下文件夹:

~/dfs/name

~/dfs/data

~/temp

这里要涉及到的配置文件有 7 个:

~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh

~/hadoop-2.2.0/etc/hadoop/yarn-env.sh

~/hadoop-2.2.0/etc/hadoop/slaves

~/hadoop-2.2.0/etc/hadoop/core-site.xml

~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

以上 个别 文件默认不存在的,可以复制相应的 template 文件获得。

配置文件 1:hadoop-env.sh

修改 Java_HOME 值(export JAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件 2:yarn-env.sh

修改 JAVA_HOME 值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)

配置文件 3:slaves(这个文件里面保存所有 slave 节点)

写入以下内容:

cloud002

cloud003

配置文件 4:core-site.xml

<configuration>

<property>

<name>fs.defaultFS</name>

<value>hdfs://cloud001:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>131072</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>file:/home/hduser/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>hadoop.proxyuser.hduser.hosts</name>

<value>*</value>

</property>

<property>

<name>hadoop.proxyuser.hduser.groups</name>

<value>*</value>

</property>

</configuration>

配置文件 5:hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>cloud001:9001</value>

</property>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hduser/dfs/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hduser/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

配置文件 6:mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>cloud001:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>cloud001:19888</value>

</property>

</configuration>

配置文件 7:yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>cloud001:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value> cloud001:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value> cloud001:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value> cloud001:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value> cloud001:8088</value>

</property>

</configuration>

3、复制到其他节点

这里可以写一个 shell 脚本进行操作(有大量节点时比较方便)

cp2slave.sh

#!/bin/bash

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud002:~/

scp–r /home/hduser/hadoop-2.2.0 hduser@cloud003:~/

注意:由于我们集群里面 001 是 64bit 而 002 和 003 是 32bit 的,所以不能直接复制,而采用单独安装 hadoop,复制替换相关配置文件:

Cp2slave2.sh

#!/bin/bash

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud002:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/slaveshduser@cloud003:~/hadoop-2.2.0/etc/hadoop/slaves

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/core-site.xml hduser@cloud003:~/hadoop-2.2.0/etc/hadoop/core-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/hdfs-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/mapred-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/mapred-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud002:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

scp /home/hduser/hadoop-2.2.0/etc/hadoop/yarn-site.xmlhduser@cloud003:~/hadoop-2.2.0/etc/hadoop/yarn-site.xml

4、启动验证

4.1 启动 hadoop

进入安装目录:cd ~/hadoop-2.2.0/

格式化 namenode:./bin/hdfs namenode –format

启动 hdfs: ./sbin/start-dfs.sh

此时在 001 上面运行的进程有:namenode secondarynamenode

002 和 003 上面运行的进程有:datanode

启动 yarn: ./sbin/start-yarn.sh

此时在 001 上面运行的进程有:namenode secondarynamenoderesourcemanager

002 和 003 上面运行的进程有:datanode nodemanaget

查看集群状态:./bin/hdfs dfsadmin –report

 

查看文件块组成:./bin/hdfsfsck / -files -blocks

查看 HDFS: http://16.187.94.161:50070

查看 RM: http:// 16.187.94.161:8088

4.2 运行示例程序:

先在 hdfs 上创建一个文件夹

./bin/hdfs dfs –mkdir /input

./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarrandomwriter input

 

PS:dataNode 无法启动是配置过程中最常见的问题,主要原因是多次 format namenode 造成 namenode 和 datanode 的 clusterID 不一致。建议查看 datanode 上面的 log 信息。解决办法: 修改每一个 datanode 上面的 CID(位于 dfs/data/current/VERSION 文件夹中)使两者一致。还有一种解决方法见下面 6 楼评论!http://www.linuxidc.com/Linux/2013-11/93077p3.htm

更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

历时一周多,终于搭建好最新版本 Hadoop2.2 集群,期间遇到各种问题,作为菜鸟真心被各种折磨,不过当 wordcount 给出结果的那一刻,兴奋的不得了~~(文当中若有错误之处或疑问欢迎指正,互相学习)

另外:欢迎配置过程中遇到问题的朋友留言,相互讨论,并且能够把解决方法共享给大家。下面评论中有几个朋友遇到的问题和解决方法,欢迎参考!

 

第一部分 Hadoop 2.2 下载

Hadoop 我们从 Apache 官方网站直接下载最新版本 Hadoop2.2。官方目前是提供了 linux32 位系统可执行文件,所以如果需要在 64 位系统上部署则需要单独下载 src 源码自行编译(10 楼评论中提供了一个解决方法链接)。

下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/

如下图所示,下载红色标记部分即可。如果要自行编译则下载 src.tar.gz.

 

 Hadoop2.2.0 安装配置手册!完全分布式 Hadoop 集群搭建过程

 

第二部分 集群环境搭建

1、这里我们搭建一个由三台机器组成的集群:

192.168.0.1 hduser/passwd cloud001 nn/snn/rm CentOS6 64bit

192.168.0.2 hduser/passwd cloud002 dn/nm Ubuntu13.04 32bit

192.168.0.3 hduser/passwd cloud003 dn/nm Ubuntu13.0432bit

1.1 上面各列分别为 IP、user/passwd、hostname、在 cluster 中充当的角色(namenode, secondary namenode, datanode , resourcemanager, nodemanager)

1.2 Hostname 可以在 /etc/hostname 中修改(ubuntu 是在这个路径下,RedHat 稍有不同)

1.3 这里我们为每台机器新建了一个账户 hduser. 这里需要给每个账户分配 sudo 的权限。(切换到 root 账户,修改 /etc/sudoers 文件,增加:hduser ALL=(ALL) ALL)

2、修改 /etc/hosts 文件,增加三台机器的 ip 和 hostname 的映射关系

192.168.0.1 cloud001

192.168.0.2 cloud002

192.168.0.3 cloud003

3、打通 cloud001 到 cloud002、cloud003 的 SSH 无密码登陆

3.1 安装 ssh

一般系统是默认安装了 ssh 命令的。如果没有,或者版本比较老,则可以重新安装:

sodu apt-get install ssh

3.2 设置 local 无密码登陆

安装完成后会在~ 目录(当前用户主目录,即这里的 /home/hduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。

具体步骤如下:

1、进入.ssh 文件夹

2、ssh-keygen -t rsa 之后一路回 车(产生秘钥)

3、把 id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

4、重启 SSH 服 务命令使其生效 :service sshd restart(这里 RedHat 下为 sshdUbuntu 下为 ssh)

此时已经可以进行 ssh localhost 的无密码登陆

【注意】:以上操作在每台机器上面都要进行。

3.3 设置远程无密码登陆

这里只有 cloud001 是 master,如果有多个 namenode,或者 rm 的话则需要打通所有 master 都其他剩余节点的免密码登陆。(将 001 的 authorized_keys 追加到 002 和 003 的 authorized_keys)

进入 001 的.ssh 目录

scp authorized_keys hduser@cloud002:~/.ssh/ authorized_keys_from_cloud001

进入 002 的.ssh 目录

cat authorized_keys_from_cloud001>> authorized_keys

至此,可以在 001 上面 sshhduser@cloud002 进行无密码登陆了。003 的操作相同。

 

4、安装 jdk(建议每台机器的 Java_HOME 路径信息相同)

 

注意:这里选择下载 jdk 并自行安装,而不是通过源直接安装(apt-get install)

 

4.1、下载 jkd(http://www.Oracle.com/technetwork/java/javase/downloads/index.html

 

4.1.1 对于 32 位的系统可以下载以下两个 Linux x86 版本(uname -a 查看系统版本)

 

4.1.2 64 位系统下载 Linux x64 版本(即 x64.rpm 和 x64.tar.gz)

 

 

Hadoop2.2.0 安装配置手册!完全分布式 Hadoop 集群搭建过程 

 

 

4.2、安装 jdk(这里以.tar.gz 版本,32 位系统为例)

 

安装方法参考 http://docs.oracle.com/javase/7/docs/webnotes/install/linux/linux-jdk.html

 

4.2.1 选择要安装 java 的位置,如 /usr/ 目录下,新建文件夹 java(mkdirjava)

 

4.2.2 将文件 jdk-7u40-linux-i586.tar.gz 移动到 /usr/java

 

4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz

 

4.2.4 删除 jdk-7u40-linux-i586.tar.gz(为了节省空间)

 

至此,jkd 安装完毕,下面配置环境变量

 

4.3、打开 /etc/profile(vim /etc/profile)

 

在最后面添加如下内容:

 

JAVA_HOME=/usr/java/jdk1.7.0_40(这里的版本号 1.7.40 要根据具体下载情况修改)

 

CLASSPATH=.:$JAVA_HOME/lib.tools.jar

 

PATH=$JAVA_HOME/bin:$PATH

 

export JAVA_HOMECLASSPATH PATH

 

4.4、source /etc/profile

 

4.5、验证是否安装成功:java–version

 

【注意】每台机器执行相同操作,最后将 java 安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)

 

5、关闭每台机器的防火墙

 

RedHat:

 

/etc/init.d/iptables stop 关闭防火墙。

 

chkconfig iptables off 关闭开机启动。

 

Ubuntu:

 

ufw disable (重启生效)

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2013-11/93077p2.htm

相关阅读

Ubuntu 13.04 上搭建 Hadoop 环境 http://www.linuxidc.com/Linux/2013-06/86106.htm

Ubuntu 12.10 +Hadoop 1.2.1 版本集群配置 http://www.linuxidc.com/Linux/2013-09/90600.htm

Ubuntu 上搭建 Hadoop 环境(单机模式 + 伪分布模式)http://www.linuxidc.com/Linux/2013-01/77681.htm

Ubuntu 下 Hadoop 环境的配置 http://www.linuxidc.com/Linux/2012-11/74539.htm

单机版搭建 Hadoop 环境图文教程详解 http://www.linuxidc.com/Linux/2012-02/53927.htm

搭建 Hadoop 环境(在 Winodws 环境下用虚拟机虚拟两个 Ubuntu 系统进行搭建)http://www.linuxidc.com/Linux/2011-12/48894.htm

22 楼 Rooter 5 小时前发表 [回复]
博主想问下,为什么 http://localhost50070/dfshealth.jsp 页面上的 Browse the filesystem 不能打开呢? 我用单节点和完全分布式的部署都不能打开
21 楼 zxu618 4 天前 09:41 发表 [回复]
楼主也是 64 位,你当时如何重新编译的?
Re: 我是菜鸟要早起 3 天前 18:13 发表 [回复]
回复 zxu618:编译方法:http://www.linuxidc.com/Linux/2013-11/93080.htm
20 楼 zxu618 2013-11-15 16:40 发表 [回复]
楼主威武,最近导师让搭个 Hadoop,正愁没有教程呢
19 楼 a632154894 2013-11-15 13:40 发表 [回复]
楼主你好,我在启动 hdfs: ./sbin/start-dfs.sh 的时候出错了。
我把我的配置给你看看
18 楼 a632154894 2013-11-15 13:34 发表 [回复]
楼主,你好,我不清楚你那些指令,哪些是在 root 用户下执行的,哪些是在 hduser 下执行的!
Re: 我是菜鸟要早起 3 天前 18:12 发表 [回复]
回复 a632154894:可以所有都在 hduser 用户下,前提是该用户已经加入到 sudoers 文件
17 楼 淵鴻 2013-11-08 17:44 发表 [回复]
楼主,为什么我的 resourcemanager 开起来之后,自动就关了呢,8088 端口没有在监听
Re: 我是菜鸟要早起 2013-11-10 19:04 发表 [回复]
回复 Gameword1:一般这种问题都是集群中结点直接通讯问题导致的。建议你查看 namenode 上面关于 resource manager 的 log。看看具体错误在哪里
16 楼 neihaoma 2013-11-08 17:22 发表 [回复]
楼主啊,,搭建成功了,页面也出来了,但是使用过程中还有好多问题,,求解
15 楼 neihaoma 2013-11-06 11:57 发表 [回复]
编译安装顺利完成,十分感谢楼主分享,赞一个
Re: neihaoma 2013-11-08 15:54 发表 [回复]
回复 u012732153:楼主,有个问题要请教一下,加我
Re: neihaoma 2013-11-08 15:11 发表 [回复]
回复 u012732153:其他 slave 节点 datanode 无法启动,还有一个原因是 hosts 文件写错了,估计大家不会犯那种错误,反正我是这个原因
14 楼 snrjmhn 2013-11-06 10:34 发表 [回复]
请问楼主有没有 cygwin 上安装 hadoop-2.2.0 的经验?
我是一新手,在 cygwin 上安装 hadoop-2.2.0 后,
用 bin/hdfs namenode -format 命令时总是提示下边的问题:
▒▒▒▒: ▒Ҳ▒▒▒▒▒▒޷▒▒▒▒▒▒▒▒▒ org.apache.hadoop.hdfs.server.namenode.NameNode

请指教

Re: 我是菜鸟要早起 2013-11-10 19:07 发表 [回复]
引用“snrjmhn”的评论:

请问楼主有没有 cygwin 上安装 hadoop-2.2.0 的经验?
我是一新手,在 cygwin 上安装 h …

抱歉我在 cygwin 下面没有安装过,不过应该这 linux 下面没有区别的吧。你的错误信息显示不完全,没看到具体原因

13 楼 zpc_silenthill 2013-11-05 11:47 发表 [回复]
新手一枚,按照博主的步骤安装成功了,非常感谢分享。
博主 core-site.xml 有个笔误 <name>fs.defaultFS</name>,估计是 <name>fs.default.name</name>。
另外,发现如果 <name>fs.default.name</name> 的值使用的是机器名的话。在 namenode 的 /etc/hosts 中,如果 127.0.0.1 要放在本机的 IP 后,否则执行:./bin/hdfs dfsadmin –report,不能看的配置的 2 个 datanode,只能看到本机的。原因不清楚。
Re: 我是菜鸟要早起 2013-11-05 13:03 发表 [回复]
回复 zpc_silenthill:你遇到的问题 2,你试注释到 127.0.0.1 那一行。
只用 IP hostname
Re: 我是菜鸟要早起 2013-11-05 12:59 发表 [回复]
回复 zpc_silenthill:首先恭喜你成功部署!
name>fs.defaultFS</name> 是可以的,我开始部署的时候也注意到这个问题了。老版本的 hadoop 上面,参数都是:<name>fs.default.name</name>。应该是 2.0 以后改成 FS 这种的(http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/core-default.xml)。如果你部署成功的话,说明参数名是向前兼容的。
Re: zpc_silenthill 2013-11-05 13:50 发表 [回复]
回复 licongcong_0224:感谢博主细致的回复 赞一个
12 楼 蜗蜗牛快跑 2013-11-05 11:20 发表 [回复]
博主有装 hbase 么?我在装 hbase 时遇到版本冲突了,求指导呀!
Re: 我是菜鸟要早起 2013-11-05 12:48 发表 [回复]
回复 superbinbin1:实在抱歉了,最近因为没有用到 hbase,直接在 hive 上面搞一些简单的事情。不过后面是打算把 hadoop 相关的东西都尝试一下。你可以先琢磨一下,个人觉得 hdfs 和 yarn 相关都部署好了,其他的就比较容易了。你提到的版本兼容问题,我猜是因为你的 hbase 比较老吧。因为 hive 和 hadoop 之间就有个版本的对应问题。要新对新,老对老!
11 楼 蜗蜗牛快跑 2013-11-05 11:19 发表 [回复]
引用“jackhes02”的评论:

回复 licongcong_0224:问题已解决,报错如下:
2013-11…

后面查了下,发现我也是这个问题!坑爹的,都是复制张贴惹的祸呀!非常感激博主的无私帮助,hadoop 成功部署了,哈哈

Re: 我是菜鸟要早起 2013-11-05 12:45 发表 [回复]
回复 superbinbin1:恭喜恭喜!!网页复制经常出现各种问题。群众的力量是伟大的,哈哈。。欢迎大家共享各种问题!
10 楼 jackhes02 2013-11-04 10:13 发表 [回复]
运行任何一条命令都有这条报错信息,请问,怎么处理,谢谢。
[zzhadoop@vm2 hadoop-2.2.0]$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar randomwriter input
13/11/04 10:12:28 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable

[zzhadoop@vm2 hadoop]$ hdfs dfsadmin -report
13/11/04 10:04:15 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-java classes where applicable

Re: jackhes02 2013-11-04 13:36 发表 [回复]
回复 jackhes02:网上查了一下资料,说是 32 位 hadoop 部署在了 64 为 linux 上。
hadoop2.2.0 遇到 64 位操作系统平台报错,重新编译 hadoop:http://www.linuxidc.com/Linux/2013-11/93080.htm
Re: 我是菜鸟要早起 2013-11-04 13:47 发表 [回复]
回复 jackhes02:是的,谢谢提供链接
Re: 我是菜鸟要早起 2013-11-04 12:43 发表 [回复]
回复 jackhes02:你是在 64 位系统上跑的吧?
处理办法就是下载 src 在 64 位机器上面编译一下。因为直接下载的是适用于 32 机器的。blog 上面有讲到的
9 楼 外星茹敬雨拦不住 2013-11-03 21:10 发表 [回复]
您好,我是 hadoop 的新手。
我想问一下,既然 hadoop2.2 已经发布,还有没有必要先学习下 hadoop1.2. 他们两者之间差距大吗?
网上关于 2.2 的资料很少,大部分都是 1.2 的。
希望您能给个建议,谢谢啦~
Re: 我是菜鸟要早起 2013-11-03 21:47 发表 [回复]
引用“rjy1989”的评论:

您好,我是 hadoop 的新手。
我想问一下,既然 hadoop2.2 已经发布,还有没有必要先学习下 h …

您好,由于 2.2 是 10 月份刚刚发布的,所以网上相关资料都非常少,甚至 2.0 版本以后都很难找到比较详细的中午资料,所以最权威的还是查看 Apache 的英文资料,我配置过程中也主要参考的那些。至于您提到的是否需要学习一下以往版本进行对比,这个取决您学习的目的,如果只是简单的想部署集群,并且跑一些程序,或者仅仅使用 hdfs 进行存储,那么我觉得就不是很有必要了。如果您要学习 mapreduce 编程,或者想研究 2.0 以后 hadoop 的各种改进,那么有必要了解一下以往版本。

Re: 外星茹敬雨拦不住 2013-11-04 09:51 发表 [回复]
回复 licongcong_0224:非常感谢您的回复,我决定还是先学习下 hadoop1.2,作为新手,直接看英文有些困难。以后还望多多赐教,再次感谢~
Re: 我是菜鸟要早起 2013-11-04 12:41 发表 [回复]
回复 rjy1989:赐教不敢当,欢迎互相学习交流
8 楼 jackhes02 2013-11-03 17:50 发表 [回复]
– 启动 yarn 始终无法启动,请帮忙看看。我 QQ:17032053;希望能向你请教,谢谢。
[zzhadoop@vm2 hadoop]$ start-yarn.sh
starting yarn daemons
starting resourcemanager, logging to /home/zzhadoop/hadoop-2.2.0/logs/yarn-zzhadoop-resourcemanager-vm2.out
sst-db: starting nodemanager, logging to /home/zzhadoop/hadoop-2.2.0/logs/yarn-zzhadoop-nodemanager-sst-db.out
vm1: starting nodemanager, logging to /home/zzhadoop/hadoop-2.2.0/logs/yarn-zzhadoop-nodemanager-vm1.out
[zzhadoop@vm2 hadoop]$
[zzhadoop@vm2 hadoop]$ jps
2352 NameNode
2699 SecondaryNameNode
3111 Jps
[zzhadoop@vm2 hadoop]$ cat /home/zzhadoop/hadoop-2.2.0/logs/yarn-zzhadoop-resourcemanager-vm2.out
ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 1031728
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 65536
Re: 我是菜鸟要早起 2013-11-03 21:07 发表 [回复]
回复 jackhes02:你查看一下 yarn-zzhadoop-resourcemanager-vm2.log 这个里面的信息吧,看看RM没有启动的原因在哪里?
Re: jackhes02 2013-11-04 09:57 发表 [回复]
回复 licongcong_0224:问题已解决,报错如下:
2013-11-04 09:42:43,405 INFO org.apache.hadoop.service.AbstractService: Service org.apache.hadoop.yarn.server.resourcemanager.ResourceTrackerService failed in state INITED; cause: java.lang.IllegalArgumentException: Does not contain a valid host:port authority: vm2:8031 (configuration property ‘yarn.resourcemanager.resource-tracker.address’)
java.lang.IllegalArgumentException: Does not contain a valid host:port authority: vm2:8031 (configuration property ‘yarn.resourcemanager.resource-tracker.address’)
— 原因是在填写配置文件 yarn-site.xml 时主机名前多了一个空格。
Re: 我是菜鸟要早起 2013-11-04 12:41 发表 [回复]
回复 jackhes02:哈哈,,有有时候手误还真的会带来一些很纠结的问题。恭喜!!谢谢问题反馈!
7 楼 蜗蜗牛快跑 2013-11-03 11:33 发表 [回复]
您好,今天照您的教程做了一遍,我用的两台 Ubuntu。001 按照配置启动 hdfs 后,有这几个进程:
10029 DataNode
10491 Jps
9696 NameNode
10361 SecondaryNameNode
但是 002 的 datanode 没启动。。。那边完全没反应,您看问题可能出在哪?
hadoop 是如何让 002 的 datanode 启动的?这个原理我就没想明白。难道是通过 slaves 文件里面的配置么?
Re: 我是菜鸟要早起 2013-11-03 14:45 发表 [回复]
引用“superbinbin1”的评论:

您好,今天照您的教程做了一遍,我用的两台 ubuntu。001 按照配置启动 hdfs 后,有这几个进程:

1)001 上面有 datanode 进程?你是不是把 001 也写进到 slaves 中了
2)002 中的 datanode 进程是通过 slaves 中的配置检查到,从而启动的。
3)你检查一下你的 /etc/hosts 中配置是否正确

Re: 蜗蜗牛快跑 2013-11-03 19:31 发表 [回复]
回复 licongcong_0224:您好,我是 slaves 添加了 namenode 的主机名才导致错误的。后面改了下,start-dfs.sh 可以成功运行,但是 start-yarn.sh 命令却无法启动相关进程,log 报错:Error starting ResourceManager
java.lang.IllegalArgumentException: Does not contain a valid host:port authority:。。。。。。
网上查倒是有相关先例,有说主机名不能包含大写字母(我的有包含)或者下划线,也有说配置文件路径不对。您有空帮我分析分析,感激不尽
Re: 我是菜鸟要早起 2013-11-03 21:01 发表 [回复]
回复 superbinbin1:你查一下位于 namenode 这台机器上面的 log,关于 RM 无法启动的原因是什么?既然 namenode 进程都启动了,个人觉得应该不是 hostname 命名方式的问题了吧?
6 楼 buptwuguohua 2013-11-01 16:44 发表 [回复]
你好,我按照你的配置,最后发现 datanode 无法启动,找了很久没找到原因,我的 qq 是 331836971,希望能帮忙解决一下。
Re: 我是菜鸟要早起 2013-11-01 20:05 发表 [回复]
回复 buptwuguohua:你可以查看一下 datanode 上面的 log 信息,datanode 无法启动的原因八成是你多次 format namenode 造成的。log 中有详细原因,解放方法也很���单
Re: buptwuguohua 2013-11-01 23:42 发表 [回复]
回复 licongcong_0224:问题已经解决,主要是两个问题:
1. clusterID 不一致,namenode 的 cid 和 datanode 的 cid 不一致,导致的原因是对 namenode 进行 format 的之后,datanode 不会进行 format,所以 datanode 里面的 cid 还是和 format 之前 namenode 的 cid 一样,解决办法是删除 datanode 里面的 dfs.datanode.data.dir 目录和 tmp 目录,然后再启动 start-dfs.sh
2. 即使删除 iptables 之后,仍然报 Datanode denied communication with namenode: DatanodeRegistration 错误,参考文章 http://stackoverflow.com/questions/17082789/cdh4-3exception-from-the-logs-after-start-dfs-sh-datanode-and-namenode-star,可以知道需要把集群里面每个 houst 对应的 ip 写入 /etc/hosts 文件就能解决问题。
Re: 我是菜鸟要早起 2013-11-02 14:15 发表 [回复]
回复 buptwuguohua:昨晚在问题二上面纠结了那么久,呵呵~~ 另外,提醒大家,关闭所有机器上面的防火墙!!
5 楼 dallar 2013-11-01 16:00 发表 [回复]
您好,我也是 hadoop 新手,测试过程中发现问题,希望能交流一下。QQ:332890886
Re: 我是菜鸟要早起 2013-11-01 20:06 发表 [回复]
回复 dallar:请问是什么问题呢?
4 楼 唉唉唉 2013-10-31 11:32 发表 [回复]
master 和所有的 slaves 的 hadoop 安装路径要一致,而且所有的配置文件 <name> 和 <value> 节点处不要有空格,否则会报错!
Re: 我是菜鸟要早起 2013-10-31 12:35 发表 [回复]
回复 yangzhp1_1:谢谢反馈!
3 楼 水往低处流 2013-10-30 14:46 发表 [回复]
我的 qq:605425512,方便加一下吗?有点问题请教一下
Re: 我是菜鸟要早起 2013-10-30 15:50 发表 [回复]
回复 worklxh:已加
2 楼 唉唉唉 2013-10-30 14:34 发表 [回复]
你好,我有些问题想请教你!
Re: 我是菜鸟要早起 2013-10-30 15:50 发表 [回复]
回复 yangzhp1_1:已加
1 楼 唉唉唉 2013-10-30 11:16 发表 [回复]
问一下后续问题 你是怎么在 eclipse 中开发的??
Re: 我是菜鸟要早起 2013-10-30 14:14 发表 [回复]
回复 yangzhp1_1:目前我个人还没有涉及到并行程序的具体开发工作,只是在 hive 下通过编写脚本对 hdfs 上面的数据进行简单处理。
正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-20发表,共计19740字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19350
评论数
4
阅读量
7963009
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
我把用了20年的360安全卫士卸载了

我把用了20年的360安全卫士卸载了

我把用了 20 年的 360 安全卫士卸载了 是的,正如标题你看到的。 原因 偷摸安装自家的软件 莫名其妙安装...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025年11月28日-Cloudflare史诗级事故:一次配置失误,引爆全球宕机

2025 年 11 月 28 日 -Cloudflare 史诗级事故: 一次配置失误,引爆全球宕机 前言 继今...
每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年0.99刀,拿下你的第一个顶级域名,详细注册使用

每年 0.99 刀,拿下你的第一个顶级域名,详细注册使用 前言 作为长期折腾云服务、域名建站的老玩家,星哥一直...
支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare也瘫了连监控都挂,根因藏在哪?

支付宝、淘宝、闲鱼又双叕崩了,Cloudflare 也瘫了连监控都挂,根因藏在哪? 最近两天的互联网堪称“故障...
在Windows系统中通过VMware安装苹果macOS15

在Windows系统中通过VMware安装苹果macOS15

在 Windows 系统中通过 VMware 安装苹果 macOS15 许多开发者和爱好者希望在 Window...
免费领取huggingface的2核16G云服务器,超简单教程

免费领取huggingface的2核16G云服务器,超简单教程

免费领取 huggingface 的 2 核 16G 云服务器,超简单教程 前言 HuggingFace.co...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换,告别多工具切换

12.2K Star 爆火!开源免费的 FileConverter:右键一键搞定音视频 / 图片 / 文档转换...
星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的NAS中!

星哥带你玩飞牛 NAS-10:备份微信聊天记录、数据到你的 NAS 中! 大家对「数据安全感」的需求越来越高 ...
星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛NAS-12:开源笔记的进化之路,效率玩家的新选择

星哥带你玩飞牛 NAS-12:开源笔记的进化之路,效率玩家的新选择 前言 如何高效管理知识与笔记,已经成为技术...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛NAS-11:咪咕视频订阅部署全攻略

星哥带你玩飞牛 NAS-11:咪咕视频订阅部署全攻略 前言 在家庭影音系统里,NAS 不仅是存储中心,更是内容...