ubuntu 14.04 下搭建hadoop-2.7.2

来源:互联网 发布:淘宝虚拟物品类目违规 编辑:程序博客网 时间:2024/05/21 14:00

本人采用三台虚拟机搭建hadoop环境,其中在/etc/hosts文件中的配置为

主机Ip1 hadoop1(用作master)

主机Ip2 hadoop2(用作slave)

主机Ip3 hadoop3(用作slave)

搭建过程:

1、创建hadoop用户

(1)、搭建集群的时候,最好在统一用户下操作,包括hadoop问价夹的位置,java环境变量的位置等,在一台机器部署好了基本环境之后,如果是vmware的话,直接克隆一下就可以了。

创建hadoop用户的时候,网上有很多方法,实际上,本人在ubuntu 14.04上测试的时候,只要进入root下执行

adduser hadoop 就可以了,它会自动创建一个同名的(即hadoop)组,也会创建一个hadoop用户,一步一步来,设置密码等操作。

(2)、在/etc/sudoers中,在root ALL=(ALL:ALL)  ALL下面添加

hadoop ALL=(ALL:ALL)     ALL

这样,hadoop用户可以使用sudo命令了

2、设置java环境

本人使用的是ubuntu 14.04 i386版本,不是64位操作系统,所以在找jdk8的时候,非常麻烦,从官网上下载tar.gz时候,下载的总是gz文件,看起来好麻烦,对于特别懒的同学,就不想研究怎么安装gz了,所以找了半天tar.gz文件,大家可以通过这个链接下载http://download.csdn.net/download/aqtata/9410831,如果你是64位操作系统,直接从官网下载tar.gz就可以了。

配置java环境变量,网上有说在/etc/profile下配置的,又说在~/.bashrc中配置的,其实两者是有区别的,在/etc/profile下配置,所有的登陆用户,都可以访问java,如果在~./bashrc中配置,只能是当前用户访问,所以大家都在/etc/profile中配置就可以了,配置的内容:

export JAVA_HOME=/usr/java

export PATH=/$JAVA_HOME/bin:$PATH

export CLASSPATH=/$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

然后执行:source /etc/profile

配置后,不要忘记修改默认的jdk

方法:

输入sudoupdate-alternatives --display java可查看信息默认的jdk信息,刚开始因为没有,提示错误:noalternatives for java

sudo update-alternatives --install /usr/bin/java java JDK的路径/java(如/usr/java/bin/java 300(优先级)

sudo update-alternatives --install /usr/bin/javac javac JDK的路径/javac(/usr/java/bin/javac) 300(优先级)

若有多个版本,需要修改默认的,则输入

sudo update-alternatives --config java

sudo update-alternatives --config javac

3、安装ssh

因为hadoop的master和slave之间使用过ssh访问的,所以大家一定要安装ssh,在安装ssh的时候,可能由于本机已经安装了,或者其他的什么问题,导致最后执行ssh localhost时出现connect 22端口错误,这个时候,请耐心安装,再耐心安装,总会成功的

安装方法sudo apt-get install ssh,这就话就可以了

安装后,设置ssh免登录,ssh免登录的过程如下

首先cd ~,切换到你的home主目录

然后ls –a查看是否有隐藏文件夹.ssh,如果没有,说明ssh安装可能出现问题

第三,执行:sh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

第四,执行:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

第五,执行ssh localhost测试是否成功

4、开始搭建hadoop环境

1、到官网http://mirrors.hust.edu.cn/apache/hadoop/common/stable/下载稳定版,我安装的时候,是2.7.2版本

2、解压到主目录(什么目录无所谓,关键是master和slave是相同目录就可以,毕竟方便很多)

3、创建几个文件夹

在hadoop-2.7.2目录下创建几个文件夹:

mkdir tmp

mkdir dfs

mkdir dfs/name

mkdir dfs/data

4、开始配置文件:

         4.1修改core-site.xml(位置:/home/steven/hadoop-2.7.2/etc/hadoop

在<configuration></configuration>中添加如下内容:

<property>

       <name>fs.defaultFS</name>

       <value>hdfs://hadoop1:9000</value>

   </property>

   <property>

       <name>hadoop.tmp.dir</name>

       <value>file:/home/steven/hadoop-2.7.2/tmp</value>

   </property>

   <property>

       <name>io.file.buffer.size</name>

       <value>131702</value>

</property>

4.2修改hdfs-site.xml位置同上

<property>

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

       <value>file:/home/steven/hadoop-2.7.2/dfs/name</value>

   </property>

   <property>

       <name>dfs.datanode.data.dir</name>

       <value>file:/home/ steven/hadoop-2.7.2/dfs/data</value>

   </property>

   <property>

       <name>dfs.replication</name>

       <value>2</value>

   </property>

   <property>

       <name>dfs.namenode.secondary.http-address</name>

       <value>hadoop1:9001</value>

   </property>

   <property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

   </property>

4.3修改mapred-site.xml,2.7.2中有一个mapred-site.xml.template模板,我们只要执行mv mapred-site.xml.templatemapred-site.xml就可以了,添加内容如下:

<property>

       <name>mapreduce.framework.name</name>

       <value>yarn</value>

   </property>

   <property>

       <name>mapreduce.jobhistory.address</name>

       <value>hadoop1:10020</value>

   </property>

   <property>

       <name>mapreduce.jobhistory.webapp.address</name>

       <value>hadoop1:19888</value>

</property>

4.4修改yarn-site.xml

<property>

       <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

   </property>

   <property>

       <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

       <value>org.apache.hadoop.mapred.ShuffleHandler</value>

   </property>

   <property>

       <name>yarn.resourcemanager.address</name>

       <value>hadoop1:8032</value>

   </property>

   <property>

       <name>yarn.resourcemanager.scheduler.address</name>

       <value>hadoop1:8030</value>

   </property>

   <property>

       <name>yarn.resourcemanager.resource-tracker.address</name>

       <value>hadoop1:8031</value>

   </property>

   <property>

       <name>yarn.resourcemanager.admin.address</name>

       <value>hadoop1:8033</value>

   </property>

   <property>

       <name>yarn.resourcemanager.webapp.address</name>

       <value>hadoop1:8088</value>

   </property>

   <property>

       <name>yarn.nodemanager.resource.memory-mb</name>

       <value>768</value>

   </property>

4.5配置/home/steven/hadoop-2.7.2/etc/hadoop目录下hadoop-env.sh、yarn-env.sh的JAVA_HOME,否则启动时会报error

添加,或修改为:export JAVA_HOME=/usr/java(你的jdk目录)

这里需要注意,在hadoop-env.sh中已经有export JAVA_HOME=${JAVA_HOME},这句话也要修改为exportJAVA_HOME=/usr/java(你的jdk目录)

4.6配置/home/steven/hadoop-2.7.2/etc/hadoop目录下slaves

其中的内容为:(这是两台slave,我用的三台机器搭建的hadoop环境,hadoop1是master,hadoop2和hadoop3是slave)

#localhost

hadoop2

hadoop3

5、将hadoop文件夹scp到其他两台机器上

6、在master上 启动

主服务器上执行bin/hdfs namenode -format

进行初始化

可以使用jps查看信息

sbin目录下执行 ./start-all.sh 

再使用jps查看信息

停止的话,输入命令,sbin/stop-all.sh

7 查看

在浏览器中输入

hadoop1:8088/

就可以了。

0 0
原创粉丝点击