一、简述

 本次集群安装基于4台虚拟集群下进行。

hadoop版本使用 2.6.4

操作系统为 centos6.5

jdk版本为 jdk-7u67-linux-x64.tar.gz

二、准备

创建hadoop用户

 

#分别在4台机器中创建hadoop用户
useradd hadoop

#给hadoop用户授权——如下【图1】
vi /etc/sudoers

【图1】

hadoop集群安装

 

下载hadoop安装包

 https://archive.apache.org/dist/hadoop/common/hadoop-2.6.4/hadoop-2.6.4.tar.gz

 

下载jdk安装包  

 https://download.csdn.net/download/u014414323/10420850

 

上传文件到linux

hadoop集群安装

解压jdk、hadoop安装包并设置环境变量

#解压JDK安装包
tar -zvxf jdk-7u67-linux-x64.tar.gz -C ../apps/

#解压hadoop安装包
tar -zvxf hadoop-2.6.4.tar.gz  -C ../apps/

#设置jdk、hadoop 环境变量

sudo vi /etc/profile

#文件最后追加以下3行
export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_67
export HADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

#让环境变量生效
source /etc/profile

 

 

三、hadoop配置

 hadoop安装包解压目录说明

[[email protected] ~]$ ll apps/hadoop-2.6.4/
总用量 52
drwxrwxr-x. 2 hadoop hadoop  4096 3月   8 2016 bin         #存放hadoop自身的操作命令
drwxrwxr-x. 3 hadoop hadoop  4096 3月   8 2016 etc         #存放配置文件
drwxrwxr-x. 2 hadoop hadoop  4096 3月   8 2016 include     #存放c语言本地库的一些头文件
drwxrwxr-x. 3 hadoop hadoop  4096 3月   8 2016 lib         #存放本地库
drwxrwxr-x. 2 hadoop hadoop  4096 3月   8 2016 libexec
-rw-r--r--. 1 hadoop hadoop 15429 3月   8 2016 LICENSE.txt
-rw-r--r--. 1 hadoop hadoop   101 3月   8 2016 NOTICE.txt
-rw-r--r--. 1 hadoop hadoop  1366 3月   8 2016 README.txt
drwxrwxr-x. 2 hadoop hadoop  4096 3月   8 2016 sbin         #存放hadoop框架启动管理的命令
drwxrwxr-x. 4 hadoop hadoop  4096 3月   8 2016 share        #存放文档与jar包

伪分布式需要修改5个配置文件 

第一个:hadoop-env.sh
      

 vim hadoop-env.sh

 #第27行
 export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_67


        
        
    第二个:core-site.xml

      

  <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://min1:9000</value>
        </property>
        <!-- 指定hadoop运行时产生文件的存储目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/home/hadoop/apps/hadoop-2.6.4/tmp</value>
    </property>


        
    第三个:hdfs-site.xml   
        

<!-- 指定HDFS副本的数量 -->
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
<!-- 指定secondary namenode地址 -->
        <property>
            <name>dfs.secondary.http.address</name>
            <value>min1:50090</value>
        </property>

    
    
        
    第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
      

 #重命名 
 mv mapred-site.xml.template mapred-site.xml
 #编辑
 vim mapred-site.xml

        <!-- 指定mr运行在yarn上,默认为local(表示让mr在本地机器运行) -->
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        

    第五个:yarn-site.xml
   

     <!-- 指定YARN的老大(ResourceManager)的地址 -->
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>min1</value>
        </property>
        <!-- reducer获取数据的方式 -->
        <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>

 把上述min1配置好的文件内容全部拷贝到其他集群机器(min2、min3、min4)中(可通过人机交互脚本实现自动化处理)

 scp -r apps/ min2:/home/hadoop/

 scp -r apps/ min3:/home/hadoop/
 
 scp -r apps/ min4:/home/hadoop/


 #拷贝环境变量配置文件
 sudo scp /etc/profile min2:/etc/
 
 sudo scp /etc/profile min3:/etc/
 
 sudo scp /etc/profile min4:/etc/

 #使环境变生效(将命令发送给4台机器执行)
 source /etc/profile

格式化namenode(是对namenode进行初始化,namenode存放着文件存放的索引地址)

hadoop namenode -format

hadoop集群安装

 单独启动 namenode 

hadoop-daemon.sh  start namenode

 hadoop集群安装

访问namenode网页界面:

http://min1:50070/

 hadoop集群安装

单独启动 datanode 

hadoop-daemon.sh  start datanode

 

更多常用命令详情查看:https://blog.csdn.net/u013490585/article/details/83012749

slaves 文件作用说明

一般在集群中你唯一地选择一台机器作为 NameNode ,一台机器作为 ResourceManager,这是master  (主)。

那么 ,集群中剩下的机器作为DataNode 和 NodeManager。这些是slaves  (从)。

在你的 hadoop目录/etc/hadoop/slaves 文件上列出全部slave机器名或IP地址,一个一行如下:

[[email protected] hadoop]$ vi slaves 

#slaves 编辑内容如下
min2
min3
min4

四、免密登录

生成ssh免登陆**

ssh-******

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) 

hadoop集群安装 

将公钥拷贝到要免密登陆的目标机器上

[[email protected] ~]$ ssh-copy-id min1
[email protected]'s password: 
Now try logging into the machine, with "ssh 'min1'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[[email protected] ~]$ ssh-copy-id min2
[email protected]'s password: 
Now try logging into the machine, with "ssh 'min2'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[[email protected] ~]$ ssh-copy-id min3
[email protected]'s password: 
Now try logging into the machine, with "ssh 'min3'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

[[email protected] ~]$ ssh-copy-id min4
[email protected]'s password: 
Now try logging into the machine, with "ssh 'min4'", and check in:

  .ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

启动hadoop

start-all.sh

hadoop集群安装

查看各机器进程启动情况

hadoop集群安装

关闭hadoop

hadoop集群安装

 

 

相关文章: