共计 9141 个字符,预计需要花费 23 分钟才能阅读完成。
第一部分 Hadoop2.2 下载
Hadoop我们从 Apache 官方网站直接下载最新版本 Hadoop2.2。官方目前是提供了linux32 位系统可执行文件 ,( 最下方有 FAQ 解决 64 位)
下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/
相关阅读:
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
第二部分集群环境搭建
1、这里我们搭建一个由三台机器组成的集群:
IP user/passwd hostname
192.168.101.114 root/test123 hadoop1 nn/snn/rm GNU/Linux x86_64
192.168.101.115 root/test123 hadoop2 dn/nm GNU/Linux x86_64
192.168.101.116 root/test123 hadoop3 dn/nm GNU/Linux x86_64
1.1 上面各列分别为 IP、user/passwd、hostname、在cluster 中充当的角色(namenode,secondary namenode, datanode , resourcemanager, nodemanager)
2、修改 /etc/hosts 文件,增加三台机器的 ip 和hostname的映射关系
192.168.101.114 hadoop1
192.168.101.115 hadoop2
192.168.101.116 hadoop3
3、打通 hadoop1 到hadoop2、hadoop3的 SSH 无密码登陆
3.1 安装ssh
一般系统是默认安装了 ssh 命令的。如果没有,或者版本比较老,则可以重新安装:
sodu apt-get install ssh
3.2设置 local 无密码登陆
安装完成后会在 ~ 目录(当前用户主目录,即这里的 /home/hduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。
具体步骤如下:
在 hadoop 安装用户下执行:
1、进入 .ssh 文件夹
2、 ssh-keygen -t rsa之后一路回车(产生秘钥)
3、把 id_rsa.pub 追加到授权的 key 里面去
> cat id_rsa.pub >>authorized_keys
切换至 root 用户:
4、重启 SSH 服务命令使其生效 :service sshdrestart
此时已经可以进行 ssh localhost 的无密码登陆
【注意】:以上操作在每台机器上面都要进行。
3.3设置远程无密码登陆
每台机器执行完后,把做为 namenode 机器的 id_rsa.pub 复制到其他两机器改名为 id_rsa_1.pub ,追加到
cat id_rsa.pub_1 >> authorized_keys
重启后用 hadoop1 机器验证:
>ssh hadoop2
> exit
>ssh hadoop3
>exit
这样通道就打开了。
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 位的系统可以下载以下两个 Linuxx86 版本(uname -a查看系统版本)
4.1.2 64位系统下载 Linux x64 版本 ( 即x64.rpm和x64.tar.gz)
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 -zxvfjdk-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 关闭开机启动。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-04/100385p2.htm
第三部分 Hadoop 2.2 安装过程
由于 hadoop 集群中每个机器上面的配置基本相同,所以我们先在 namenode 上面进行配置部署,然后再 复制到其他节点 。所以这里的安装过程相当于在每台机器上面都要执行。但需要注意的是集群中64 位系统和 32 位系统的问题。
1、解压文件
将第一部分中下载的 hadoop-2.2.tar.gz 解压到 /home/hduser 路径下(或者将在 64 位机器上编译的结果存放在此路径下)。然后为了节省空间,可删除此压缩文件,或将其存放于其他地方进行备份。
注意:每台机器的安装路径要相同!!
2、 hadoop配置过程
配置之前,需要在 hadoop1 本地文件系统创建以下文件夹:
~/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 值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件2:yarn-env.sh
修改 JAVA_HOME 值(exportJAVA_HOME=/usr/java/jdk1.7.0_40)
配置文件 3:slaves(这个文件里面保存所有slave 节点)
写入以下内容:
hadoop2
hadoop3
配置文件4:core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1: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 othertemporary 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>hadoop1: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>hadoop1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop1: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>hadoop1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hadoop1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hadoop1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hadoop1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hadoop1:8088</value>
</property>
</configuration>
3、复制到其他节点
把如上修改的文件复制到其他两台机器上,不做修改
4、启动验证
4.1 启动hadoop
进入安装目录: cd ~/hadoop-2.2.0/
格式化namenode:./bin/hdfsnamenode –format
启动hdfs: ./sbin/start-dfs.sh
此时在 001 上面运行的进程有:namenodesecondarynamenode
002和 003 上面运行的进程有:datanode
启动yarn: ./sbin/start-yarn.sh
此时在 001 上面运行的进程有:namenodesecondarynamenoderesourcemanager
002和 003 上面运行的进程有:datanodenodemanaget
查看集群状态:./bin/hdfs dfsadmin –report
查看文件块组成: ./bin/hdfsfsck / -files-blocks
查看HDFS: http://192.168.101.114:50070
查看RM: http://192.168.101.114:8088
4.2 运行示例程序:
先在 hdfs 上创建一个文件夹
./bin/hdfsdfs –mkdir /input
./bin/hadoopjar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jarrandomwriterinput
FAQ:
使用 命令> hadoop fs -ls /
WARNutil.NativeCodeLoader: Unable to load native-hadoop library for yourplatform… using builtin–
问题:Hadoop本地库与系统版本不一致引起的错误。
解决:
查看本地文件
Ø file /hadoop-2.2.0/lib/native/libhadoop.so.1.0.0
libhadoop.so.1.0.0:ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamicallylinked, not stripped
即 hadoop 是32位的。
一.重新下载 hadoop 64 位版本安装。
二.可以直接用编译好的 native.tar.gz 替换/opt/hadoop/hadoop-2.2.0/lib/native
更多 Hadoop 相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13
第一部分 Hadoop2.2 下载
Hadoop我们从 Apache 官方网站直接下载最新版本 Hadoop2.2。官方目前是提供了linux32 位系统可执行文件 ,( 最下方有 FAQ 解决 64 位)
下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/
相关阅读:
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
第二部分集群环境搭建
1、这里我们搭建一个由三台机器组成的集群:
IP user/passwd hostname
192.168.101.114 root/test123 hadoop1 nn/snn/rm GNU/Linux x86_64
192.168.101.115 root/test123 hadoop2 dn/nm GNU/Linux x86_64
192.168.101.116 root/test123 hadoop3 dn/nm GNU/Linux x86_64
1.1 上面各列分别为 IP、user/passwd、hostname、在cluster 中充当的角色(namenode,secondary namenode, datanode , resourcemanager, nodemanager)
2、修改 /etc/hosts 文件,增加三台机器的 ip 和hostname的映射关系
192.168.101.114 hadoop1
192.168.101.115 hadoop2
192.168.101.116 hadoop3
3、打通 hadoop1 到hadoop2、hadoop3的 SSH 无密码登陆
3.1 安装ssh
一般系统是默认安装了 ssh 命令的。如果没有,或者版本比较老,则可以重新安装:
sodu apt-get install ssh
3.2设置 local 无密码登陆
安装完成后会在 ~ 目录(当前用户主目录,即这里的 /home/hduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。
具体步骤如下:
在 hadoop 安装用户下执行:
1、进入 .ssh 文件夹
2、 ssh-keygen -t rsa之后一路回车(产生秘钥)
3、把 id_rsa.pub 追加到授权的 key 里面去
> cat id_rsa.pub >>authorized_keys
切换至 root 用户:
4、重启 SSH 服务命令使其生效 :service sshdrestart
此时已经可以进行 ssh localhost 的无密码登陆
【注意】:以上操作在每台机器上面都要进行。
3.3设置远程无密码登陆
每台机器执行完后,把做为 namenode 机器的 id_rsa.pub 复制到其他两机器改名为 id_rsa_1.pub ,追加到
cat id_rsa.pub_1 >> authorized_keys
重启后用 hadoop1 机器验证:
>ssh hadoop2
> exit
>ssh hadoop3
>exit
这样通道就打开了。
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 位的系统可以下载以下两个 Linuxx86 版本(uname -a查看系统版本)
4.1.2 64位系统下载 Linux x64 版本 ( 即x64.rpm和x64.tar.gz)
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 -zxvfjdk-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 关闭开机启动。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-04/100385p2.htm