Hadoop集群安装参考

Hadoop集群安装参考

一、说明

1.安装环境说明:

 操作系统为Centos 6.4,安装的hadoop 版本为0.20.2-cdh3u6

2.安装后的集群环境说明:

集群内共6台机器,分别为namenode、secondnamenode、jobtrack、datanode(三个节点),参考如下:

namenode节点:                192.168.8.67(主机名:namenode

secondnamenode节点:     192.168.8.65 (主机名:secondnamenode)

jobtrack节点:                    192.168.8.68(主机名:jobtrack

datanode01 节点:              192.168.8.62 (主机名: datanode01
datanode02 节点:              192.168.8.63 (主机名: datanode02
datanode03 节点:              192.168.8.64 (主机名: datanode03
3.安装用户为hadoop

4.安装目录为/opt/hadoop

二、安装

1.下载hadoop-0.20.2-cdh3u6.tar.gz

2.解压hadoop-0.20.2-cdh3u6.tar.gz并将解压后的文件夹重命名为hadoop

3.将hadoop文件夹分别以root身份上传至namenode、secondnamenode、jotrack、datanode01、datanode02、datanode03的/opt目录下

4.更改/opt/hadoop目录的所有者为hadoop用户

参考命令:sudo chown -R hadoop.hadoop /opt/hadoop

5.设置环境变量

参考如下:

export HADOOP_HOME=/opt/hadoop
export PATH=$PATH:$HADOOP_HOME/bin

6.设置各个hadoop节点的配置文件,参考如下

分别进入每个节点机器的/opt/hadoop/conf目录下完成如下配置:

(1).namenode:

 a.core-site.xml:

<!--namenode上不需要进行关于lzo的配置-->
<configuration>
 <!-- 
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp/</value>
  </property>
-->
  <property>
    <name>io.file.buffer.size</name>
    <value>65536</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://namenode:9000</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
  </property>
</configuration>

b.hdfs-site.xml:

<configuration>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/hadoop/data/name</value>
    <final>true</final>
</property>
<!--
<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/hadoop/data/data</value>
  <final>true</final>
</property>
-->
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.block.size</name>
  <value>134217728</value>
</property>
</configuration>

c.mapred-site.xml:

<configuration>

<property>
  <name>mapred.child.java.opts</name>
  <value>-Xmx1024m</value>
</property>

<property>
  <name>io.sort.mb</name>
  <value>500m</value>
</property>

<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>4</value>
    <final>true</final>
  </property>

  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
    <final>true</final>
  </property>
<property>
    <name>mapred.job.tracker</name>
    <value>jobtrack:9001</value>
    <final>true</final>
  </property>

</configuration>
d.masters:

#secondnamenode的地址(可以输入主机名或者输入ip)
secondnamenode
#192.168.8.65
e.slaves:

#各datanode节点的主机名或ip地址
#192.168.8.62
#192.168.8.63
#192.168.8.64
datanode01
datanode02
datanode03
此项配置完成后,先别着急启动hadoop,好多东西还没设置,继续往下走.....

(2).secondnamenode

a.core-site.xml:

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp/</value>
  </property>
  <property>
    <name>io.file.buffer.size</name>
    <value>65536</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://namenode:9000</value>
  </property>
  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
  </property>
  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
  </property>
</configuration>
b.hdfs-site.xml:

<configuration>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/hadoop/data/name</value>
    <final>true</final>
</property>

<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/hadoop/data/data</value>
  <final>true</final>
</property>

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

<property>
  <name>dfs.block.size</name>
  <value>134217728</value>
</property>

</configuration>
c.mapred-site.xml:

<configuration>
<property>
  <name>mapred.child.java.opts</name>
  <value>-Xmx1024m</value>
</property>
<property>
  <name>io.sort.mb</name>
  <value>500m</value>
</property>
<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>4</value>
    <final>true</final>
  </property>
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
    <final>true</final>
  </property>
<property>
    <name>mapred.job.tracker</name>
    <value>jobtrack:9001</value>
    <final>true</final>
  </property>
</configuration>
d.masters和slaves无需配置

此项配置完成后,先别着急启动hadoop,好多东西还没设置,继续往下走.....
(3).jobtrack

a.core-site.xml:

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp/</value>
  </property>

  <property>
    <name>io.file.buffer.size</name>
    <value>65536</value>
  </property>
  <property>
    <name>fs.default.name</name>
    <value>hdfs://namenode:9000</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
  </property>

</configuration>

b.hdfs-site.xml:

<configuration>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/hadoop/data/name</value>
    <final>true</final>
</property>

<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/hadoop/data/data</value>
  <final>true</final>
</property>


<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>


<property>
  <name>dfs.block.size</name>
  <value>134217728</value>
</property>

</configuration>
c.mapred-site.xml:

<configuration>
<property>
  <name>mapred.child.java.opts</name>
  <value>-Xmx1024m</value>
</property>
<property>
  <name>io.sort.mb</name>
  <value>512m</value>
</property>
<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>4</value>
    <final>true</final>
  </property>
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
    <final>true</final>
  </property>
<property>
    <name>mapred.job.tracker</name>
    <value>jobtrack:9001</value>
    <final>true</final>
</property>
<!--
<property>
  <name>mapred.task.timeout</name>
  <value>6000000</value>
</property>
-->
<!--设置map输出 -->
   <property>
       <name>mapred.compress.map.output</name>
       <value>false</value>
   </property>
   <property>
       <name>mapred.map.output.compression.codec</name>
       <value>com.hadoop.compression.lzo.LzopCodec</value>
   </property>
   <!--设置reduce输出 -->
   <property>
       <name>mapred.output.compress</name>
       <value>false</value>
   </property>
   <property>
       <name>mapred.output.compression.codec</name>
       <value>com.hadoop.compression.lzo.LzopCodec</value>
   </property>
</configuration>
d.masters文件无需配置

e.slaves:

#配置tasktrack(datanode01、datanode02、datanode03)节点IP或者各节点主机名:
#192.168.8.62
#192.168.8.63
#192.168.8.64
datanode01
datanode02
datanode03
此项配置完成后,先别着急启动hadoop,好多东西还没设置,继续往下走.....
(3).datanode01

a.core-site.xml:

<configuration>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/tmp/</value>
  </property>

  <property>
    <name>io.file.buffer.size</name>
    <value>65536</value>
  </property>

  <property>
    <name>io.compression.codecs</name>
    <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec,com.hadoop.compression.lzo.LzopCodec</value>
  </property>

  <property>
    <name>io.compression.codec.lzo.class</name>
    <value>com.hadoop.compression.lzo.LzopCodec</value>
  </property>

  <property>
    <name>fs.default.name</name>
    <value>hdfs://namenode:9000</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
  </property>

  <property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
  </property>


</configuration>
b.hdfs-site.xml:

<configuration>
<property>
  <name>dfs.permissions</name>
  <value>false</value>
</property>
<!--
<property>
  <name>dfs.name.dir</name>
  <value>/home/hadoop/hadoop/data/name</value>
    <final>true</final>
</property>
-->
<property>
  <name>dfs.data.dir</name>
  <value>/home/hadoop/hadoop/data/data</value>
  <final>true</final>
</property>
<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>
<property>
  <name>dfs.block.size</name>
  <value>134217728</value>
</property>
</configuration>

c.mapred-site.xml:

<configuration>
<property>
  <name>mapred.child.java.opts</name>
  <value>-Xmx1024m</value>
</property>
<property>
  <name>io.sort.mb</name>
  <value>512m</value>
</property>
<property>
    <name>mapred.tasktracker.map.tasks.maximum</name>
    <value>4</value>
    <final>true</final>
  </property>
  <property>
    <name>mapred.tasktracker.reduce.tasks.maximum</name>
    <value>2</value>
    <final>true</final>
  </property>
<property>
    <name>mapred.job.tracker</name>
    <value>jobtrack:9001</value>
    <final>true</final>
  </property>
<!--
 <property>
   <name>mapred.task.timeout</name>
   <value>6000000</value>
 </property>
-->
</configuration>
d.masters和slaves文件无需配置

(5).其余的datanode节点(datanode02、datanode03)的配置和上面的datanode01的配置完全一致。


7.创建hadoop的数据存放目录:

在上面的配置中,

dfs.name.dir(hdfs-site.xml)目录设置为~/hadoop/data/name

dfs.data.dir(hdfs-site.xml)目录设置为~/hadoop/data/data

hadoop.tmp.dir(core-site.xml)目录设置为~/hadoop/tmp

其中,

namenode需要设置dfs.name.dir,

datanode需要设置dfs.data.dir和hadoop.tmp.dir,

secondnamenode、jobtrack需要设置hadoop.tmp.dir,dfs.name.dir,dfs.data.dir。

建议:以上的配置可以不设置,如果不设置hadoop有自己的默路径,为了方便维护建议设置;

为了避免不确定性的配置问题,建议在每个节点都设置hadoop.tmp.dir,dfs.name.dir,dfs.data.dir

基于以上配置,需要在各个节点上创建如下目录:

mkdir ~/hadoop/data


8.设置节点间的无密码登陆:

分别设置:

namenode对secondnamenode、datanode01、datanode02、datanode03的无密码ssh登陆;

secondnamenode对datanode01、datanode02、datanode03的无密码ssh登陆;

jobtrack对datanode01、datanode02、datanode03的无密码ssh登陆。

建议:为了方便以后对hadoop集群的管理,最好设置成每一个节点都可以对其他所有节点的ssh无密码登陆。

如果不清楚如何设置ssh无密码登陆,请参考本人的博客(Linux栏目下)


9.设置节点的ip和主机名的映射关系:

配置 每个节点的/etc/hosts文件(datanode节点可以不需要配置):

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.8.62 datanode01
192.168.8.63 datanode02
192.168.8.64 datanode03
192.168.8.65 secondnamenode
192.168.8.67 namenode
192.168.8.68 jobtrack
10.关闭每个节点的防火墙

11.启动hadoop集群:

在namenode节点上执行start-dfs.sh;

在jobtrack节点上执行start-mapred.sh



































  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值