Hadoop安装部署过程

安装Hadoop先决条件

SHH安装,并且有公用ssh无密码跳转账号:admin(机器默认会安装SSH)

在namenode和各个slave上用机器名互相ping,ping不通的话,无法进行

JAVA环境安装(JDK1.6即可兼容HADOOP0.20.2版本)

安装路径:/home/admin/deploy/java6

安装HADOOP

安装HADOOP版本为0.20.2

安装路径:/home/admin/deploy/hadoop-0.20.2

首先格式化hdfs:执行hadoop namenode -format命令,如果不执行此命令在每次重启hadoop会进入安全模式

核心配置文件
hadoop-env.sh:该文件用来配置hadoop所需的特殊环境变量:

JAVA与HADOOP环境变量的设置(如果在~/.bash_profile中设置了环境变量,这里可以不进行配置)

export JAVA_HOME=/home/admin/deploy/java6

export HADOOP_HOME=/home/admin/deploy/hadoop-0.20.2

JAVA虚拟机性能调优(省略不用修改的内容)

HADOOP_NAMENODE_OPTS="-Xmx2048m–Xms1024m -Xmn1024m

HADOOP_DATANODE_OPTS="-Xmx2048m–Xms1024m -Xmn1024m

HADOOP_JOBTRACKER_OPTS="-Xmx2048m–Xms1024m -Xmn1024m

补充解释:

这里的XMS与XMX指的是JAVA虚拟机内存分配策略中的最大可用内存和最小内存设置。

不建议将XMS与XMX设置成一样。因为java的垃圾回收器在内存使用达到XMS值的时候才会开始回收,如果2个值一样,那么JAVA会在使用完所有内存时才会回收垃圾,导致内存LOAD一直很高。

关于XMN这个参数是JAVA内存机制中的年轻代。

整个JVM内存大小=年轻代大小 + 年老代大小 + 持久代大小。

持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。这里为了便于计算,取整个堆的一半。

另外:如果JAVA内存设置过大,HADOOP启动会报错

Error occurred during initialization of VM,Could not reserve enough space for object heap


 

core-site.xml:核心代码配置文件,需要修改的参数如下,其余可以先采用默认配置
<property>

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

<value>hdfs://xxxxxxxxxx:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/admin/deploy/hdfs</value>

</property>

内容说明:

hadoop.tmp.dir:

这是hdfs存放namenode名空间和datanode数据块的地方,可以设置为任意存在的目录,默认在/tmp/Hadoop-username目录下,建议重定向目录

如果遇到namenode启动失败,很可能是这个配置文件的问题。

如果遇到datanode启动失败,一般是没有成功格式化hdfs,实在无法解决的话,可以尝试将{Hadoop.tmp.dir}清空,重新格式化hdfs。

fs.default.name

顾名思义,这个配置是HDFS的NAMENODE的地址与端口号

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/18185868fa468ac9ec9bcf560ec20cf2.html