Hadoop HDFS如何配置
https://www.yqxbc.com win10系统 发布时间:2015-06-18 00:00 来源:未知 浏览:加载中
摘要:环境: Jdk1.6 Hadoop-2.20.1 Fuse-2.8.1 Jdk1.6下载地址 http://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/VerifyItem-Start/jdk-6u14-linux-i586.binBundledLineItemUUID=.1JIBe.mR4oAAAEh1jkH4cNKOrderID=SHBIBe.mbIYAAAE

环境:

Jdk1.6

Hadoop-2.20.1

Fuse-2.8.1

Jdk1.6下载地址

hadoop-2.20.1下载地址http://www.apache.org/dyn/closer.cgi/hadoop/core/

Fuse-2.8.1下载地址http://sourceforge.net/projects/fuse/files/fuse-2.X/

NameNode 192.168.1.11 Centos 5.3 hostname master-dfs

JobTracker 192.168.1.11 (这个也可单独配置一台)

DataNode 192.168.1.12 Centos 5.3 hostname:data-dfs

Client  192.168.1.13 Centos 5.3 hostname:client-dfs

先决条件

配置ssh自动登陆,详细见http://hadoop.apache.org/common/docs/r0.20.0/quickstart.html

安装

1、JDK安装,解压到/usr/local/jdk1.6,并配置/etc/profile环境

 

export JAVA_HOME=/usr/local/jdk1.6   

export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre:$PATH   

export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

 

2、下载Hadoop 解压到每台服务器的/data/soft目录下,最好目录都相同。

 

tar zxvf hadoop-2.20.1.tar.gz
配置

 

配置说明

具体配置选项说明详见

http://www.hadoop.org.cn/document/cn/r0.18.2/cluster_setup.html

1、修改conf/hadoop-env.sh,添加jdk支持

 

export JAVA_HOME=/usr/local/jdk1.6
2、cd/data/soft/hadoop-2.20.1修改hadoop目录下的conf/core-site.xml文件,增加以下内容

 

 

 


  fs.default.name
  hdfs://ws:54310 //你的namenode的配置,机器名加端口

  
      dfs.name.dir
      /data/hdfs/hdfs1 
//NameNode持久存储名字空间及事务日志的本地文件系统路径。 
  
  
     dfs.data.dir //DataNode存放块数据的本地文件系统路径,逗号分割的列表。
     /data/hdfs/hdfsdata1
  


  hadoop.tmp.dir>//Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。
  /data/hdfs/hdfstmp
  A base for other temporary directories.


   dfs.replication //数据需要备份的数量,默认是三
   1

 

 

3、修改conf/mapred-site.xml增加如下内容

 

 

    mapred.job.tracker //JobTracker的主机(或者IP)和端口。

    ws:54311

  

4、配置/masters,修改conf//masters

 

 

master-dfs
修改hosts文件 vi/etc/hosts

 

 

192.168.1.11 master-dfs

192.168.1.12 data-dfs

192.168.1.13 client-dfs

5、配置slaves,修改conf/slaves

 

 

data-dfs
复制hadoop-2.20.1目录以及所有文件到DataNode和Client

 

 

scp -rp /data/soft/hadoop-2.20.1 192.168.1.12:/data/soft

scp -rp /data/soft/hadoop-2.20.1 192.168.1.13:/data/soft

6、格式化Hdfs文件系统namenode,进入hadoop目录

 

 

[master@hadoop]$bin/hadoop  namenode  -format
输入Y,(注意区分大小写.这里一定要输入大写的Y,否刚不会成功format文件系统)

 

不出意外,应该会提示格式化成功。如果不成功,就去hadoop/logs/目录下去查看日志文件。

7、启动Hdfs分布式文件系统

进入hadoop目录,在bin/下面有很多启动脚本,可以根据自己的需要来启动。

 

* start-all.sh 启动所有的Hadoop守护。包括namenode, datanode, jobtracker, tasktrack

* stop-all.sh 停止所有的Hadoop

* start-mapred.sh 启动Map/Reduce守护。包括Jobtracker和Tasktrack

* stop-mapred.sh 停止Map/Reduce守护

* start-dfs.sh 启动Hadoop DFS守护.Namenode和Datanode

* stop-dfs.sh 停止DFS守护

启动所有守护

 

 

[master@hadoop]bin/start-all.sh  //会自动找到conf/slaves文件里的IP或者机器名,启动相应的slaves服务端

同样,如果要停止hadoop,则

[master@hadoop]$bin/stop-all.sh

8、HDFS 操作

 

进入Hadoop目录,运行bin/目录的hadoop命令,可以查看Haoop所有支持的操作及其用法,这里以几个简单的操作为例。

建立目录

 

[master@hadoop]$bin/hadoop dfs -mkdir testdir

在HDFS中建立一个名为testdir的目录

复制文件

[master@hadoop]$bin/hadoop dfs -put /home/dbrg/large.zip testfile.zip

把本地文件large.zip拷贝到HDFS的根目录/user/dbrg/下,文件名为testfile.zip

查看现有文件

[master@hadoop]$bin/hadoop dfs -ls

运行hadoop程序时, 中途我把它终止了,然后再向hdfs加文件或删除文件时,出现

 

 

Name node is in safe mode错误:

rmr: org.apache.hadoop.dfs.SafeModeException: Cannot delete /user/hadoop/input. Name node is in safe mode

解决的命令:

 

 

bin/hadoop dfsadmin -safemode leave #关闭safe mode