您的位置:首页 > 运维架构 > Linux

基于linux centos6.5 hadoop2.x伪分布式搭建

2017-04-26 17:40 411 查看
                                         基于linux centos6.5 hadoop2.x伪分布式搭建
一.
环境搭建 
      搭建测试环境所需的软件包括:操作系统Linux Cent
OS 6.5 ,  jdk1.8.0_111,hadoop-2.4.0_32bit.tar.gz。jdk-8u111-linux-i586.tar.gz。 
总体的流程:
    1,创建hadoop账户 

    2、实现linux的ssh无密码验证配置. 

    3、在linux下安装jdk,并配好环境变量 

    4、修改linux的机器名,并配置 /etc/hosts 

    5、安装配置hadoop

具体过程:
1,创建hadoop用户
     如果你安装 CentOS 的时候不是用的 “hadoop” 用户,那么最好建议增加一个名为 hadoop 的用户。
     shell命令:
    $ su
    密码:
    # useradd -m hadoop -G root -s /bin/bash          这条命令创建了可以登陆的 hadoop 用户,并使用 /bin/bash 作为shell
    #passwd hadoop     设置密码 
         
    接着为 hadoop 用户增加管理员权限,方便部署,避免一些对新手来说比较棘手的权限问题
    shell 命令:
    #visudo   
   接着找到 
root ALL=(ALL) ALL
 这行(约在第98行)  然后在这行下面增加一行内容:
              hadoop ALL=(ALL) ALL
 (当中的间隔为 tab)保存退出。

2.实现linux的ssh无密码验证配置.
     用 hadoop 用户登录然后执行如下shell命令:
   $ cd ~/.ssh/        # 若没有该目录,请先执行一次ssh localhost
   $ ssh-keygen -t rsa                   # 会有提示,都按回车就可以 
   $ cat id_rsa.pub >> authorized_keys                          #
加入授权
   $ chmod 600 ./authorized_keys                            #
修改文件权限
   配置完毕,可通过ssh 本机IP 测试是否需要密码登录.

3在linux下安装jdk,并配好环境变量 
     root 用户,下载 JDK 安装包 jdk-8u111-linux-i586.tar.gz

     解压命令:#tar -zvxf  jdk-7u7-linux-i586.tar.gz,
    将解压后的文件移动到 /usr/java 下#mv  jdk1.8.0_111   /usr/java 
    安装完毕!(注意jdk版本要与操作系统一致,32位系统不能安装64位,不然会报错)
   3.1 java环境变量配置 
        hadoop 用户,命令行中执行命令“vi ~/.bashrc”,并加入以下内容,配置环境变量(注~/.bashrc 这个文件很重要,后面 Hadoop 的配置还会用         到)。 
  # set java environment 
   export JAVA_HOME=/usr/java/jdk1.7.0_07 
   export JRE_HOME=/usr/java/jdk1.7.0_07/jre 
   export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib 
   export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH 
在vi编辑器增加以上内容后保存退出,并执行以下命令使配置生效 
    source  ~/.bashrc ; 
   配置完毕后,在命令行中输入java -version,如出现下列信息说明java环境安装成功。 

  [hadoop@master ~]$ java -version
  java version "1.8.0_111"
  Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
  Java HotSpot(TM) Client VM (build 25.111-b14, mixed mode)

4修改linux的机器名,并配置 /etc/hosts
  4.1 编辑主机名 
 [root@master ~]# vi /etc/hosts 
 # Do not remove the following line, or various programs 
 that require network functionality will fail. 
 127.0.0.1                      localhost 
 202.173.253.36            master 
 202.173.253.36            slave 
注:因为是在伪分布模式下,所以master与slave是一台机 

