Hadoop1.x与2.x安装笔记


Hadoop 1.x 安装

Hadoop1.x 集群规划

No

名称

内容

备注

用户

grid

 

用户组

hadoop

有权限运行hadoop,并可以使用jdk

服务器

Hadoop11: 192.168.1.211

Hadoop12: 192.168.1.212

Hadoop13: 192.168.1.213

 

系统

Cent OS 7 

 

5

JDK版本

jdk-7u79-linux-x64.gz 

 

6

Hadoop版本

hadoop-1.2.1-bin.tar.gz 

 

 

文件传输工具

WinSCP

 

   

  1. 创建用户及所属组

    grid,用来运行Hadoop (可选)

    su

    groupadd grid

    useradd –m –s /bin/bash –g grid grid

       

  2. 机器及网络配置

  3. 配置IP

  4. 修改主机名:

    su

    vi /etc/hostname

    将三台机器的名子改为: hadoop11, hadoop 12, hadooop 13

  5. 配置host文件

    切换到root帐户下,使用vi在修改文件/etc/hosts,添加三台机器的IP,及名称。然后使用ping命令检查各台机器之间的是否可以通过机器名连通

       

       

  6. 关闭防火墙

    systemctl stop firewalld.service

  7. 禁止防火墙自启动

    systemctl disable firewalld.service

       

  8. 配置SSH无密码登录

    在三台机器上分别执行

    ssh-keygen -t rsa

    cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

    然后在需要输入信息的时候,直接回车。直至命令完成

       

    使用ssh登录机器。检查SSH无密码是否配置正确

       

    将三台的机器的id_rsa.pub内容合并,然后将内容写到authorized_keys,然后使用SCP将authorized_keys拷贝到其它两台机器上。

    scp id_rsa.pub hadoop11:~/.ssh/h12_id_rsa.pub

    scp id_rsa.pub hadoop11:~/.ssh/h13_id_rsa.pub

       

  9. 安装JDK

  10. 准备JKD

    将准备好的JKD安装包使用Winscep拷贝到Hadoop11上

     

  11. 在root用户解压安装

    su

    cp jdk-7u79-linux-x64.gz hadoop-1.2.1-bin.tar.gz /usr/local

    tar -zxvf jdk-7u79-linux-x64.gz

       

  12. 为用户赋权限

    在三台机器上执行以下命令

    cd /usr/local

    chown –R grid:hadop jdk-7u79-linux-x64

       

  13. 安装Hadoop

  14. 准备hadop安装包

    使用winscp将hadop安装包hadoop-1.2.1-bin.tar.gz拷贝到hadoop11机器上

       

  15. 在root用户下解压hadoop

    su

    cd /usr/local

    tar –zxvf hadoop-1.2.1-bin.tar.gz

  16. 为用户赋权限

    chown R grid:hadoop hadoop-1.2.1

       

  17. 修改配置文件

  18. 修改hadoop-env.sh

       

  19. 修改masters,slaves文件

  20. 修改core-site.xml,hdfs-site.xml,mapred-site.xml

    core-site.xml

       

       

    hdfs-site.xml

       

    mapred-site.xml

       

  21. 将配置好的hadoop复制到其它各节点

    scp -r jdk1.7.0_79 hadoop12:/usr/local

    scp -r hadoop-1.2.1 hadoop12:/usr/local/

       

    scp -r jdk1.7.0_79 hadoop13:/usr/local

    scp -r hadoop-1.2.1 hadoop13:/usr/local/

       

  22. 在hadoop12,hadoop13上设置权限:

    su

    chown -R grid:grid hadoop-1.2.1 jdk1.7.0_79

       

       

  23. 格式化hadoop

    bin/hadoop namenode -format

       

  24. 启动进程

    在hadoop安装目录下运行

    bin/start-all.sh

       

  25. 检查进程

    使用工具jps on hadoop11

       

    jps on hadoop12, hadoop13

       

       

  26. 在Hadoop 1.x上运行wordcount

    Hadoop一切准备就细后,我们来运行hadoop自带的例子wordcount来检查下hadoop是否能正常工作。

  27. 准备要分析的文件

    cd /usr/local/hadoop-1.2.1/

    mkdir input

    echo "hello word" >test1.txt

    echo "hello hadoop" >test2.txt

  28. 将文件放到hdfs文件系统中

    bin/hadoop fs -put /usr/local/hadoop-1.2.1/input in

       

    检查文件创建是否成功

    bin/hadoop fs -lsr in

       

  29. 运行程序

    bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in out

       

  30. 查看结果:

    bin/hadoop fs -cat /user/grid/out/part-r-00000

    作业问题二:Hadoop 2.x 安装

    Hadoop2.x 集群规划

No

名称

内容

备注

用户

grid

 

用户组

hadoop

有权限运行hadoop,并可以使用jdk

服务器

Hadoop21: 192.168.1.221

Hadoop22: 192.168.1.222

