centos下hadoop2.7.1伪分布式搭建

时间:2022-09-14 15:56:36

Hadoop有三种运行模式,分别如下:

单机(非分布式)模式

伪分布式(用不同进程模仿分布式运行中的各类节点)模式

完全分布式模式

注:前两种可以在单机运行,最后一种用于真实的集群环境,通常用在生产环境上。我们可以搭建本地的伪分布式模式来模拟分布式环境的执行。下面我们将搭建hadoop2.7.1伪分布式。可以按照官方文档进行安装。

官方文档链接

二、软硬件设备及安装前环境搭建:

操作系统:CentOS 6.5

软件版本:hadoop-2.6.0,jdk-1.7.0_79

 在每台linux虚拟机上,安装:vim,ssh

     sudo apt-get install vim

     sudo apt-get install ssh

1:jdk-1.7.0——79安装:

上传jdk tar包。将其移动到/usr/lib/Java目录中(如果/usr中没有java目录自行创建)。

#mvjdk-1.7.0_79 /usr/lib/java

2:添加环境变量配置jdk:

在/etc/profile中添加

JAVA_HOME=/usr/lib/java/jdk1.7.0_79  
PATH=$JAVA_HOME/bin:$PATH
CLASS PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
exportJAVA_HOME
exportPATH export CLASSPATH


3:生效java变量:

source/etc/profile

如图即表示jdk安装配置已完成。

centos下hadoop2.7.1伪分布式搭建

4:修改主机名和网络配置:

#vim /etc/sysconfig/network

NETWORKING=yes

对主机设置:

HOSTNAME=Slave2

同时修改:hosts

#vim/etc/hosts

三台主机均添加如下:

在每台linux上,sudo vim /etc/hosts 编写hosts文件。将主机名和ip地址的映射填写进去。编辑完后,结果如下:


5:配置ssh,实现免密登陆:

就是为hadoop用户设置免密码登陆。

 添加hadoop用户并为其设置密码:

useradd hadoop
passwd hadoop

centos下hadoop2.7.1伪分布式搭建
  1. 为hadoop用户配置root权限,让其可运行root命令。

  2. vim /etc/sudoers

centos下hadoop2.7.1伪分布式搭建

切换到hadoop用户:su hadoop

    三台主机上,使用  ssh-keygen -t rsa    一路按回车就行了。

 

    刚才都作甚了呢?主要是设置ssh的密钥和密钥的存放路径。 路径为~/.ssh下。

 

    打开~/.ssh 下面有三个文件

 

    authorized_keys,已认证的keys

 

    id_rsa,私钥

 

    id_rsa.pub,公钥  三个文件。

 

    下面就是关键的地方了,(我们要做ssh认证。进行下面操作前,可以先搜关于认证和加密区别以及各自的过程。)

 

    ①在master上将公钥放到authorized_keys里。命令:sudo cat id_rsa.pub >> authorized_keys

 

    ③修改authorized_keys权限,命令:chmod 644 authorized_keys

 

    ④测试是否成功

 

     在主机中使用hadoop用户ssh localhost不用密码,直接进入系统。这就表示成功了。

三、hadoop上传安装于配置:

1:上传hadoop:

把hadoop上传到服务器并解压打/usr/local目录中

也可直接从hadoop官网下载。

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. tar-zxvf hadoop-2.6.0.tar.gz -C /usr/local  

切换到/usr/local目录下,修改hadoop-2.7.1的所有者。

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. chown -R hadoop.hadoop hadoop-2.7.1

4:hadoop配置:

4.1:配置hadoop-env.sh

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. cd/usr/local/hadoop-2.7.1/etc/hadoop  
[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. vim hadoop-env.sh  

centos下hadoop2.7.1伪分布式搭建

4.2:配置core-site.xml:

<configuration>
 <property>
         <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
</property>
      <property>
         <name>hadoop.tmp.dir</name>
         <value>/home/hadoop/tmp</value>
     </property>


</configuration>
此处hadoop.tmp.dir为我们指定目录。
此修改为自己master的主机名+9000
[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. <name>fs.default.name</name>    
  2.        <value>hdfs://localhost:9000</value>    

4.3:配置hdfs-site.xml:

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. cd/usr/local/hadoop-2.7.1/etc/hadoop  
  <property>
         <name>dfs.replication</name>
                 <value>1</value>
                     </property>
</configuration>

4.4:配置:mapred-site.xml:

代码如下:[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1.  <property>        
  2.   <name>mapreduce.framework.name</name>            
  3.       <value>yarn</value>                     
  4.  </property>
  5. </configuration>

4.5配置yarn-site.xml:

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

注:value为master主机名。

注意:如果/usr/local/hadoop/etc/hadoop/mapred-site.xml文件没有但是有/usr/local/hadoop/etc/hadoop/mapred-site.xml.template那么最好修改下面这个文件,然后复制一份,改名为上面的名字


4.6:格式化HDFS文件系统的namenode:

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. cd /usr/local/hadoop-2.7.1
  2. bin/hdfs namenode -format  

四、hadoop伪分布式启动与关闭:

[plain] view plain copy print?centos下hadoop2.7.1伪分布式搭建centos下hadoop2.7.1伪分布式搭建
  1. /usr/local/hadoop-2.6.0/sbin/start-dfs.sh //这个是启动  
  2. /usr/local/hadoop-2.6.0/sbin/stop-dfs.sh  //这个是关闭  

五、验证并启动。

启动后使用jps查看启动的节点: centos下hadoop2.7.1伪分布式搭建[hadoop@Slave2 hadoop]$ jps
11106 DataNode
11305 SecondaryNameNode
11002 NameNode
11500 ResourceManager
574 Jps
11601 NodeManager
如果如图五个节点成功启动则搭建成功。 最好的方法就是按照官方文档进行配置: 集群搭建: