bobpxp 发表于 2018-10-30 10:41:18

hadoop2.7【单节点】单机、伪分布、分布式安装指导

  问题导读
  1.从本文部署实际部署,总结本地模式、伪分布、分布式的区别是什么?
  2.单机是否是伪分布?
  3.本地模式是否可以运行mapreduce?

  原文链接:
  http://www.aboutyun.com/thread-12798-1-1.html
  hadoop2.7发布,这一版不太适合用于生产环境,但是并不影响学习:由于hadoop安装方式有三种,并且三种安装方式都可以在前面的基础上继续配置,分别是:

[*]  本地模式
[*]  伪分布
[*]  分布式
  ###############################################
  1.准备
  安装jdk1.7参考
  linux(ubuntu)安装Java jdk环境变量设置及小程序测试
  测试:
  Java -version

  安装ssh

[*]  sudo apt-get install ssh

[*]  $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
[*]  $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[*]  $ export HADOOP\_PREFIX=/usr/local/hadoop
  最后达到无密码登录

[*]  ssh localhost
[*]

  安装rsync

[*]  sudo apt-get install rsync
[*]
  修改网卡:
  注释掉127.0.1.1 ubuntu
  添加新的映射
  10.0.0.81 ubuntu

  这里必须修改,否则后面会遇到连接拒绝等问题
  2.安装
  进入配置文件目录
  我这里是
  ~/hadoop-2.7.0/etc/hadoop

  修改配置文件:
  etc/hadoop/hadoop-env.sh
  添加JAVA_HOME、HADOOP_COMMON_HOME

[*]  export JAVA_HOME=/usr/jdk
[*]  export HADOOP_COMMON_HOME=~/hadoop-2.7.0
[*]
  配置环境变量
  sudo nano /etc/environment
  增加hadoop配置
  将下面添加到变量PATH中

[*]  /home/aboutyun/hadoop-2.7.0/bin:/home/aboutyun/hadoop-2.7.0/sbin:

  ########################################################
  3.本地模式验证[可忽略]
  所谓的本地模式:在运行程序的时候,比如wordcount是在本地磁盘运行的
  上面已经配置完毕,我们对其测试,分别执行面命令:
  注意: bin/hadoop的执行条件是在hadoop_home中,我这里是

[*]  $ mkdir input
[*]

[*]  $ cp etc/hadoop/*.xml input

[*]  $bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs+'


[*]  $ cat output/*

  ##################################################################
  上面本地模式,我们知道就可以,我们下面继续配置伪分布模式
  4.伪分布模式
  我这里的全路径:/home/aboutyun/hadoop-2.7.0/etc/hadoop
  修改文件etc/hadoop/core-site.xml
  添加如下内容:
  含义:接收Client连接的RPC端口,用于获取文件系统metadata信息。

[*]  
[*]  
[*]  fs.defaultFS
[*]  hdfs://localhost:9000
[*]  
[*]  
[*]

  修改etc/hadoop/hdfs-site.xml:
  添加如下内容:
  含义:备份只有一份

[*]  
[*]  
[*]  dfs.replication
[*]  1
[*]  
[*]  

  5.伪分布模式
  1.格式化namenode

[*]  hdfs namenode -format
  有的地方使用

[*]  bin/hdfs namenode -format
  如果配置的环境变量直接使用hdfs namenode -format即可
  2.启动集群

[*]  start-dfs.sh

  这时候单节点伪分布就已经安装成功了
  验证
  输入下面

[*]  http://localhost:50070/
  如果是在虚拟机中安装,但是在宿主主机中访问,需要输入虚拟机ip地址
  这里虚拟机ip地址是10.0.0.81

  所以,我这里是

[*]  http://10.0.0.81:50070/

  配置到这里也是可以的,我们同样可以运行wordcount,也就是我们的mapreduce不运行在yarn上。如果想让程序运行在yarn上,继续下面配置
  #####################################################
  6.配置Yarn
  1.修改配置文件
  修改配置文件mapred-site.xml
  编辑文件etc/hadoop/mapred-site.xml,添加下面内容由于etc/hadoop中没有mapred-site.xml,所以对mapred-queues.xml.template复制一份

[*]  cp mapred-site.xml.template mapred-site.xml
[*]
  然后编辑文件mapred-site.xml
  添加

[*]  
[*]  mapreduce.framework.name
[*]  yarn
[*]  
[*]
  最后形式:

  修改配置文件yarn-site.xml
  添加如下内容:

[*]  
[*]  yarn.nodemanager.aux-services
[*]  mapreduce_shuffle
[*]  

  2.启动yarn

[*]  start-yarn.sh

  (由于我这里已经配置了环境变来那个,所以在哪个地方都可以运行start-yarn.sh)
  如果你没有配置环境变量,则需要进入hadoop_home,执行下面命令

[*]  sbin/start-yarn.sh
  3.验证
  启动yarn之后,输入

[*]  http://localhost:8088/
  即可看到下面界面

  下一篇hadoop2.7 运行wordcount
  遇到问题
  问题1:

[*]
  Error: Could not find or load main>
[*]
[*]  org.apache.hadoop.hdfs.server.namenode.NameNode
  解决办法:
  在~/hadoop-2.7.0/etc/hadoop/hadoop-env.sh中添加

[*]  export HADOOP_COMMON_HOME=~/hadoop-2.7.0
  重启生效
  问题2:
  格式化Java_home not found

[*]  bin/hdfs namenode -format
  复制代码
  在/etc/environment 中添加

[*]  export JAVA_HOME=/usr/jdk
  复制代码
  生效

[*]  source /etc/environment
  复制代码
  重启[如还不行,重启]

[*]  sudo init 6
  复制代码

页: [1]
查看完整版本: hadoop2.7【单节点】单机、伪分布、分布式安装指导