Hadoop23: 192.168.1.223 

 

系统

Cent OS 7 

 

5

JDK版本

jdk-7u79-linux-x64.gz 

 

6

Hadoop版本

hadoop-2.5.2.tar.gz

 

 

文件传输工具

WinSCP

 

   

x安装的前期准备工作与hadoop 1.x类似,具体步骤可以参考1.x的安装文件。下面主要介绍hadoop 2.x的安装.

  1. 安装Hadoop

  2. 准备Hadoop安装包

    将文件hadoop-2.5.2.tar.gz拷贝到/home/grid

  3. 在root用户下解压hadoop

    su

    cp hadoop-2.5.2.tar.gz /usr/local

    tar -zxvf hadoop-2.5.2.tar.gz

       

  4. 为用户赋权限

    chown -R grid:hadoop hadoop-2.5.2

    exit

       

  5. 修改配置文件:

    hadoop2.x 需要修改如下目录下的七个配置文件

    /usr/local/hadoop-2.5.2/etc/hadoop

    1. yarn-env.sh
    2. hadoop-env.sh
    3. slaves
    4. core-site.xml
    5. hdfs-site.xml
    6. mapred-site.xml (从mapred-site.xml.template复制得到)
    7. yarn-site.xml

       

  6. yarn-env.sh

       

       

  7. hadoop-env.sh

       

  8. slaves

       

    1.4.4 core-site.xml

    <configuration>

    <property>

    <name>fs.defaultFS</name>

    <value>hdfs://hadoop21:9000</value>

    <description>change your own hostname</description>

    </property>

    <property>

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

    <value>131072</value>

    </property>

    <property>

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

    <value>/usr/local/hadoop-2.5.2/tmp</value>

    </property>

    </configuration>

       

  9. hdfs-site.xml

    <configuration>

       

    <property>

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

    <value>hdfs://hadoop21:9001</value>

    </property>

       

    <property>

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

    <value>file:/usr/local/hadoop-2.5.2/name</value>

    </property>

       

    <property>>

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

    <value>file:/usr/local/hadoop-2.5.2/data</value>

    </property>

       

    <property>

    <name>dfs.replication</name>

    <value>1</value>

    </property>

       

    <property>

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

    <value>true</value>

    </property>

       

    </configuration>

       

  10. mapred-site.xml

    从mapred-site.xml.template复制得到

       

    <configuration>

    <property>

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

    <value>yarn</value>

    </property>

       

    <property>

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

    <value>hadoop21:10020</value>

    </property>

       

    <property>>

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

    <value>hadoop21:19888</value>

    </property>

       

    </configuration>

       

  11. yarn-site.xml

    <configuration>

       

    <property>

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

    <value>mapreduce_shuffle</value>

    </property>

       

    <property>

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

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

    </property>

       

    <property>

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

    <value>hadoop21:8022</value>

    </property>

       

    <property>

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

    <value>hadoop21:8030</value>

    </property>

       

    <property>

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

    <value>hadoop21:8031</value>

    </property>

       

    <property>

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

    <value>hadoop21:8033</value>

    </property>

       

       

    <property>

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

    <value>hadoop21:8088</value>

    </property>

       

    </configuration>

       

  12. 复制配置好的Hadoop到其它节点

    scp -r hadoop-2.5.2 hadoop22:/usr/local

    scp -r hadoop-2.5.2 hadoop23:/usr/local

       

  13. 在hadoop22,hadoop23上执行命令设置权限

    chown -R grid:hadoop hadoop-2.5.2 jdk1.7.0_79

       

  14. 格式化Hadop

    bin/hdfs namenode -format

       

       

  15. 启动Hadoop

    sbin/start-dfs.sh

    sbin/start-yarn.sh

       

  16. 检查进程

    /usr/local/jdk1.7.0_79/bin/jps

       

    hadoop21:

       

    hadoop22

       

    hadoop23

       

       

  17. 使用Hadoop 2.x 运行示例

  18. 准备文件

    mkdir input

    cd input

    echo "hello word" >test1.txt

    echo "hello hadoop" >test2.txt

  19. 将文件放到hdfs文件系统中

    bin/hadoop fs -put /usr/local/hadoop-2.5.2/input /in

       

  20. 运行程序

    bin/hadoop jar /usr/local/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /in/* /out

       

  21. 查看结果:

       

    bin/hadoop fs -ls -R /out

    bin/hadoop fs -cat /out/part-r-00000

       

下面关于Hadoop的文章您也可能喜欢,不妨看看:

Ubuntu14.04下Hadoop2.4.1单机/伪分布式安装配置教程 

CentOS安装和配置Hadoop2.2.0 

Ubuntu 13.04上搭建Hadoop环境

Ubuntu 12.10 +Hadoop 1.2.1版本集群配置

Ubuntu上搭建Hadoop环境(单机模式+伪分布模式)

Ubuntu下Hadoop环境的配置

单机版搭建Hadoop环境图文教程详解

相关内容