bco 发表于 2018-11-1 10:09:06

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]
查看完整版本: Hadoop安装部署(3)