IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

Hadoop超级安装手册

量子数科院 2011-05-25 12:33:30 累计浏览 4,738 次
本机暂存

安装Hadoop并不困难,官方文档也给的还算详细。最近同事练习安装还是会遇到一些问题,最后我们整理出来傻瓜版安装手册,帮助你0基础成功。

一、 Hadoop准备篇:

Hadoop运行软件环境:

1. SSH及 SSHD服务正常运行

2. JDK

如果没装,可以自己安装一下:

Sudo yum -y install jdk -b current

二、 Hadoop基础篇(安装完成单节点Hadoop)

1. 源代码下载

1.1 下载Hadoop 源码压缩包至服务器

wget http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz

1.2 解压源码压缩包 tar HadoopInstall

Tar -zvxf hadoop-0.20.2.tar.gz -C HadoopInstall

HadoopInstall即为Hadoop安装目录

2. 环境变量配置 : (hadoop_env.sh )

目录/home/YOURDictionary/HadoopInstall/ hadoop-0.20.2 /conf

2.1 JAVA_HOME:必选变量。

设置export JAVA_HOME=/usr/java/jdk1.6.0 jdk路径

2.2 HADOOP_HOME:可选变量

HADOOP_HOME默认的是bin目录的父目录,即/home/usr/HadoopInstall/ hadoop-0.20.2。

设置export HADOOP_HOME=/home/usr/HadoopInstall/ hadoop-0.20.2

3. 环境配置文件配置

主要有三个配置文件:core-site.xml, hdfs-site.xml, mapred-site.xml

3.1 conf/core-site.xml

<configuration>

 <property>

  <name>fs.default.name</name> ―-文件系统的默认名称

   <value>hdfs://(master ip):9000</value>

 </property>

</configuration>

同理配置其他参数:

a. Hadoop运行的临时目录

hadoop.tmp.dir=/home/ads/data(自己设定自己虚拟机上的文件夹路径)

3.2 conf/hdfs-site.xml:

<configuration>

 <property>

   <name>dfs.replication</name>

   <value>1</value>

 </property>

</configuration>

同理配置其他参数:

a. DFS的数据保存目录:dfs.data.dir=/home/data,/home1/data(自己设定自己虚拟机上的文件夹路径

b. DFS Namenode保存的位置:dfs.name.dir=${hadoop.tmp.dir}/dfs/name,/home/ads/data1/dfs/name(自己设定自己虚拟机上的文件夹路径)

3.3 conf/mapred-site.xml:

<configuration>

 <property>

   <name>mapred.job.tracker</name> ― Jobtracker的位置

   <value>(master ip):9001</value>

 </property>

</configuration>

同理配置其他参数:

a. 单节点同时运行的最大map数:mapred.tasktracker.map.tasks.maximum=8

b. 单节点同时运行的最大reduce数:mapred.tasktracker.reduce.tasks.maximum=6

4 主机自身打通 (ssh-keygen 命令详解见下节进阶篇)

$ ssh-keygen -t rsa -P ” -f ~/.ssh/id_ rsa
$ cat ~/.ssh/id_ rsa.pub >> ~/.ssh/authorized_keys

5 启动

进入~/HadoopInstall/ hadoop-0.20.2目录

5.1 格式化namenode

执行下面的命令[usr@servername: hadoop-0.20.2]$bin/hadoop namenode -format

5.2 简单启动所有守护

[usr@servername: hadoop-0.20.2]$ bin/start-all.sh

高级启动参见:Hadoop高级篇(Link)

5.3 停止守护

[usr@servername: hadoop-0.20.2]$bin/stop-all.sh

6 验证测试

启动成功后,可浏览器查看以下地址:

6.1 Job tracker

http://master名称:50030,能查看此页面,页面状态(Stated)显式为RUNNing(页面左上角)。

6.2 NameNode

http://master名称:50070,能看到Live Datanodes。

三、 Hadoop进阶篇(安装多节点hadoop):

3.1 集群SSH设置,集群打通(注意是双向哦)

例如集群存在三台机器,servername-1为主机。

3.1.1 在servername-1上生成密钥对:
[usr@servername-1:~]$ssh-keygen -t rsa

询问保存路径时直接回车采用默认路径

提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码

生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/usr/.ssh目录下。

3.1.2 id_rsa.pub的内容复制到每个机器(也包括本机)

id_rsa.pub的内容复制到每个机器(也包括本机)的/home/usr/.ssh/authorized_keys文件中。

如果机器上已经有 authorized_keys文件,就在文件末尾加上id_rsa.pub中的内容。

如果没有authorized_keys这个文件,直接cp 或者scp就好了,下面的操作假设各个机器上都没有authorized_keys文件。

i. 对于servername-1

[usr@servername-1:.ssh]$cp id_rsa.pub authorized_keys

ii. 对于servername-2(servername-3同servername-2的方法)

[usr @ servername-2:~]$mkdir .ssh

[usr @ servername-1:.ssh]$scp authorized_keys servername-2:/home/ servername /.ssh/

iii. 设置authorized_keys文件读写权限

[dbrg@ servername-2:.ssh]$chmod 644 authorized_keys必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的。

iv. 验证测试

i. 注意每个机器上的.ssh目录的ls -la都应该和上面是一样的

[usr @ servername-2:.ssh]ls -la
drwx―― 2 usr users.
drwx―― 3 usr users..
-rw-r-r- 1 usr users authorized_keys

ii. 测试本机ssh servername-1

iii. [usr @ servername-1:~]$ssh servername-2

如果ssh配置好了,就会出现以下提示信息
The authenticity of host [servername-2] can’t be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。
然后你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了

3.2 Master主机配置(同上一节)

3.3 Masters/Slave文件配置

3.3.1 Masters

在master主机上的hadoop-0.20.2 /conf/目录下,打开master 文件,把master 主机名添加进去:,本文以servername-1做为master,所以在master文件内容是:

servername-1

3.3.2 Slaves

在master主机上的hadoop-0.20.2 /conf/目录下,打开slaves文件,该文件用来指定所有的从节点,一行指定一个主机名。即本文中的servername-2,servername-3,因此slaves文件看起来应该是这样的
servername-2
servername-3

3.4 部署Hadoop集群 (必须放在最后一步哦 )

前面讲的这么多Hadoop的环境变量和配置文件都是在dbrg-1这台master主机上的, 将上述配置好的hadoop分发至各个slave的相同位置,注意要保证目录结构一致,

[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-2:/home/ YOURDictionary / HadoopInstall
[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-3:/home/ YOURDictionary / HadoopInstall

3.5 启动

同hadoop 基础篇启动

3.6 验证测试

同hadoop 基础篇 验证测试

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Linux如何统计进程的CPU利用率 (累计阅读 16,307)
  2. HFile存储格式 (累计阅读 15,972)
  3. 我的 RHCA 之路 (累计阅读 14,011)
  4. Linux内存点滴 用户进程内存空间 (累计阅读 13,228)
  5. 给程序员新手的一些建议 (累计阅读 13,087)
  6. Linux 性能监控、测试、优化工具 (累计阅读 13,010)
  7. 关于linux内存free的一些事情 (累计阅读 12,866)
  8. ps - 按进程消耗内存多少排序 (累计阅读 12,685)
  9. Google怎么用linux (累计阅读 12,580)
  10. Zookeeper工作原理 (累计阅读 12,198)