共计 4482 个字符,预计需要花费 12 分钟才能阅读完成。
Apache Hadoop2.2.0 作为新一代 hadoop 版本,突破原来 hadoop1.x 的集群机器最多 4000 台的限制,并有效解决以前常遇到的 OOM(内存溢出)问题,其创新的计算框架 YARN 被称为 hadoop 的操作系统,不仅兼容原有的 mapreduce 计算模型而且还可支持其他并行计算模型。
假设我们要搭建 2 个节点的 hadoop2.2.0 的集群。一个节点主机名为 master,作为集群 master 兼 slave 角色运行 namenode, datanode, secondarynamenode,resourcemanager 和 node manager 等 daemon 进程;另一个节点名为 slave1 作为集群 slave 角色运行 datanode 和 nodemanager 进程.
1. 获取 hadoop 二进制包或者源码包:http://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.2.0/ , 使用 hadoop-2.2.0.tar.gz 或者 hadoop-2.2.0-src.tar.gz
2. 在每台机器上建立同名用户,比如 hduser;并安装 java (1.6 or 1.7)
解压软件包,比如到目录 /home/hduser/hadoop-2.2.0
如果要编译源代码,请参考以下 3,4,5 步骤
—————-for compile source file———————–
3. 下载 protocbuf2.5.0 : https://code.google.com/p/protobuf/downloads/list, 下载最新的 maven : http://maven.apache.org/download.cgi
编译 protocbuf 2.5.0:
- tar -xvf protobuf-2.5.0.tar.gz
- cd protobuf-2.5.0
- ./configure –prefix=/opt/protoc/
- make && make install
4. 安装必须的软件包
如果是 rmp linux:
- yum install gcc
- yum intall gcc-c++
- yum install make
- yum install cmake
- yum install openssl-devel
- yum install ncurses-devel
如果是 Debian linux:
- sudo apt-get install gcc
- sudo apt-get install intall g++
- sudo apt-get install make
4. sudo apt-get install cmake
5. sudo apt-get install libssl-dev
6. sudo apt-get install libncurses5-dev
5. 开始编译 hadoop-2.2.0 源码:
mvn clean install –DskipTests
mvn package -Pdist,native -DskipTests -Dtar
6 如果你已经得到了编译好的包(比如 hadoop-2.2.0.tar.gz),以下为安装配置过程。
用 hduser 登录到 master 机器:
6.1 安装 ssh
For example on Ubuntu Linux:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
Now check that you can ssh to the localhost without a passphrase:
$ ssh localhost
If you cannot ssh to localhost without a passphrase, execute the following commands:
$ ssh-keygen -t dsa -P ” -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
then can ssh from master to slaves: scp ~/.ssh/authorized_keys slave1:/home/hduser/.ssh/
6.2 设置 JAVA_HOME in hadoop-env.sh and yarn-env.sh in hadoop_home/etc/hadoop
6.3 编辑 core-site.xml, hdfs-site.xml, mapred-site.xml,yarn-site.xml in hadoop_home/etc/hadoop
A sample core-site.xml:
<!– Put site-specific property overrides in this file. –>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hduser/temp</value>
</property>
</configuration>
A sample hdfs-site.xml :
<!– Put site-specific property overrides in this file. –>
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hduser/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hduser/dfs/data</value>
</property>
</configuration>
A sample mapred-site.xml :
<!– Put site-specific property overrides in this file. –>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.staging-dir</name>
<value>/home/hduser/temp/hadoop-yarn/staging</value>
</property>
</configuration>
A sample yarn-site.xml :
<configuration>
<!– Site specific YARN configuration properties –>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<description>CLASSPATH for YARN applications. A comma-separated list of CLASSPATH entries</description>
<name>yarn.application.classpath</name>
<value>
hadoop_home/etc/hadoop,
hadoop_home/share/hadoop/common/*,
hadoop_home/share/hadoop/common/lib/*,
hadoop_home/share/hadoop/hdfs/*,
hadoop_home/share/hadoop/hdfs/lib/*,
hadoop_home/share/hadoop/mapreduce/*,
hadoop_home/share/hadoop/mapreduce/lib/*,
hadoop_home/share/hadoop/yarn/*,
hadoop_home/share/hadoop/yarn/lib/*
</value>
</property>
</configuration>
6.4 编辑 slaves file in hadoop_home/etc/hadoop,使其具有以下内容
master
slave1
以上完成后,在 master 机器以 hduser 用户使用 scp 命令拷贝 hadoop-2.2.0 目录及内容到其他机器的同样路径:
scp hadoop folder 到各个机器 : scp /home/hduser/hadoop-2.2.0 slave1:/home/hduser/hadoop-2.2.0
7. 格式化 hdfs (一般只进行一次,除非 hdfs 故障), 依次执行以下命令
- cd /hduser/hadoop-2.2.0/bin/
- ./hdfs namenode -format
8 启动、停止 hadoop 集群 (可多次进行,一般启动后不停否则 Application 运行信息会丢失)
- [hadoop@master bin]$ cd ../sbin/
- [hadoop@master sbin]$ ./start-all.sh
9. 验证:
hdfs WEB 界面:http://master:50070
RM(ResourceManager) 界面:http://master:8088
相关阅读 :
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 相关信息见 Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13