Hadoop安装、配置与使用指南
立即解锁
发布时间: 2025-08-23 02:18:16 阅读量: 2 订阅数: 7 

### Hadoop安装、配置与使用指南
#### 1. 下载Hadoop
要下载Hadoop,请按照以下步骤操作:
1. 访问Hadoop下载页面 [http://hadoop.apache.org/common/releases.html](http://hadoop.apache.org/common/releases.html) ,获取1.0.x分支的最新稳定版本。在撰写本文时,最新版本是1.0.4。
2. 选择一个本地镜像,然后下载类似 `hadoop-1.0.4-bin.tar.gz` 这样的文件。
3. 使用以下命令将文件复制到你想要安装Hadoop的目录(例如, `/usr/local` ):
```bash
$ cp Hadoop-1.0.4.bin.tar.gz /usr/local
```
4. 使用以下命令解压文件:
```bash
$ tar –xf hadoop-1.0.4-bin.tar.gz
```
5. 为Hadoop安装目录添加一个方便的符号链接:
```bash
$ ln -s /usr/local/hadoop-1.0.4 /opt/hadoop
```
6. 将Hadoop二进制目录添加到你的路径中,并设置 `HADOOP_HOME` 环境变量,就像之前设置Java环境变量一样:
```bash
$ export HADOOP_HOME=/usr/local/Hadoop
$ export PATH=$HADOOP_HOME/bin:$PATH
```
7. 进入Hadoop安装目录下的 `conf` 目录,编辑 `Hadoop-env.sh` 文件。搜索 `JAVA_HOME` 并取消该行的注释,将路径修改为你JDK的安装位置。
这些步骤确保Hadoop已安装并可以从命令行使用。通过设置路径和配置变量,我们可以使用Hadoop命令行工具。对Hadoop配置文件的修改是与主机设置集成所需的唯一必要更改。
#### 2. 设置SSH
为了让Hadoop用户无需密码就能连接到所需的主机,我们需要设置SSH。具体步骤如下:
1. 使用以下命令创建一个新的OpenSSL密钥对:
```bash
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Created directory '/home/hadoop/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/hadoop/.ssh/id_rsa.
Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.
```
2. 使用以下命令将新的公钥复制到授权密钥列表中:
```bash
$ cp .ssh/id_rsa.pub .ssh/authorized_keys
```
3. 连接到本地主机:
```bash
$ ssh localhost
The authenticity of host 'localhost (127.0.0.1)' can't be
established.
RSA key fingerprint is b6:0c:bd:57:32:b6:66:7c:33:7b:62:92:61:fd:c
a:2a.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'localhost' (RSA) to the list of known
hosts.
```
4. 确认无密码SSH是否正常工作:
```bash
$ ssh localhost
$ ssh localhost
```
创建密钥对后,我们将新的公钥添加到受信任密钥列表中,这样在尝试连接到该机器时,公钥将被信任。之后,使用 `ssh` 命令连接到本地机器,首次连接时会提示是否信任主机证书,确认后即可无需密码或提示进行连接。
#### 3. 使用Hadoop计算Pi
为了验证Hadoop的安装并展示MapReduce作业的执行速度,我们可以使用一个示例Hadoop程序来计算Pi的值。假设 `HADOOP_HOME/bin` 目录已在你的路径中,输入以下命令:
```bash
$ Hadoop jar hadoop/hadoop-examples-1.0.4.jar pi 4 1000
Number of Maps = 4
Samples per Map = 1000
Wrote input for Map #0
Wrote input for Map #1
Wrote input for Map #2
Wrote input for Map #3
Starting Job
12/10/26 22:56:11 INFO jvm.JvmMetrics: Initializing JVM Metrics
with processName=JobTracker, sessionId=
12/10/26 22:56:11 INFO mapred.FileInputFormat: Total input paths
to process : 4
12/10/26 22:56:12 INFO mapred.JobClient: Running job: job_
local_0001
...
12/10/26 22:56:14 INFO mapred.JobClient: map 100% reduce 100%
12/10/26 22:56:14 INFO mapred.JobClient: Job complete: job_
local_0001
12/10/26 22:56:14 INFO mapred.JobClient: Counters: 13
12/10/26 22:56:14 INFO mapred.JobClient: FileSystemCounters
...
Job Finished in 2.904 seconds
Estimated value of Pi is 3.14000000000000000000
```
输出大致分为三个部分:作业启动、作业执行状态和作业输出。在这个例子中,作业创建了四个任务来计算Pi,最终结果是这些子结果的组合。这与将大型作业拆分为小任务并合并结果的模型一致。大多数输出将在作业执行时显示,提供进度状态消息。作业成功完成后,将打印出一些计数器和其他统计信息。
#### 4. Hadoop的三种运行模式
Hadoop有三种运行模式,不同模式下Hadoop组件的执行位置不同:
| 模式 | 描述 | 优点 | 缺点 |
| ---- | ---- | ---- | ---- |
| 本地独立模式 | 若不进行任何配置,这是默认模式。所有Hadoop组件(如NameNode、DataNode、JobTracker和TaskTracker)都在一个Java进程中运行。 | 易于设置 | 与全分布式模式交互方式不同 |
| 伪分布式模式 | 为每个Hadoop组件生成一个单独的JVM,它们通过网络套接字进行通信,在单个主机上形成一个完整的小型集群。 | 与大型集群的工作方式几乎相同 | 需要一定的配置工作 |
| 全分布式模式 | Hadoop分布在多台机器上,一些机器作为通用工作节点,另一些作为特定组件(如NameNode和JobTracker)的专用主机。 | 可以在集群上扩展Hadoop | 需要更多的配置工作和集群机器 |
在大多数情况下,我们更倾向于使用伪分布式模式,因为它与大型集群的工作方式非常相似。
#### 5. 配置伪分布式模式
要配置伪分布式模式,需要修改Hadoop发行版中的 `conf` 目录下的 `core-site.xml`、`hdfs-site.xml` 和 `mapred-site.xml` 文件:
1. 修改 `core-site.xml` 文件如下:
```xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
```
2. 修改 `hdfs-site.xml` 文件如下:
```xml
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-spec
```
0
0
复制全文
相关推荐










