一:安装JDK

hadoop 是以java语言写的,因此需要在本地计算机上预先安装JDK,安装JDK的方法这里不再详述。

二:创建hadoop用户

为hadoop创建一个专门的用户,将所有的hadoop的工作放到这个用户下。

$sudo adduser hadoop

回车后会提示输入新建用户hadoop的密码,输入密码后会有一些选项确认:

            Changing the user information for username
            Enter the new value, or press ENTER for the default
            Full Name []:
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
这个信息是否正确? [Y/n]

回车保持默认即可。

三:下载hadoop

从apache hadoop 上下载稳定版本的发布包,这里采用的是hadoop-2.5.1.  下载地址:http://hadoop.apache.org/releases.html

配置~/.bashrc(待细究)

$ sudo gedit ~/.bashrc

将如下jdk的信息内容加到后面:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67

export JRE_HOME=${JAVA_HOME}/jre

export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

export PATH=${JAVA_HOME}/bin:$PATH

四:安装配置ssh

  1.安装ssh

 $sudo apt-get install ssh openssh-server

2.ssh无密码验证登录
1)生成当前用户的SSH公钥

$ssh-keygen -t rsa -P ""

2)将~/.ssh/id_rsa.pub添加到目标机器的~/.ssh/authorized_keys文件中

$cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

3)使用

$ssh localhost

命令即可免密码登录到本地。

五:解压hadoop源码包

终端下利用cd命令进入到到步骤三下载的hadoop源码包所在目录,使用复制命令把hadoop源码包复制到/home/hadoop下

$cp hadoop-2.5.1.tar.gz  /home/hadoop

在/home/hadoop下将hadoop-2.5.1.tar.gz解压到当前文件夹

$tar -xzvf    hadoop-2.5.1.tar.gz

六:配置hadoop的hadoop-2.5.1/etc/hadoop下的hadoop-env.sh,core-site.xml,mapred-site.xml,hdfs-site.xml

 1.配置hadoop-env.sh,命令行:

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/hadoop-env.sh

将下面原来的:

# The java implementation to use.
export JAVA_HOME=${JAVA_HOME}

将${JAVA_HOME}改为自己的jdk路径,例如我的如下:

# The java implementation to use.
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_67

 2.配置core-site.xml

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/core-site.xml

在/home/hadoop/hadoop-2.5.1/下新建hadoop_tmp目录,将core-site.xml ,在<configuration></configuration>之间添加信息

<?xml version="1.0" encoding="UTF-8"?>
<?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>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.5.1/hadoop_tmp</value>
<description>A base for other temporary directories.</description>
</property> </configuration>

 3.配置mapred-site.xml

在<configuration></configuration>之间添加如下信息

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>

4.配置hdfs-site.xml

hdfs-site.xml用来配置集群中每台主机都可用,指定主机上作为namenode和datanode的目录。

在/home/hadoop/hadoop-2.5.1下创建文件夹hdfs:

$cd  /home/hadoop/hadoop-2.5.1

进入后:

$mkdir hdfs
$mkdir hdfs/name
$mkdir hdfs/data

用gedit命令hdfs-site.xml如下:

$gedit  /home/hadoop/hadoop-2.5.1/etc/hadoop/hdfs-site.xml

在该文件的<configuration></configuration>之间增加如下内容:

<configuration>
<property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/hadoop-2.5.1/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/hadoop-2.5.1/hdfs/data</value> </property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

保存、关闭编辑窗口

七:格式化hdfs:

cd进入hadoop-2.5.1后:

$ bin/hadoop namenode -format

八:启动hadoop

cd进入hadoop-2.5.1目录后:

$sbin/start-dfs.sh

执行 jps命令,会看到Hadoop相关的进程:

$jps

会有如下信息:

hadoop@tiffer-Aspire-V3-571G:~/hadoop-2.5.1$ jps
11409 NameNode
11760 SecondaryNameNode
11874 Jps
11569 DataNode

浏览器打开 http://localhost:50070/,会看到hdfs管理页面。

若果想关闭hadoop可以使用:

$sbin/stop-all.sh

至此,hadoop伪分布的搭建基本完成。

各种问题总结:

(1)ssh免密码登陆配置之后失败原因之一:

.ssh及其下属子文件的权限问题:

1.首先.ssh的父目录文件权限应该是755,即所属用户的 用户文件 (/home下属的一个用户文件)。

2然后.ssh目录权限是700, 两个dsa 和 rsa的 私钥权限是600,其余文件权限是644.

最新文章

  1. Hangfire项目实践分享
  2. 编译器开发系列--Ocelot语言5.表达式的有效性检查
  3. spring mvc 和spring security配置 web.xml设置
  4. android中ColorStateList及StateListDrawable设置Selector
  5. DOM+CSS3实现小游戏SwingCopters
  6. .SQL Server中 image类型数据的比较
  7. Codeforces Round #131 (Div. 1) B. Numbers dp
  8. (三)u-boot2013.01.01 for TQ210:《mkconfig分析》
  9. Oracle 删除表分区
  10. [RxJS] Transformation operators: delay and delayWhen
  11. java 手动清理缓存的方法
  12. Linux中使用mysqldump对MySQL数据库进行定时备份
  13. [转]activiti5用户任务分配
  14. Genymotion下载失败解决方法
  15. vs当前不会命中断点,还没有为该文档加载任何符号
  16. CentOS 通过yum来升级php到php5.6
  17. windows下的Redis主从集群搭建
  18. sql 语句的先后执行顺序
  19. NativeWindow_01_CreateWindow(Ex)_VC6
  20. css 的pointer-events 属性

热门文章

  1. 使用unity创建塔防游戏(原译)(part1)
  2. C#通过外部别名,解决DLL冲突问题
  3. Node.js学习笔记(一):快速开始
  4. Android便携式热点的开启状态检测和SSID的获取
  5. centos6 安装python2.7+和神器pip
  6. DoTween基本使用
  7. 前端——HTML笔记Two
  8. ffmpeg的安装--opencv视频处理必备
  9. PNG文件转png8
  10. express mongoose 新手上路 问题记录