Hadoop安装部署过程

2019-03-28 13:14|来源: 网络

安装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的地址与端口号

相关问答

更多
  • 现在hadoop1.0都出了 简单说一下吧 你的java jdk的环境变量没有设置吧? 最好按以下步骤再做一遍: 1 用root用户安装jdk1.6以上 2 用root用户 创建hadoop用户 3 在hadoop用户下安装hadoop(你上面说的1到4) 4 修改/home/hadoop/.bash_profile将JDK和hadoop的环境变量设置好 5 安装ssh(伪集群也需要ssh)
  • hdp hadoop 的安装 部署在什么位置 之前有做过这种尝试,为此还看了Ambari的具体实现,对里面的部署过程进行了一些干预,最后是部署成了Apache Hadoop 1.2.1,但就HDFS功能正常,MapReduce是跑不起的,最后结论就是用Ambari的话,还是老老实实地装HDP吧,除非深入了解Ambari,然后改写它,但这样的话,还不如自己开发个自动部署Apache Hadoop的程序来的快些。
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • hadoop安装问题[2023-11-22]

    你看的教程是旧的,新版的hadoop启动脚本放在sbin下。start-all.sh已经逐渐被废弃,采用新的启动脚本: sbin/hadoop-daemon.sh --script hdfs start datanodesbin/hadoop-daemon.sh --script hdfs start namenodesbin/yarn-daemon.sh start resourcemanagersbin/yarn-daemon.sh start proxyserversbin/mr-jobhistory ...
  • 是的,hbase的存储是基于hdfs文件存储系统的。如果想学好hbase,至少要知道mapreduce、hdfs、zookeeper。
  • jps在java安装目录的bin目录下 你可以到java-bin目录下去执行 或者把java-bin添加到PATH的环境变量中
  • 没有找到NameNode这个类,估计是你hadoop不全,或者其他配置文件有错误,不是这个配置文件的问题
  • 可以到华为官网查询所购买的服务器型号对应的RAID整列卡及所需安装的操作系统版本的驱动程序,亦可通过服务器配置清单货开机自检信息查看服务器锁配备的RAID卡型号下载相应的驱动。在安装操作系统过程中如果是Server2003、xp系列需要将驱动程序存放于软盘中在系统安装过程中按照提示按F6进行加载。如果安装server2008、Win7及以上版本可以直接通过优盘进行加载linux系列操作系统可以借助软盘货优盘挂载加载。目前主流的操作系统已经包含大部分厂商的RAID驱动,可以尝试直接安装看能否匹配系统镜像自带的 ...
  • [postbg]bg4.png[/postbg]可以手工scp:scp把你安装的文件、目录,包括环境变量,比如profile。都需要复制过去。记得profile复制过去的时候,使用source命令,生效一下。例如: scp /usr/hadoop hadoop1: /usr/hadoop scp /etc/profile hadoop1:/etc/profile可以使用集群管理工具pupet,或则ambari,ambari可以下面的内容http://www.aboutyun.com/thread-7503- ...
  • 使用bash而不是sh来调用脚本。 这解决了我的问题。 Use bash and not sh to invoke the scripts. That solved my problem.