Hadoop伪分布式集群环境配置

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

该文档是对自己在虚拟机环境下进行Hadoop集群环境进行配置的总结。首先安装环境是:

宿主机:Windows 7 旗舰版

虚拟机:VirtualBox 4.2.0

虚拟机操作系统:openSUSE 12.2

Hadoop1.0.3

1.虚拟机安装

首先进行VirtualBoxopensuseVirtualBox中的安装,比较简单,不再做详细的介绍。

小技巧:在VirtualBox中可以设置共享文件夹,以便Windows7opensuse共享一些文件。具体设置如下,首先运行opensuse;然后点击“设备”→“共享文件夹”,选择一个Window7中的一个文件夹作为共享文件夹。在opensuse中使用下面命令将共享文件夹挂载到opensuse中,其中挂载点可是opensuse的任意

mount -t vboxsf 共享文件夹的名字 挂载点

文件夹,一般可以在mnt目录下。该条命令的具体例子如下:

mount -t vboxsf sharefile /mnt

2.Java安装

Opensuse安装完成后,需要进行JDK的安装和配置。JDK安装完成后,需要设置两个环境变量JAVA_HOMEPATH。一般有两种方式可以设置这两个变量。一个是修改/etc/profile文件,在该文件末尾追加下面两行代码:

export JAVA_HOME=/usr/java.1.6.35JDK安装目录)

export $PATH=$PATH:$JAVA_HOME/bin

修改完文件后使用source /etc/profile更新文件。

还有一种方法是修改bash的配置文件,一般是/home/username/.bashrc,在里面添加上面两行代码。

3.Hadoop安装

Java安装完成后,可以进行Hadoop的安装。首先去Apache网站下载Hadoop安装包,然后将Hadoop解压到你想存储的目录,本次安装使用的目录是/usr。然后进行Hadoop解压操作:

tar zxf  hadoop-1.0.3.tar.gz

解压完成后需要配置Hadoop环境变量,与Java环境变量的配置基本相同。可以在/etc/profile添加下面两行。

export HADOOP_INSTALL=/usr/hadoop-1.0.3

export $PATH=$PATH:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin

也可以采用第二种方式,在.bashrc文件中添加上面两行代码。

4.ssh配置

首先,确定ssh已经安装,否则进行下载安装。然后使用下面的命令行生成密钥对:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

密钥对生成后,验证一下是否成功,使用命令ssh localhost进行验证。如果没有成功,重新启动ssh后台服务,使用命令service sshd restart

5.Hadoop配置

Hadoop的配置文件可以放在Hadoop的安装目录下(这是默认情况),也可以放在其他地方。本次安装放在了一个新的目录下/root/etc/hadoop/pdist/root/etc/hadoop目录下共有三个文件,分别对应standalone模式、为分布式模式和分布式模式,分别为standalonepdistdist。下面看一下pdist目录下几个主要的配置文件。

<!-- core-site.xml -->

<?xml version="1.0"?>

<configuration>

<property>

Configuration | 619

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

<value>hdfs://localhost/</value>

</property>

</configuration>

<!-- hdfs-site.xml -->

<?xml version="1.0"?>

<configuration>

<property>

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

<!-- mapred-site.xml -->

<?xml version="1.0"?>

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>localhost:8021</value>

</property>

</configuration>

除了以上三个主要的配置文件外,还需要有mastersslaves两个文件,但是基本不需要进行什么修改。

这里有一个需要主要的地方,Hadoop在为分布式配置下,其运行过程中使用到了本机的计算机名称,如果在linux host文件下没有计算机名称和ip的配对,会抛出异常。在host文件中需要添加配对

Linux计算机名 127.0.0.1

例如linux-ja3s 127.0.0.1

这样Hadoop为分布式环境基本配置完毕,可以运行。

6.Hadoop运行

在运行Hadoop的时候,要指定配置文件目录,先启动HDFS,再启动MapReduce

start-dfs.sh --config /root/etc/hadoop/pdist

start-mapred.sh --config /root/etc/hadoop/pdist

相关问答

更多
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 0.关闭防火墙 service iptables start;#立即开启防火墙,但是重启后失效。 service iptables stop;#立即关闭防火墙,但是重启后失效。 重启后生效 chkconfig iptables on;#开启防火墙,重启后生效 chkconfig iptables off;#关闭防火墙,重启后生效 1.配置主机名 !!!!!注意安装hadoop的集群主机名不能有下划线!!不然会找不到主机!无法启动! 配置主机名 $vi /etc/sysconfig/network $sour ...
  • 先回答你标题的提问:hadoop完全分布式:3个及以上的实体机或者虚拟机组件的机群。hadoop伪分布式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分布式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和内存足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分布式程序,伪分布式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机。
  • 第一步: 安装JDK 因为 Hadoop 运行必须安装 JDK 环境,因此在安装好 Linux 后进入系统的第一步 便是安装 JDK ,安装过程和在 Windows 环境中的安装步骤很类似,首先去Oracle 官网 去下载安装包,然后直接进行解压。我自己解压在路径 /usr/jvm 下面,假如你的安装包现在已经下载在 jvm 文件夹下面,然后 按 Ctrl+Alt+t 进去命令行,然后输入 cd /usr/jvm 进入到jvm文件夹下面,然后再输入如下命令进行解压: sudo tar -zxvf jdk-7 ...
  • 若在windows的Eclipse工程中直接启动mapreduc程序,需要先把hadoop集群的配置目录下的xml都拷贝到src目录下,让程序自动读取集群的地址后去进行分布式运行(您也可以自己写java代码去设置job的configuration属性)。   若不拷贝,工程中bin目录没有完整的xml配置文件,则windows执行的mapreduce程序全部通过本机的jvm执行,作业名也是带有“local"字眼的作业,如 job_local2062122004_0001。 这不是真正的分布式运行mapred ...
  • Hadoop 有两个主要版本,Hadoop 1.x.y 和 Hadoop 2.x.y 系列,比较老的教材上用的可能是 0.20 这样的版本。Hadoop 2.x 版本在不断更新,本教程均可适用 如果需安装 0.20,1.2.1这样的版本,本教程也可以作为参考,主要差别在于配置项,配置请参考官网教程或其他教程。
  • 可以的 但是网络状况要好 伪分布式你在阿里云买一台就可已搭集群呢
  • 在 /usr/local/hadoop/ 下面启动,找到是/opt/Hadoop/下面的hadoop安装包,是不是HADOOP_HOME环境变量配置的有问题。 可以到海牛部落交流,那里有好多学习hadoop的朋友
  • 你可以输入JPS查看一下进程 一般你的master上是namenode secondarynamenode 和jobtracker三个进程 你的slaves上 有各自的datanode 和tasktracker两个进程 你看看是不是有各自进程都启动起来了 启动起来了就是分布式 如果只有一台机子有进程 那你就重新把那些配置文件再设置一下
  • hadoop集群指的是一群机器在一起提供一个hadoop的集群的服务。 hadoop分布式指的是hadoop支持任务分布式运行,因为有hadoop集群提供服务,所以hadoop将任务分发到集群的多台机器运行,所以叫做分布式。 一个是服务器架构,一个是任务运行架构。