Hadoop是MapReduce的开源实现,网上有很多相关的文章,但是很多不全,有的有点乱,本人Ubuntu小白,Hadoop初学者,根据别人的资料和我自己安装的经验介绍它的单机模式安装方法,欢迎拍砖。
部分资料翻译自
http://www.michael-noll.com/tutorials/running-hadoop-on-ubuntu-linux-single-node-cluster/#configuring-ssh,感谢。
实验平台:Ubuntu 10.04,Hadoop-1.0.2,JDK1.7
(注:最新的Ubuntu12。04已经出了,作者费尽周折也没能安装成功,可能作者机器的原因只能安装10.04,12.04无论是安装或者从10.04升级完成后,都会进不去系统,哪位朋友遇到相同问题或者解决相关问题,可以站内我,谢谢)好了,扯远了。下面言归正传。
step 1. 为Hadoop增加用户,记住设定的密码
$ sudo addgroup hadoop
$ sudo adduser --ingroup hadoop hduser
step 2. ssh的安装与设置
由于Hadoop用ssh 通信,因此首先要安装SSH Server
$ sudo apt-get install ssh
下面进行免密码登录设定,su 命令执行后,输入刚才设定的密码
$ su - hduser
$ ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ ssh localhost
生成用于SSH的密钥 ,完成后请登入确认不用输入密码,(第一次登入需按enter键,第二次就可以直接登入到系统。
~$ ssh localhost
~$ exit
~$ ssh localhost
~$ exit
step 3. 安装java
笔者采用的是离线的tar,解压到/opt/java1.7.0/
•$ tar zxvf jdk1.7.0.tar.gz
•$ sudo mv jdk1.7.0 /opt/java/
配置环境
•$ sudo gedit /opt/profile
在 "umask 022"之前输入 as below
export JAVA_HOME=/opt/java/jdk1.7.0
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JRE_HOME/bin:$JAVA_HOME/bin
step 4. 下载安装Hadoop
•下载 Hadoop-1.0.2,并解开压缩文件到 /opt 路径。
•$ tar zxvf Hadoop-1.0.2.tar.gz
•$ sudo mv Hadoop-1.0.2 /opt/
•$ sudo chown -R hduser:hadoop /opt/Hadoop-1.0.2
step 5. 设定 hadoop-env.sh
•进入 hadoop 目录,做进一步的设定。我们需要修改两个档案,第一个是 hadoop-env.sh,需要设定 JAVA_HOME, HADOOP_HOME, PATH 三个环境变量。
/opt$ cd Hadoop-1.0.2/
/opt/Hadoop-1.0.2$ cat >> conf/hadoop-env.sh << EOF
贴上以下信息
export JAVA_HOME=/opt/java/jdk1.7.0
export HADOOP_HOME=/opt/Hadoop-1.0.2
export PATH=$PATH:$HADOOP_HOME/bin
EOF
这里我有一点不明白,明明/etc/profile里已经指定了JAVA_HOME,这里为什么还需要指定?
step 6. 设定 hadoop配置文件
•編輯 $HADOOP_HOME/conf/core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
</property>
</configuration>
• 編輯 HADOOP_HOME/conf/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
• 編輯 HADOOP_HOME/conf/mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
step 7. 格式化HDFS
•以上我们已经设定好 Hadoop 单机测试的环境,接着让我们来启动 Hadoop 相关服务,格式化 namenode, secondarynamenode, tasktracker
•$ cd /opt/Hadoop-1.0.2
•$ source /opt/Hadoop-1.0.2/conf/hadoop-env.sh
•$ hadoop namenode -format
执行上面的语句会报空指针错误,因为默认 hadoop.tmp.dir= tmp/hadoop/hadoop-${user.name}
如果你要修改的话可以
•/opt/hadoop-1.0.2/conf$ sudo gedit core-site.xml
<!-- In: conf/core-site.xml -->
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
给此路径路径设定权限
$ sudo mkdir -p /tmp/hadoop/hadoop-hduser
$ sudo chown hduser:hadoop /tmp/hadoop/hadoop-hduser
# ...and if you want to tighten up security, chmod from 755 to 750...
$ sudo chmod 750 /tmp/hadoop/hadoop-hduser
在执行的格式化就会看到
执行画面如:
[: 107: namenode: unexpected operator
12/05/07 20:47:40 INFO namenode.NameNode: STARTUP_MSG:
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG: host = seven7-laptop/127.0.1.1
STARTUP_MSG: args = [-format]
STARTUP_MSG: version = 1.0.2
STARTUP_MSG: build = https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0.2 -r 1304954; compiled by 'hortonfo' on Sat Mar 24 23:58:21 UTC 2012
************************************************************/
12/05/07 20:47:41 INFO util.GSet: VM type = 32-bit
12/05/07 20:47:41 INFO util.GSet: 2% max memory = 17.77875 MB
12/05/07 20:47:41 INFO util.GSet: capacity = 2^22 = 4194304 entries
12/05/07 20:47:41 INFO util.GSet: recommended=4194304, actual=4194304
12/05/07 20:47:41 INFO namenode.FSNamesystem: fsOwner=hduser
12/05/07 20:47:41 INFO namenode.FSNamesystem: supergroup=supergroup
12/05/07 20:47:41 INFO namenode.FSNamesystem: isPermissionEnabled=true
12/05/07 20:47:41 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
12/05/07 20:47:41 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
12/05/07 20:47:41 INFO namenode.NameNode: Caching file names occuring more than 10 times
12/05/07 20:47:42 INFO common.Storage: Image file of size 112 saved in 0 seconds.
12/05/07 20:47:42 INFO common.Storage: Storage directory /tmp/hadoop/hadoop-hduser/dfs/name has been successfully formatted.
12/05/07 20:47:42 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at seven7-laptop/127.0.1.1
************************************************************/
step 7. 启动Hadoop
•接着用 start-all.sh 来启动所有服务,包含 namenode, datanode,
$HADOOP_HOME/bin/start-all.sh
•opt/hadoop-1.0.2/bin$ sh ./start-all.sh
执行画面如:
•starting namenode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-namenode-seven7-laptop.out
localhost:
localhost: starting datanode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-datanode-seven7-laptop.out
localhost:
localhost: starting secondarynamenode, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-secondarynamenode-seven7-laptop.out
starting jobtracker, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-jobtracker-seven7-laptop.out
localhost:
localhost: starting tasktracker, logging to /opt/hadoop-1.0.2/logs/hadoop-hduser-tasktracker-seven7-laptop.out
step 8. 安装完毕测试
•启动之后,可以检查以下网址,来观看服务是否正常。 Hadoop 管理接口 Hadoop Task Tracker 状态 Hadoop DFS 状态
•http://localhost:50030/ - Hadoop 管理接口
至此
Hadoop单节点安装完成,下面将在次单节点集群上进行作业
未完待续ing
分享到:
相关推荐
Hadoop课程实验和报告——Hadoop安装实验报告 Hadoop是一个开源的大数据处理框架,由Apache基金会开发和维护。它提供了一种可靠、可扩展、可高效的方法来存储和处理大规模数据。在本实验报告中,我们将介绍Hadoop的...
9. **Hadoop集群的部署和管理**:掌握在单机、伪分布式和完全分布式模式下安装和配置Hadoop集群,以及使用Ambari等工具进行集群管理。 10. **案例研究**:通过实际的大数据解决方案案例,如日志分析、推荐系统、...
### Hadoop环境配置详解——单机集群篇 #### 一、引言 随着大数据时代的到来,Hadoop作为处理海量数据的利器,其重要性不言而喻。本文旨在详细介绍如何在虚拟机上安装Hadoop环境,并搭建单机集群。通过图文并茂的...
1. **Hadoop安装与配置**:包括单机模式、伪分布式模式和完全分布式模式的搭建,以及配置文件如`core-site.xml`, `hdfs-site.xml`, `mapred-site.xml`和`yarn-site.xml`的设置。 2. **HDFS操作**:学习如何使用HDFS...
在独立模式下,我们通常不需要特别的配置文件,只需安装Hadoop并设置`HADOOP_HOME`环境变量。 2. **伪分布模式**: 伪分布模式是在单台机器上模拟一个完整的Hadoop集群。它允许每个Hadoop服务(如NameNode、...
- **Java安装与环境变量配置**:确保系统已安装Java 1.8,并配置好JAVA_HOME环境变量。 - **下载Hadoop**:从官方网站获取Hadoop 2.7.7安装包。 - **配置Hadoop环境变量**:编辑`hadoop-env.cmd`文件设置JAVA_...
在单机上以伪分布式模式运行Hadoop,意味着所有Hadoop服务(如NameNode和DataNode)都在同一台机器上运行,但模拟分布式环境。需要修改配置文件,如`core-site.xml`、`hdfs-site.xml`和`yarn-site.xml`,设置HDFS和...
在本地测试Hadoop时,通常使用伪分布式模式,即在单机上模拟多节点集群。这需要在`hadoop-env.sh`和相关配置文件中进行特殊设置。此外,文件名称列表中的"01搭建hadoop"可能是一个指导文档,包含了详细步骤,可以...
6. **Hadoop安装与配置**:书中详细介绍了如何在各种环境下安装和配置Hadoop,包括单机模式、伪分布式模式和完全分布式模式,以及如何调整参数以优化性能。 7. **数据处理与分析**:Hadoop提供了多种工具来处理和...
11. MapReduce特性:MapReduce框架采用Master/Slave架构,不同的Map任务间不能通信,Hadoop单机模式不能运行MapReduce应用程序,但错误的说法是C,因为Hadoop的单机模式可以运行MapReduce的简化版本。 12. 神经网络...
在单机模式下,Hadoop仅在一台计算机上运行,不使用分布式文件系统,而是直接操作本地文件系统。这种方式主要用于开发和测试,方便快速启动和停止。 2. **伪分布式模式** 伪分布式模式也在单台机器上运行,但它...
3. **Hadoop安装与配置**:书中会详细介绍如何在不同环境下搭建Hadoop集群,包括单机模式、伪分布式模式和完全分布式模式,以及相关的配置参数调整,帮助读者在实践中学习Hadoop。 4. **HDFS操作**:涵盖HDFS的文件...
2. **单机模式**:初学者通常从单机模式开始,无需集群环境,方便调试和理解Hadoop的基本运作。 3. **伪分布式模式**:在单机上模拟分布式环境,所有服务都在同一台机器上运行,但每个服务都在独立的Java进程中。 ...
7. **Hadoop安装与配置**:书中详细阐述了Hadoop的安装过程,包括单机模式、伪分布式模式和完全分布式模式,并提供了详细的配置参数说明。 8. **数据处理实践**:书中包含许多实际案例,展示了如何使用Hadoop处理...
4. **Hadoop安装与配置**:书中详细介绍了在各种操作系统环境下安装和配置Hadoop集群的步骤,包括单机模式、伪分布式模式和完全分布式模式。此外,还会讲解如何进行性能调优和监控。 5. **Hadoop生态系统**:Hadoop...
- **单机模式**:适合开发和测试,只需在本地机器上启动所有Hadoop服务。 - **伪分布式模式**:在单台机器上模拟分布式环境,每个Hadoop服务以独立进程的形式运行。 - **完全分布式模式**:在多台机器组成的集群上...
书中详细介绍了Hadoop的安装和配置过程,包括单机模式、伪分布式模式以及完全分布式模式,帮助读者在不同环境下搭建Hadoop集群。此外,还详细讲解了Hadoop的核心组件——HDFS(Hadoop Distributed File System),它...