5. Hadoop配置安装 
   下载 hadoop-2.4.0_32bit.tar.gz,将其解压到/home/local目录下
  shell命令:

  $ sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C /usr/local    # 解压到/usr/local中
  $ cd /usr/local/
  $ sudo mv ./hadoop-2.6.0/ ./hadoop            # 将文件夹名改为hadoop
  $ sudo chown -R hadoop:hadoop ./hadoop        # 修改文件权限

 5.1设置hadoop环境变量,执行如下shell命令:
 $ vim  ~/.bashrc  
 进入文件后在后面增加如下内容

 # Hadoop Environment Variables
 export HADOOP_HOME=/usr/local/hadoop
 export HADOOP_INSTALL=$HADOOP_HOME
 export HADOOP_MAPRED_HOME=$HADOOP_HOME
 export HADOOP_COMMON_HOME=$HADOOP_HOME
 export HADOOP_HDFS_HOME=$HADOOP_HOME
 export YARN_HOME=$HADOOP_HOME
 export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
 export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
 保存后执行如下命令是配置生效:
 $ source ~/.bashrc
 这些变量在启动 Hadoop 进程时需要用到,不设置的话可能会报错(这些变量也可以通过修改 ./etc/hadoop/hadoop-env.sh 实现)

  5.2修改配置文件
 Hadoop 的配置文件位于 
/usr/local/hadoop/etc/hadoop/
 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。

 Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现

 shell命令:$ vim    /usr/local/hadoop/etc/hadoop/core-site.xml

   修改为下面配置:

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
</configuration>
 保存退出
 同样的,修改配置文件 hdfs-site.xml
 shell命令:$ vim  /usr/local/hadoop/etc/hadoop/hdfs-site.xml
 修改为下面配置:

 <configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/usr/local/hadoop/tmp/dfs/data</value>
    </property>
 </configuration>
 保存退出
 5.3 执行namenode 的格式化:
 shell命令: $   cd /usr/local/hadoop
                   $ ./bin/hdfs namenode -format
 成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错
      接着开启 
NaneNode
 和 
DataNode
 守护进程:

 shell命令: $   cd /usr/local/hadoop
                   $  ./sbin/start-dfs.sh
启动完成后,可以通过命令 
jps
 来判断是否成功启动,若成功启动则会列出如下进程: 
 shell命令: $   cd /usr/local/hadoop
                   $  jps

 [hadoop@master sbin]$ jps
 3634 SecondaryNameNode
 3380 NameNode
 3766 Jps
 3479 DataNode
成功启动后,可以访问 Web 界面 http://localhost:50070 查看
NameNode 和 Datanode 信息,还可以在线查看 HDFS 中的文件。

5.4  启动YARN(伪分布式不启动 YARN 也可以,一般不会影响程序执行)
上述通过 
./sbin/start-dfs.sh
 启动 Hadoop,仅仅是启动了 MapReduce 环境,我们可以启动 YARN ,让 YARN 来负责资源管理与任务调度。首先修改配置文件 mapred-site.xml,这边需要先进行重命名:
shell命令: $   mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml
然后再进行修改配置文件 mapred-site.xml:
shell命令:$ vim  /usr/local/hadoop/etc/hadoop/mapred-site.xml
修改为下面配置:

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>
保存退出
接着修改配置文件 yarn-site.xml
shell命令:$ vim  /usr/local/hadoop/etc/hadoop/yarn-site.xml
修改为下面配置:

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
        </property>
</configuration>
保存退出
然后就可以启动 YARN 了(需要先执行过 
./sbin/start-dfs.sh
):

shell命令: $   cd /usr/local/hadoop
                   $  ./sbin/start-yarn.sh
              $ 启动YARN
                   $ ./sbin/mr-jobhistory-daemon.sh start historyserver      # 开启历史服务器,才能在Web中查看任务运行情况
开启后通过 
jps
 查看,可以看到多了 NodeManager 和 ResourceManager 两个后台进程

[hadoop@master sbin]$ jps
4049 NodeManager
3634 SecondaryNameNode
4436 JobHistoryServer
4468 Jps
3380 NameNode
3479 DataNode
3948 ResourceManager
启动 YARN 之后,运行实例的方法还是一样的,仅仅是资源管理方式、任务调度不同
启动 YARN 有个好处是可以通过 Web 界面查看任务的运行情况:http://localhost:8088/cluster

5.5关闭yarn的命令:
[hadoop@master sbin]$ stop-yarn.sh
[hadoop@master sbin]$ mr-jobhistory-daemon.sh stop historyserver
5.6关闭所有
[hadoop@master sbin]$ stop-all.sh

     
                                                                                                        
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: