Hadoop入门--Hadoop2伪分布式安装

2019-03-28 12:59|来源: 网络

Hadoop2伪分布式安装:
 
1、Java环境变量配置
 
在.bash_profile文件中加入如下环境变量:
 
####################JAVAHOME####################
 
exportJAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64
 
exportJRE_HOME=$JAVA_HOME/jre
 
exportCLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
 
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
 
执行 source.bash_profile使环境变量生效。
 
2、ssh无密码验证配置
 
ssh-keygen -t rsa -P ""
 
进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的:
 
cd ~/.ssh
 
cat id_rsa.pub>> authorized_keys
 
3、修改配置文件
 
修改的配置文件都在$HADOOP_HOME/etc/hadoop目录下:
 
core-site.xml、hdfs-site.xml、yarn-site.xml 、mapred-site.xml. 四个文件
 
配置文件的添加和修改都在<configuration></configuration> 中。
 
(1)core-site.xml
 
<configuration>
 
        <property>
 
              <name>fs.defaultFS</name>
 
              <value>hdfs://127.0.0.1:9000</value>
 
        </property>
 
</configuration>
 
添加hdfs的指定URL路径,由于是伪分布模式,所以配置的是本机IP ,可为真实Ip、localhost。
 
官网上还提到io.file.buffer.size配置,由于默认的比较小只有4096,所以可以安装自己的需求写该131072(官方提供)。由于我这里只是做测试,配置越简单越好。呵呵。
 
(2)hdfs-site.xml
 
主要是对namenode 和 datanode 存储路径的设置。其实默认是存储在file://${hadoop.tmp.dir}/dfs/name和data 下的。所以这里也不需配置的。但默认的师临时文件,重启就没有了。配置如下:
 
<configuration>
 
        <property>

              <name>dfs.namenode.name.dir</name>

              <value>file:/abm/work/hadoop-2.0.5-alpha/dfs/name</value>

        </property>

        <property>

                <name>dfs.datanode.data.dir</name>
 
              <value>file:/abm/work/hadoop-2.0.5-alpha/dfs/data</value>

        </property>

</configuration>
 
(3)mapred-site.xml(该文件不存在,需要新建)
 
<configuration>
 
        <property>
 
              <name>mapreduce.framework.name</name>
 
                <value>yarn</value>
 
        </property>
 
</configuration>
 
(4)yarn-site.xml
 
为了简单,快速做测试,我还是使用默认的。
 
1、  启动服务
 
启动的文件都是 sbin下,bin下的都是命令。
 
(1)格式化namenode
 
bin/hdfs namenode –format
 
确定不报错,且出现如下信息:(其中172.21.0.32是我的主机ip)
 
/************************************************************
 
SHUTDOWN_MSG:Shutting down NameNode at 172-21-0-32.openstacklocal/172.21.0.32
 
************************************************************/
 
(2)启动namenode
 
sbin/Hadoop-daemon.sh startnamenode
 
sbin/hadoop-daemon.shstart datanode
 
运行jps可以查看是否启动成功。
 
(3)启动Manage管理
 
sbin/yarn-daemon.shstart resourcemanager
 
sbin/yarn-daemon.shstart nodemanager
 
(4)使用start-all.sh直接启动Hadoop
 
如果报如下错误:localhost:Error: JAVA_HOME is not set and could not be found.则是因为JAVA_HOME环境变量没有设置,需要在./etc/hadoop/hadoop-env.sh中设置JAVA_HOME,
 
exportJAVA_HOME=$JAVA_HOME这样设置仍然会报错,只有使用绝对路径才不会报错。如:export JAVA_HOME=/usr/lib/jvm/jre-1.6.0-openjdk.x86_64

更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

相关问答

更多
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 1、能搭好环境说明水平还不错。 2、下边应该分以下几步走: 一,依据示例程序,自己手写wordcount之类的示例程序,以此充分了解m/r和hdfs的简单原理。 二,针对某些知识点,如hadoop应用场景、hadoop的简单应用等,去百度一下搞定,这样的问题最关键、最需要做的。 三,深入阅读hadoop的源码,把框架的数据流或说工作流搞个大致清楚。 四,试着用hadoop解决一些实际问题和项目应用。 参考下吧。
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 启动hdfs,mr和yarn服务看是否能够正常启动,然后用hadoop fs -ls /是否能够正常执行
  • 若在windows的Eclipse工程中直接启动mapreduc程序,需要先把hadoop集群的配置目录下的xml都拷贝到src目录下,让程序自动读取集群的地址后去进行分布式运行(您也可以自己写java代码去设置job的configuration属性)。   若不拷贝,工程中bin目录没有完整的xml配置文件,则windows执行的mapreduce程序全部通过本机的jvm执行,作业名也是带有“local"字眼的作业,如 job_local2062122004_0001。 这不是真正的分布式运行mapred ...
  • 启动hdfs,mr和yarn服务看是否能够正常启动,然后用hadoop fs -ls /是否能够正常执行
  • 在 /usr/local/hadoop/ 下面启动,找到是/opt/Hadoop/下面的hadoop安装包,是不是HADOOP_HOME环境变量配置的有问题。 可以到海牛部落交流,那里有好多学习hadoop的朋友
  • 你可以输入JPS查看一下进程 一般你的master上是namenode secondarynamenode 和jobtracker三个进程 你的slaves上 有各自的datanode 和tasktracker两个进程 你看看是不是有各自进程都启动起来了 启动起来了就是分布式 如果只有一台机子有进程 那你就重新把那些配置文件再设置一下
  • hadoop集群指的是一群机器在一起提供一个hadoop的集群的服务。 hadoop分布式指的是hadoop支持任务分布式运行,因为有hadoop集群提供服务,所以hadoop将任务分发到集群的多台机器运行,所以叫做分布式。 一个是服务器架构,一个是任务运行架构。
  • 要知道您是以独立还是伪分布模式运行hadoop,请验证您的配置文件。 以下信息可能有帮助。 To know if you are running hadoop in Standalone or Pseudo distributed mode, verify your configuration files. Below information might help.