hadoop集群搭建笔记

来源:互联网 发布:行知幼儿园 编辑:程序博客网 时间:2024/06/05 05:28

动手是学习东西最快的方式。

得到http://blog.csdn.net/swingling/article/details/45827979中编译好的。

/hadoop-2.6.0-src/hadoop-dist/target/下的hadoop-2.6.0。

环境准备,1台master,3台slave

1.4台机器之间需要ssh免密码登录。

2.配置jdk,在上篇编译中已提到如何安装。

3.设置hadoop的环境(需要在/etc/profile中设置,也可只在hadoop用户下设置)

 export HADOOP_HOME=/opt/hadoop/hadoop-2.6.0
 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:

4.hadoop配置文件的设置。

  a.core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/hadoop/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://Master.hadoop:9000</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>4096</value> 文件缓存大小
    </property>
</configuration>

b.mapred-site.xml

<configuration>
<property>
    <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <final>true</final>
    </property>

    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>Master.hadoop:50030</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>Master.hadoop:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>Master.hadoop:19888</value>
    </property>
    <property>
        <name>mapred.job.tracker</name>
        <value>Master.hadoop:9001</value>
    </property>
    <property>
        <name>mapreduce.map.memory.mb</name>
        <value>1024</value>
    </property>

</configuration>

c.hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:///usr/hadoop/dfs/name</value>   这2项不要设置在tmp下面,否则每次重启,数据都找不到了
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:///usr/hadoop/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value> 副本数
    </property>

    <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>Master.hadoop:50090</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value> 是否可以使用web访问
    </property>
</configuration>

d.yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>Master.hadoop</value>
    </property>

    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>Master.hadoop:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>Master.hadoop:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>Master.hadoop:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>Master.hadoop:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>Master.hadoop:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
        <discription>表示该节点上YARN可使用的虚拟CPU个数,默认是8,注意,目前推荐将该值设值为与物理CPU核数数目相同。如果你的节点CPU核数不够8个,则需要调减小这个值,而YARN不会智能的探测节点的物理CPU总数。</discription>
    </property>

    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1024</value>
        <discription>单个任务可申请最大内存,默认8192MB 设置了此项必须设置yarn.app.mapreduce.am.resource.mb 否则报内存分配不对</discription>
    </property>
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
        <discription>单个任务可申请最少内存,默认1024MB</discription>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1024</value>
        <discription>每个节点可用内存,单位MB</discription>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-vcores</name>
        <value>2</value>
        <discription>单个任务可申请的最多虚拟CPU个数,默认是32。</discription>
    </property>
    <property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>1024</value>     
        <discription>MR ApplicationMaster占用的内存量</discription>
    </property>
</configuration>

e.yarn-env.sh

JAVA_HEAP_MAX=-Xmx1000m改为JAVA_HEAP_MAX=-Xmx512m(可不改)

5.slaves设置节点。看自己机器ip设即可。
#192.168.1.103
192.168.1.104
192.168.1.105
192.168.1.106
6.关闭防火墙。

永久性生效,重启后不会复原
开启:chkconfig iptables on
关闭:chkconfig iptables off

7.格式化 namenode 

hadoop namenode -format

8.启动hadoop,当然每个人可能遇到的错误不一样。祝大家顺利。

在sbin下启动。./start-all.sh   (/hadoop-2.6.0/logs下面会有启动的详细信息,遇到错误时,可以查看下面的日志。)

9.查看

NameNode           http://192.168.1.103:50070/
ResourceManager    http://192.168.1.103:8088/
Job Historyserver: http://192.168.1.103:19888/ 访问不了,因为 没开mapred historyserver


每个人遇到的问题不一定一样,自己动手是最快的学习方法,此日志只为记录hadoop学习历程。

执行,hadoop权威指南中的例子



0 0
原创粉丝点击