Hadoop集群部署配置文档(第1部分)
来源:互联网 发布:002174游族网络 编辑:程序博客网 时间:2024/05/21 10:18
1. 概述
本文档是hadoop集群的部署配置文档,详细描述了hadoop生产集群的安装步骤与配置参数。
本文档涉及软件版本如下:
序号
软件
版本
1
操作系统
CentOS5.5
2
JDK
JDK1.6.0_31
3
hadoop
Cloudera CDH3U3
注:全部为64位
2. 名词解释
1) Hadoop,Apache开源的分布式存储与处理框架。
2) HDFS,hadoop的分布式文件系统
3) NameNode,HDFS元数据主节点服务器,负责保存DataNode 文件存储元数据信息。存在单点故障,生产环境需要考虑该缺陷。简称为nn
4) JobTracker,hadoop的Map/Reduce调度器,负责与TackTracker通信分配计算任务并跟踪任务进度。简称为jt。
5) DataNode,hadoop数据节点,负责存储数据。简称为dn。
6) TaskTracker,hadoop调度程序,负责Map,Reduce 任务的具体启动和执行。简称为tt。
7) Secondary namenode,辅助namenode,主要目的是减少hadoop集群故障后再次启动的时间,对namenode的命名空间镜像与编辑日志做备份。简称为snn。
3. 硬件说明
1) 集群机器
序号
服务IP
主机名
用途
硬件配置
1
10.2.55.60
dn60.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/4个500G+2个1T硬盘/1000M网卡
2
10.2.55.61
dn61.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/6个500G硬盘/1000M网卡
3
10.2.55.62
dn62.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/6个500G硬盘/1000M网卡
4
10.2.55.63
dn63.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/6个500G硬盘/1000M网卡
5
10.2.55.64
nn.xxxx.com
nn/jt
DELL1950/2.33GHz 2*4核CPU/8G内存/300G硬盘/1000M网卡
6
10.2.55.68
snn.xxxx.com
snn
DELL2950/2.33GHz 2*4核CPU/8G内存/800G硬盘/1000M网卡
7
10.2.55.65
dn65.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/6个500G硬盘/1000M网卡
8
10.2.55.66
dn66.xxxx.com
dn
DELL2950/2.00GHz 1*4核CPU/2G内存/1个150G+5个500G硬盘/1000M网卡
9
10.2.55.67
dn67.xxxx.com
dn/tt
DELL2950/2.00GHz 1*4核CPU/8G内存/6个500G硬盘/1000M网卡
2) 集群能力
存储能力:14T
运算能力:最大map任务数4×6=24,最大reduce任务数2×6=12
3) Hadoop硬件规范参考。(具体的与应用有关,计算密集型、存储密集型、平衡型)
2010年国外datanode与tasknode的典型配置如下:
l CPU:2×4核2-2.5GHz
l 内存:16-24GB ECC RAM
l 存储:4×1TB SATA硬盘
l 网络:千兆以太网
4. 网络拓扑
l Hadoop存储数据依赖于节点在机架中位置,默认hadoop认为所有节点属于同一机架,当实际情况与默认不一致时需要在core-site.xml中配置。
l xxxx目前情况与默认一致。
l 使用内网IP来保证集群的安全性,内部要严格限制人员对集群信息的获取。
5. 分区需求
1) Raid
a) Namenode
l 方法1:留1块盘做热备,其余做raid5
l 方法2:用2 块盘做raid1,用作安装OS+SPFTWARE+CONFIG,然后留1块盘做热备,其余做raid5用作数据盘。
b) Datanode
l 用2块sata做raid1,用作安装OS+SPFTWARE+CONFIG,其他sata盘不做raid,用作数据盘
c) 说明
这样配置namenode是为了让os/soft/config有冗余,即使其中一块盘坏,依然能正常工作
这样配置datanode是为了让读写磁盘的效率增加,提升iops
2) 分区
a) 系统
/ 50G
/boot 200M
/swap 20G
/var 50G
/usr 100G
/opt 100G
b) 数据
/data1---数据盘1
...
/datan---数据盘n
6. 目录规划
序号
说明
目录
1
Jdk安装目录
/usr/java/jdk1.6.0_31x64
2
Hadoop安装目录
/usr/local/hadoop-0.20.2-cdh3u3
3
Ant安装目录
/usr/local/apache-ant-1.8.3
4
Hadoop配置相关根目录
/opt/hadoop
5
Hadoop HDFS相关根目录
/opt/hadoop/dfs
6
Hadoop namenode HDFS空间镜像文件目录
/opt/hadoop/dfs/name
7
Hadoop Secondary namenode HDFS空间镜像文件目录
/opt/hadoop/dfs/secondaryname
8
Hadoop 日志
/opt/hadoop/logs
9
Hadoop 临时目录
/opt/hadoop/tmp
10
Hadoop 配置文件目录
/opt/hadoop/conf
11
Mapred用临时目录
/var/lib/hadoop-0.20/cache/
7. 软件安装
7.1 jdk安装
1) 版本:jdk1.6.0_31 linux 64位,安装包:jdk-6u31-linux-x64-rpm.bin
2) 安装目录:/usr/java/jdk1.6.0_31x64
3) 安装步骤
a) 下载jdk-6u31-linux-x64-rpm.bin
b) 将jdk-6u31-linux-x64-rpm.bin复制到/usr/java/
c) ./jdk-6u31-linux-x64-rpm.bin
d) 删除jdk-6u31-linux-x64-rpm.bin释放空间
4) 设置java环境变量
a) 打开profile
#vi /etc/profile
b) 添加java环境变量
export JAVA_HOME=/usr/java/jdk1.6.0_31x64
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH
export PATH=$PATH:$JAVA_HOME/bin
c) 使配置生效
#source /etc/profile
5) 更新 alternatives,选择JDK版本
#update-alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_31x64/bin/java 60
#update-alternatives --config java
6) 进入 /usr/bin/目录
#cd /usr/bin
#ln -s -f /usr/java/jdk1.6.0_31x64/jre/bin/java
#ln -s -f /usr/java/jdk1.6.0_31x64/bin/javac
7) 验证
#java -version
7.2 hadoop安装
1) 版本:hadoop-0.20.2-cdh3u3
2) 安装目录:/usr/local/hadoop-0.20.2-cdh3u3
3) 安装步骤
a) 将 hadoop-0.20.2-cdh3u3 复制到/usr/local/
b) tar zxvf hadoop-0.20.2-cdh3u3.tar.gz
c) 删除hadoop-0.20.2-cdh3u3.tar.gz,释放空间
rm hadoop-0.20.2-cdh3u3.tar.gz
4) 设置hadoop环境变量
a) 打开profile
#vi /etc/profile
b) 添加java环境变量
export HADOOP_HOME=/usr/local/hadoop-0.20.2-cdh3u3
export HADOOP_CONF_DIR=${HADOOP_HOME}/conf
export PATH=$PATH:$HADOOP_HOME/bin
c) 使配置生效
#source /etc/profile
7.3 ant安装
1) 版本:apache-ant-1.8.3-bin.tar.gz
2) 安装目录:/usr/local/apache-ant-1.8.3
3) 安装步骤
a) 将 apache-ant-1.8.3-bin.tar.gz 复制到/usr/local/
b) tar zxvf apache-ant-1.8.3-bin.tar.gz
c) 删除 apache-ant-1.8.3-bin.tar.gz释放空间
4) 配置环境变量
a) #vi /etc/profile
b) 添加
export ANT_HOME=/usr/local/apache-ant-1.8.3
export PATH=$PATH:$ANT_HOME/bin
c) 使配置生效
#source /etc/profile
d) 验证 ant -version
7.4 lzo安装
1) 安装包说明
lzo-2.06.tar.gz------------------------lzo压缩算法
kevinweil-hadoop-lzo-6bb1b7f.tar.gz----hadoop调用lzo的native库和jar
lzop-1.03.tar.gz-----------------------linux lzo工具
2) 安装步骤
a) 安装gcc
yum -y install gcc gcc-c++ autoconf automake
b) 安装lzo
l 将 lzo-2.06.tar.gz复制到/usr/local
l 解压:tar zxvf lzo-2.06.tar.gz
l 编译:
cd lzo-2.06
./configure --enable-shared
make
make install
l 拷贝/usr/local/lib目录下的lzo库文件到/usr/lib(32位平台),或/usr/lib64(64位平台)
cp /usr/local/lib/liblzo2.* /usr/lib64/
c) 编译安装 hadoop lzo 本地库及jar
l 将 kevinweil-hadoop-lzo-6bb1b7f.tar.gz 复制到/usr/local
l 解压:tar zxvf kevinweil-hadoop-lzo-6bb1b7f.tar.gz
l 编译:cd kevinweil-hadoop-lzo-6bb1b7f
export CFLAGS=-m64
export CXXFLAGS=-m64
export ANT_OPTS="-Dhttp.proxyHost=221.6.15.156 -Dhttp.proxyPort=82"
ant compile-native tar
把编码/解码器以及native库拷贝到$HADOOP_HOME/lib目录下:
cp build/hadoop-lzo-0.4.15.jar $HADOOP_HOME/lib
cp build/native/Linux-amd64-64/lib/* $HADOOP_HOME/lib/native/Linux-amd64-64/
native库拷贝到/usr/lib64/
cp build/native/Linux-amd64-64/lib/* /usr/lib64/
l 问题:无法编译成功。
由于需要访问repo2.maven.org,
需要设置代理export ANT_OPTS="-Dhttp.proxyHost=221.6.15.156 -Dhttp.proxyPort=82"
http代理主机可以从网上查找
d) 安装 lzop
l 将 lzop-1.03.tar.gz 复制到/usr/local
l 解压:tar -zxvf lzop-1.03.tar.gz
l 编译:export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
cd lzop-1.03
./configure
make
make install
l 命令:
压缩 lzop -9 /usr/local/soft/lzo/test.log
解压 lzop -d /usr/local/soft/lzo/test.log.lzo
测试文件完整性 lzop -t /usr/local/soft/lzo/test.log
- Hadoop集群部署配置文档(第1部分)
- Hadoop集群部署配置文档(第2部分)
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- Hadoop集群(第1期)CentOS安装配置
- Hadoop集群(第1期)_CentOS安装配置
- hadoop集群安装配置文档
- hadoop-2.7.4-翻译文档-集群部署
- Hadoop集群(第5期)_Hadoop安装配置 1、集群部署介绍 1.1 Hadoop简介 Hadoop是Apache软件基金会旗下的一个开源分布式计算平
- Hadoop集群部署(基于2.7.1)
- Magic Squares
- 设计模式六大设计原则之接口隔离原则(Interface Segregation Principle)
- js 操作磁盘文件--使用fso
- 如何使用J-Link V8 烧写程序到NandFlash
- Android开发---从零搞起5
- Hadoop集群部署配置文档(第1部分)
- Github使用一:创建项目并上传到Github上
- hdoj_2044 一只小蜜蜂...
- wubi初学者好用的工具
- Hadoop集群部署配置文档(第2部分)
- 卡特兰数
- POJ 3624 Charm Bracelet(01背包问题)
- 掌握六大技能即可搞定英语
- 登陆三次错误提示15分钟后再试