Hadoop安装部署(3)
Hadoop环境变量在/home/dbrg/HadoopInstall/hadoop-conf目录下的hadoop_env.sh中设置Hadoop需要的环境变量,其中JAVA_HOME是必须设定的变量。HADOOP_HOME变量可以设定也可以不设定,如果不设定,HADOOP_HOME默认的是bin目录的父目录,即本文中的/home/dbrg/HadoopInstall/hadoop。我的是这样设置的
exportHADOOP_HOME=/home/dbrg/HadoopInstall/hadoop
exportJAVA_HOME=/usr/java/jdk1.6.0
从这个地方就可以看出前面所述的创建hadoop0.12.0的链接hadoop的优点了,当以后更新hadoop的版本的时候,就不需要在改配置文件,只需要更改链接就可以了。
Hadoop配置文件
如前所述,在hadoop-conf/目录下,打开slaves文件,该文件用来指定所有的从节点,一行指定一个主机名。即本文中的dbrg-2,dbrg-3,因此slaves文件看起来应该是这样的
dbrg-2
dbrg-3
在 conf/目录中的hadoop-default.xml中包含了Hadoop的所有配置项,但是不允许直接修改!可以在hadoop-conf/目录下 的hadoop-site.xml里面定义我们需要的项,其值会覆盖hadoop-default.xml中的默认值。可以根据自己的实际需要来进行定 制。以下是我的配置档:
fs.default.name
dbrg-1:9000
The name of the default file system. Either theliteral string "local" or a host:port for DFS.
mapred.job.tracker
dbrg-1:9001
The host and port that the MapReduce job trackerruns at. If "local", then jobs are run in-process as a single map andreduce task.
hadoop.tmp.dir
/home/dbrg/HadoopInstall/tmp
A base for other temporary directories.
dfs.name.dir
/home/dbrg/HadoopInstall/filesystem/name
Determines where on the local filesystem the DFSname node should store the name table. If this is a comma-delimited listof directories then the name table is replicated in all of thedirectories, for redundancy.
dfs.data.dir
/home/dbrg/HadoopInstall/filesystem/data
Determines where on the local filesystem an DFS datanode should store its blocks. If this is a comma-delimited list ofdirectories, then data will be stored in all named directories,typically on different devices. Directories that do not exist areignored.
dfs.replication
1
Default block replication. The actual number ofreplications can be specified when the file is created. The default isused if replication is not specified in create time.
部署Hadoop
前面讲的这么多Hadoop的环境变量和配置文件都是在dbrg-1这台机器上的,现在需要将hadoop部署到其他的机器上,保证目录结构一致。
$scp-r/home/dbrg/HadoopInstalldbrg-2:/home/dbrg/
$scp-r/home/dbrg/HadoopInstalldbrg-3:/home/dbrg/
至此,可以说,Hadoop已经在各个机器上部署完毕了下面就让我们开始启动Hadoop吧
启动Hadoop
启动之前,我们先要格式化namenode,先进入~/HadoopInstall/hadoop目录,执行下面的命令
$bin/hadoopnamenode-format
不出意外,应该会提示格式化成功。如果不成功,就去hadoop/logs/目录下去查看日志文件
下面就该正式启动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守护
在这里,简单启动所有守护
$bin/start-all.sh
同样,如果要停止hadoop,则
$bin/stop-all.sh
HDFS操作
运行bin/目录的hadoop命令,可以查看Haoop所有支持的操作及其用法,这里以几个简单的操作为例。
建立目录
$bin/hadoopdfs-mkdirtestdir
在HDFS中建立一个名为testdir的目录
复制文件
$bin/hadoopdfs-put/home/dbrg/large.ziptestfile.zip
把本地文件large.zip拷贝到HDFS的根目录/user/dbrg/下,文件名为testfile.zip
查看现有文件
$bin/hadoopdfs-ls
页:
[1]