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

                                         基于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
   修改为下面配置:
   
        hadoop.tmp.dir
        file:/usr/local/hadoop/tmp
        Abase for other temporary directories.
   
   
        fs.defaultFS
        hdfs://localhost:9000
   
 保存退出
 同样的,修改配置文件 hdfs-site.xml
 shell命令:$ vim  /usr/local/hadoop/etc/hadoop/hdfs-site.xml
 修改为下面配置:
 
   
        dfs.replication
        1
   
   
        dfs.namenode.name.dir
        file:/usr/local/hadoop/tmp/dfs/name
   
   
        dfs.datanode.data.dir
        file:/usr/local/hadoop/tmp/dfs/data
   
 
 保存退出
 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
修改为下面配置:
   
        mapreduce.framework.name
        yarn
   
保存退出
接着修改配置文件 yarn-site.xml
shell命令:$ vim  /usr/local/hadoop/etc/hadoop/ yarn-site.xml
修改为下面配置:
   
        yarn.nodemanager.aux-services
        mapreduce_shuffle
       
保存退出
然后就可以启动 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

















     
                                                                                                        

你可能感兴趣的:(hadoop)