59519751 发表于 2018-11-1 09:21:04

hadoop部署安装

  共有2台机器,均使用的centos5.7系统,Java使用的是jdk1.7.0。IP配置如下:
  
centos1:10.0.9.101
  
centos2:10.0.9.102
  
这里有一点需要强调的就是,务必要确保每台机器的主机名和IP地址之间能正确解析。
  一个很简单的测试办法就是ping一下主机名,比如在centos1上ping centos2,如果能ping通就OK!若不能正确解析,可以修改/etc/hosts文件,如果该台机器作Namenode用,则需要在hosts文件中加上集群中所有机器的IP地址及其对应的主机名;如果该台机器作Datanode用,则只需要在hosts文件中加上本机IP地址和Namenode机器的IP地址。
  以本文为例,centos1中的/etc/hosts文件看起来就应该是这样的:
  
127.0.0.0         localhost
  
10.0.9.101   centos1
  
10.0.9.102   centos2
  
centos2中的/etc/hosts文件看起来就应该是这样的:
  
127.0.0.0         localhost
  
10.0.9.101   centos1
  
10.0.9.102   centos2
  对于Hadoop来说,在HDFS看来,节点分为Namenode和Datanode,其中Namenode只有一个,Datanode可以是很多;在MapReduce看来,节点又分为Jobtracker和Tasktracker,其中Jobtracker只有一个,Tasktracker可以是很多。
  
我是将namenode和jobtracker部署在centos1上,centos1和centos2作为datanode和tasktracker。当然你也可以将namenode,datanode,jobtracker,tasktracker全部部署在一台机器上(就像centos1)。
  jdk环境配置
  官网下载适合自己的jdk
  http://www.oracle.com/technetwork/java/javase/downloads/java-se-jdk-7-download-432154.html
  为了简单下载一个rpm包
  jdk-7-linux-x64.rpm

rpm -ivh jdk-7-linux-x64.rpm
查看/usr/目录就有java目录了
配置环境变量  

#vim /etc/profile  

  在profile文件下面追加写入下面信息:
  

export JAVA_HOME=/usr/java/jdk1.7.0
  export>=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar  export
PATH=$PATH:$JAVA_HOME/bin  

  是配置文档生效
  source /etc/profile
  目录结构
  这里务必以新建用户grid登陆,保证hadoop目录及子目录属主为grid一个人(如果既有root又有grid以后会出现很多错误)
  
由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。
  
我的三台机器上是这样的:都有一个grid的帐户,主目录是/home/grid
  
Hadoop部署目录结构如下:/home/grid/HadoopInstall,所有的hadoop版本放在这个目录中。
  
将hadoop0.20.204压缩包解压至HadoopInstall中,为了方便以后升级,建议建立一个链接指向要使用的hadoop版本,不妨设为hadoop
  
$ln-shadoop0.20.204 hadoop
  
这样一来,所有的配置文件都在/home/grid/HadoopInstall/hadoop/conf/目录中,所有执行程序都在hadoop/bin目录中。
  
但是由于上述目录中hadoop的配置文件和hadoop的安装目录是放在一起的,这样一旦日后升级hadoop版本的时候所有的配置文件都会被覆盖,因此建议将配置文件与安装目录分离,一种比较好的方法就是建立一个存放配置文件的目录,/home/grid/HadoopInstall/hadoop-conf/,然后将hadoop/conf/目录中的core-site.xml,hdfs-site.xml,mapred-site.xml,master,slaves,hadoop_env.sh六个文件拷贝到hadoop-conf/目录中,并指定环境变量$HADOOP_CONF_DIR指向该目录。环境变量在/home/grid/.bashrc或/etc/profile中设定。
  export $HADOOP_CONF_DIR=/home/grid/HadoopInstall/hadoop/hadoop-conf
  
综上所述,为了方便以后升级版本,我们需要做到配置文件与安装目录分离,并通过设定一个指向我们要使用的版本的hadoop的链接,这样可以减少我们对配置文件的维护。在下面的部分,你就会体会到这样分离以及链接的好处了。
  这里的目录和链接结构比较乱,我在说明一下
  家目录/home/grid
  下面有一个放hadoop各版本的目录HadoopInstall,比如示例版本hadoop0.20.204即
  /home/grid/HadoopInstall/hadoop0.20.204


页: [1]
查看完整版本: hadoop部署安装