Hadoop2.2.0版本多节点集群及eclipse开发环境搭建


鉴于部分网友在搭建hadoop2.2.0过程中遇到各种各样的问题,特记录本人搭建集群环境,以作参考。

环境:

1、虚拟机:VMware® Workstation,版本:10.0.0

2、操作系统:ubuntu-13.10

3、hadoop版本:hadoop-2.2.0下载地址

4、jdk1.6.0_45

5、本文所用两台机器分工如下:

hostname user ip functions
master hadoop 192.168.234.128 NameNode/SecondaryNameNode/ResouceManager
slave1 hadoop 192.168.234.129 DataNode/NodeManager

6、登陆工具:SecureCRT Version 6.2.0

7、开发工具:eclipse-kepler

在此,虚拟机中ubuntu操作系统的安装以及设置不再赘述。

集群环境配置步骤:

1、安装jdk,并配置环境变量:

vi /etc/profile

加入下列几行(本文java安装路径为:/usr/local/java/):

export JAVA_HOME=/usr/local/java/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib.tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

 

保存后输入:source /etc/profile 以使其生效。

验证:输入:java -version

2、安装ssh

sudo apt-get install ssh

设置local无密码登陆

安装完成后会在当前用户主目录,即这里的/home/hadoop下产生一个隐藏文件夹.ssh(ll 或者ls -a 命令可以查看隐藏文件)。如果没有这个文件,自己新建即可,命令为:mkdir .ssh。

具体步骤如下:

2.1、 进入.ssh文件夹

2.2、 ssh-keygen -t  rsa 之后一路回 车(产生秘钥)

2.3、 把id_rsa.pub 追加到授权的 key 里面去(cat id_rsa.pub >> authorized_keys)

2.4、 重启 SSH 服 务命令使其生效 :service ssh restart

此时已经可以进行ssh localhost的无密码登陆

现在可以用SecureCRT登录了,SecureCRT的会话设置如下图:



3、修改主机名(hostname)、hosts

3.1、vi /etc/hostname

改为:master

3.2、vi /etc/hosts

如下图所示:

4、关闭防火墙:

ufw disable

5、安装hadoop2.2.0

本文将下载的hadoop-2.2.tar.gz解压到了/home/hadoop路径下
5.1在master本地文件系统创建以下文件夹:

~/dfs/name

~/dfs/data

~/temp

5.2修改hadoop配置文件

1)hadoop-env.sh

修改JAVA_HOME值:

export JAVA_HOME=/usr/local/java/jdk1.6.0_45


2)、yarn-env.sh

修改JAVA_HOME值:

export JAVA_HOME=/usr/local/java/jdk1.6.0_45


3)、slaves

加入:slave1

4)、core-site.xml

<configuration>
	<property>
         <name>fs.defaultFS</name>
                <value>hdfs://master:9000</value>
    </property>

    <property>
         <name>io.file.buffer.size</name>
         <value>131072</value>
    </property>

    <property>
         <name>hadoop.tmp.dir</name>
         <value>file:/home/hadoop/temp</value>
         <description>Abase for other temporary directories.</description>
    </property>

    <property>
         <name>hadoop.proxyuser.hadoop.hosts</name>
         <value>*</value>
    </property>

    <property>
         <name>hadoop.proxyuser.hadoop.groups</name>
         <value>*</value>
    </property>

</configuration>

5)、hdfs-site.xml

<configuration>
	<property>
	<name>dfs.namenode.secondary.http-address</name>
         <value>master:9001</value>
	</property>

	<property>
	<name>dfs.namenode.name.dir</name>
	<value>file:/home/hadoop/dfs/name</value>
    </property>

	<property>
	    <name>dfs.datanode.data.dir</name>
	    <value>file:/home/hadoop/dfs/data</value>
    </property>

    <property>
	    <name>dfs.replication</name>
	    <value>3</value>
    </property>

     <property>
	    <name>dfs.webhdfs.enabled</name>
	    <value>true</value>
	</property>
</configuration>


6)、mapred-site.xml

<configuration>
	<property>
		<name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>master:10020</value>
    </property>

    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>master:19888</value>
    </property>
</configuration>

7)、yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>

    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
    </property>

    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>

    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>

    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>

    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property> 

</configuration>


 6、克隆

hadoop集群中每个机器上面的配置基本相同,所以我们先在namenode上面进行配置部署,然后再复制到其他机器,然后稍作修改即可。

 修改slave1的hostname:slave1

7、启动验证

7.1 启动hadoop

进入安装目录: cd  ~/hadoop-2.2.0/

格式化namenode:./bin/hdfs namenode –format

启动hdfs: ./sbin/start-dfs.sh

查看java进程命令:jps

此时在master上面运行的进程有:

namenode

secondarynamenode

slave1上面运行的进程有:datanode

启动yarn: ./sbin/start-yarn.sh

此时在master上面运行的进程有:

namenode

secondarynamenode

resourcemanager

slave1上面运行的进程有:

datanode

nodemanager

查看集群状态:./bin/hdfs dfsadmin –report


查看文件块组成:  ./bin/hdfs fsck / -files -blocks

查看HDFS:     http://master:50070

 开发环境配置:

本文是在windows环境下安装eclipse,然后连接hadoop

1、将编译好的hadoop-eclipse-plugin-2.2.0.jar插件拷贝到~\eclipse\plugins下

2、按照下图所示配置eclipse:

配置hadoop路径

打开Map/Reduce视图:

新建并编辑hadoop参数:

 3、配置完之后的eclipse:

 

相关内容

    暂无相关文章