Hadoop入门-单机伪分布式配置

纵饮孤独 提交于 2019-12-02 03:48:47

为了配置的的方便建议先提升你的登录用户权限,本配置中凡是要在终端中输入的命令都用红色字体,需注意对应的目录用了色字体标出。

启用超级用户sudo passwd root(然后输入你的超级用户密码)以后在终端中输入su,再输入该密码就可以 用超级用户登录了

提升用户权限命令,在终端中输入sudo gedit /etc/passwd

在文件末尾找到你的登录用户:我的是szllong:x:1000:1000:szllong,,,:/home/szllong:/bin/bash将其中的两个1000改为0保存并退出,重启电脑输入你的用户名和密码(我的用户名就是szllong,这里可能会习惯性的直接输入密码需注意)。

由于root登录有助多不变,建议配置完成后,再将你的权限改回来。

接下来就可以正式安装了。

1、安装基础工具

ssh

ubuntu默认并没有安装ssh服务,如果通过ssh链接ubuntu,需要自己手动安装ssh-server。判断是否安装ssh服务,可以通过如下命令进行:ssh localhost

如上没出现 ssh: connect to host localhost port 22: Connection refused,表示没有还没有安装,可以通过apt安装,共三个,命令如下:

apt-get install ssh

apt-get install openssh-server  

sudo apt-get install rsync

很多介绍里会在前面加入sudo,这是为了要获得root权限,这是可能还要输入你的用户密码,下同

2、安装JDK

下载源码包jdk-7u4-linux-i586.tar.gz

(jdk版本可以根据需要自己下载最新版本,但在接下来环境配置时记得要改为相应版本)
将之放到目录:/usr/lib/jvm

(这里位置目录可以自己定义,JDK环境变量需要对应)
进入该目录直接解压:tar zxvf jdk-7u4-linux-x64.tar.gz

3、安装hadoop-1.0.3.tar.gz,到hadoop官网下载hadoop-1.0.3.tar.gz

(此时hadoop-1.0.3.tar.gz是最稳定的版本,可以根据情况选择其他版本)

3.1、将下载包解压到usr目录tar zxvf hadoop-1.0.3.tar.gz

3.2、修改hadoop-env.sh配置

这里有两种配置方法一种是直接通过vi配置,这需要对它有一定的了解,由于我是个新手所以就直接找到该文件,然后对之进行修改(这时用具有root权限的用户登录就有优势了,因为这些配置文件的权限属于root,普通用户是不具有该权限的)

先给出通过vi配置的方法,这是我在网上百度的,没有实验过,但这里的目录名需要与你的先前解压目录相对应(即/usr/lib/jvm/jdk1.7.0_04目录)

  • vi conf/hadoop-env.sh

  • # 找到JAVA_HOME设置:export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04

  • # 在文件末尾加以下内容, 取消环境变量$HADOOP_HOME过时的警告:export HADOOP_HOME_WARN_SUPPRESS=1

配置环境变量(集群节点都要配置环境变量)

vi /etc/profile

在文件中末尾加入以下内容:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/hadoop-1.0.3
export PATH=$PATH:$HADOOP_HOME/bin

让环境变量生效

source /etc/profile

主要配置三个文件:core-site.xmlhdfs-site.xmlmapred-site.xml使用高版本的hadoop就要修改为下面的配置:

Java代码 §

  1. 配置

  2. 使用如下的 conf/core-site.xml:

  3. <configuration>

  4. <property>

  5. <name>fs.default.name</name>

  6. <value>hdfs://localhost:9000</value>

  7. </property>

  8. </configuration>

Java代码 §

  1. 配置

  2. 使用如下的 conf/hdfs-site.xml:

  3. <configuration>

  4. <property>

  5. <name>dfs.replication</name>

  6. <value>1</value>

  7. </property>

  8. </configuration>

Java代码 §

  1. 配置

  2. 使用如下的 conf/mapred-site.xml:

  3. <configuration>

  4. <property>

  5. <name>mapred.job.tracker</name>

  6. <value>localhost:9001</value>

  7. </property>

  8. </configuration>

接下来给出直接配置方法,直接配置方法就是直接在你的安装目录中修改该文件,

1.usr/hadoop1.0.3/conf目录下找到hadoop-env.sh文件后打开,注意因为现在是root用户登录,所以可能会出现一个对话框,这里要选显示而不是执行

找到

# export JAVA_HOME=/usr/lib/j2sdk1.5-sun

# 表示注释,它之后的句子不被执行,仅起提示作用)

再该句话下加入配置环境语句(注意目录的对应)

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

在文件末尾加

export HADOOP_HOME_WARN_SUPPRESS=1

取消环境变量$HADOOP_HOME过时的警告:

2.配置环境变量

etc目录下找到profile文件,在其末尾加入以下内容(这里同样要注意目录的对应)

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_04
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export HADOOP_HOME=/hadoop-1.0.3
export PATH=$PATH:$HADOOP_HOME/bin

由于#可以起到注释作用,你可以在这里加上

#I add something to make java-jdk active times:2012 08 24 22:36

唯一标识

让环境变量生效

在终端中source /etc/profile

3.配置三个文件core-site.xmlhdfs-site.xmlmapred-site.xml

usr/hadoop1.0.3/conf中找到core-site.xml文件

<configuration>

</configuration>

中加入

<property>

<name>fs.default.name</name>

<value>hdfs://localhost:9000</value>

</property>

找到hdfs-site.xml文件

<configuration>

</configuration>

中加入

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

找到mapred-site.xml文件

<configuration>

</configuration>

中加入

<property>

<name>mapred.job.tracker</name>

<value>localhost:9001</value>

</property>

4.在终端中输入ssh localhost如果需要输入密码则输入密码后运行以下两条命令,

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa 
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这是为了,配置自由登录hadoop的密码,第一句是产生,第二句是分发

5.cd命令进入usr/hadoop1.0.3输入bin/hadoop namenode -format进行格式化

6. 输入bin/start-all.sh启动hadoop

7.在浏览器中输入 http://localhost:50070/,如显示的有磁盘容量表示已经配置成功。

注意因定要进入hadoop安装目录后再运行bin...命令,否则会出现找不到文件或文件夹

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!