基于hadoop的云计算 第一篇 安装配置篇Word下载.docx
- 文档编号:3249246
- 上传时间:2023-05-01
- 格式:DOCX
- 页数:13
- 大小:96.47KB
基于hadoop的云计算 第一篇 安装配置篇Word下载.docx
《基于hadoop的云计算 第一篇 安装配置篇Word下载.docx》由会员分享,可在线阅读,更多相关《基于hadoop的云计算 第一篇 安装配置篇Word下载.docx(13页珍藏版)》请在冰点文库上搜索。
名词
说明
备注
NN
NameNode
Master主节点
SNN
SecondaryNameNode
Jt
Jobtracker
Tt
Tasktracker
DN
DataNode
数据存储节点
GNU/Linux,hadoop不建议在win32平台上使用,顾这里只介绍在linux系统上的安装和配置
4.所需的软件:
JavaTM1.5.x及以上的版本,必须安装,建议选择Sun公司发行的Java版本。
ssh必须安装并且保证sshd一直运行,以便用Hadoop脚本管理远端Hadoop守护进程。
5.下载
本文使用的是hadoop-0.20.203.0,笔者当前的稳定版本。
下载地址http:
//hadoop.apache.org/common/releases.html#Download
6.部署
本文使用的是4台linux机器,hadoop.master作为namenode节点,hadoop.second作为secondaryNameNode节点,hadoop.slave1作为第一datanode节点,hadoop.slave2作为第二个datanode节点。
7.环境配置
7.1公共配置(集群中所有机器都需要的配置)
Ø
编辑环境变量
建议直接编辑/etc/profile文件增加JAVA_HOME和HADOOP_HOME环境变量,具体事例如下所示:
[root@hadoop~]#vi/etc/profile
增加如下几行代码
exportJAVA_OPTS='
-Xms256m-Xmx512m'
exportJAVA_HOME=/usr/local/java
exportCLASSPATH=.:
$JAVA_HOME/lib/dt.jar:
$JAVA_HOME/lib/tools.jar
exportJRE_HOME=/usr/local/java/jre
exportPATH=$JAVA_HOME/bin:
$PATH
exportHADOOP_HOME=/usr/local/hadoop
exportPATH=$PATH:
$HADOOP_HOME/bin
笔者为了以后方便起停hadoop把hadoop的bin也目录加到path中。
:
wq
让环境变量即时生效
[root@hadoop~]#source/etc/profile
修改hosts文件
[root@hadoop~]#vi/etc/hosts
在打开的文件中添加如下配置
192.168.2.17hadoop.master
192.168.2.19hadoop.slave1
192.168.2.14hadoop.slave2
192.168.1.197hadoop.second
增加如上几个域名,具体ip地址由各自的实际情况定,这里只列出笔者实验环境所需的。
Hadoop集群环境中使用域名访问的,所以需要把slave,master等域名加到每台服务器上。
建立hadoop专属用户
Groupaddhadoop
Useraddhadoop–ghadoop
Passwdhadoop
Changingpasswordforuserhadoop.
NewUNIXpassword:
123456
RetypenewUNIXpassword:
安装软件
安装JDK到/usr/local下命名为java
将下载好的hadoop-0.20.3.tar.gz文件上传到master的/usr/local/hadoop
tarzxvfhadoop-0.20.3.tar.gz#解压文件
设置hadoop目录的访问权限
chown–Rhadoop:
hadoop/usr/local/hadoop
改机器名
把每台机器的机器名改成localhost。
Vi/etc/sysconfig/network
修改HOSTNAME=localhost
此处是没搞清楚为什么的地方,实验结果表明必须改成localhosthadoop才能正常启动。
具体原理目前还没有搞清楚,只知其然,其所以然有待于以后研究。
7.2每个节点不同的配置
7.2.1配置hadoop
Hadoop的配置文件在早期版本中都放在同一个文件里hadoop-site.xml,在新版本中hadoop把配置文件做了区分,分成了:
Core-site.xml配置Common组件的属性
Hadoop-site.xml配置HDFS组件的属性
Mapred-site.xml配置map-reduce组件的属性
除了这3个配置文件以外还有hadoop-env.xml用来设置hadoop用到的环境变量;
masters文件用来配置SNN节点地址注意必须配置域名;
slaves文件配置所有DN节点的地址,必须是域名
7.2.2Core-site.xml配置实例
DN节点以及NN节点,snn节点配置一至:
<
property>
name>
fs.default.name<
/name>
//配置NN节点地址和端口号
value>
hdfs:
//hadoop.master:
9000<
/value>
//注意格式必须是host:
port的形式
<
/property>
hadoop.tmp.dir<
//hadoop临时目录用来存放nn临时文件
/usr/local/hadoop/tmp<
//该目录必须预先手工创建不能删除
fs.checkpoint.period<
//snn检查nn日志的时间周期
60<
//单位是秒,正式环境上建议配置成12小时
fs.checkpoint.size<
//snn每次从nn上读取的数据大小
67108864<
//通常情况下默认值就可以
7.2.3Hdfs-site.xml
NN节点
dfs.name.dir<
//指定name镜像文件存放目录,如不指定则
/usr/local/hadoop/hdfs/name<
//默认为core-site中配置的tmp目录
dfs.replication<
//数据节点冗余备份的数量,由于实验只有2个
1<
//NN顾设置唯一,实际配置是可由实际情况
//配置,建议尽量大于3
dfs.permissions<
//是否需要角色权限验证,上传文件时会用到,
false<
//如果为true,需要绑定hadoop用户角色
dfs.secondary.http.address<
//SNN的web访问地址。
hadoop.second:
50090<
DN节点配置
dfs.data.dir<
//数据存放的目录,如果不写默认为
/usr/local/hadoop/hdfs/data<
//core-site中配置的tmp目录
//是否需要角色权限验证,上传文件时会用到
//SNN的web访问地址
SN节点的配置
//数据节点冗余备份的数量,由于实验只有2个
//NN顾设置唯一,实际配置是可由实际情况
//配置,建议尽量大于3
dfs.http.address<
NN的web访问地址,注意此处和其他节点不同
hadoop.master:
50070<
Mapred-site.xml配置
所有节点都一致
mapred.job.tracker<
9001<
//必须为host:
port的形式,不能直接写ip
Jobtracker的分布式的配置方法目前没设置成功,有待于继续研究
Masters文件配置和slaves文件配置所有节点全部一致
所有节点的masters里面均配置SNN的域名
所有节点的slaves里面均配置所有DN的域名,一行一个DN
Hadoop-env.sh文件配置
里面是hadoop运行时定义的环境变量
其他的都可以用默认值,但是有一项必须修改就是javahome环境变量,指定到实际的javahome目录。
实例:
exportJAVA_HOME=/usr/local/java
8.hadoop无用户登录配置
用hadoop用户进入每台机器:
进入/home/hadoop目录
ssh-keygen-trsa#建立ssh目录,敲回车到底
1)登录NN服务器
2)进入/home/hadoop/.ssh目录
3)scp-rid_rsa.pubhadoop@hadoop.slave1:
/home/hadoop/.ssh/authorized_keys
#将master上的密钥传到slave1的hadoop用户下,重命名为authorized_keys
4)scp-rid_rsa.pubhadoop@hdoop.slave2:
#将master上的密钥传到slave2的hadoop用户下,重命名为authorized_keys
5)scp-rid_rsa.pubhadoop@hadoop.second:
#将master上的密钥传到snn的hadoop用户下,重命名为authorized_keys
6)用hadoop用户进入hadoop.slave1/home/hadoop/.ssh目录
7)catid_rsa.pub>
>
authorized_keys
#把自己的id_rsa.pub内容也放到authorized_keys中
8)scp-rid_rsa.pubhadoop@hadoop.master:
/home/hadoop/.ssh/authorized_keys_s1
#将slave1上的密钥传到master的hadoop用户下
9)用hadoop用户进入hadoop.slave2/home/hadoop/.ssh目录
10)catid_rsa.pub>
11)scp-rid_rsa.pubhadoop@hadoop.master:
/home/hadoop/.ssh/authorized_keys_s2
#将slave2上的密钥传到master的hadoop用户下
12)用hadoop用户进入hadoop.second/home/hadoop/.ssh目录
13)catid_rsa.pub>
14)scp-rid_rsa.pubhadoop@hadoop.master:
/home/hadoop/.ssh/authorized_keys_second
#将snn上的密钥传到master的hadoop用户下
15)在master,上执行以下操作
16)catid_rsa.pub>
authorized_keys
#将本地密钥添加authorized_keys
17)catauthorized_keys_s1>
18)catauthorized_keys_s2>
19)catauthorized_keys_second>
20)rmauthorized_keys_second
21)rmauthorized_keys_s1
22)rmauthorized_keys_s2
这样主节点和从节点之间就可以不用密码直接ssh访问
特别注意authorized_keys文件的访问权限必须设置成600
登录每台机器执行chmod600authorized_keys
9.启动hadoop
用hadoop用户进入nn服务器的/usr/local/hadoop/hadoop-0.20.203.0/bin目录
格式化hadoop
Hadoopnamenode–format
启动hadoop
./start-all.ssh,不建议这样启动建议单独启动守护进程。
Hadoop日志目录
/usr/local/hadoop/hadoop-0.20.203.0/logs
启动完检查下启动日志,启动后到nn上查看
hadoop-hadoop-namenode-master.log
hadoop-hadoop-jobtracker-master.log
因为我们的nn和jobtracker部署在同一台机器上,所有master上会有2个日志
登录snn节点服务器查看
hadoop-hadoop-secondarynamenode-master.log
这几个没错误就OK了
这时候就可以进入管理页面看看了
http:
//192.168.2.15:
50030/
50070/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于hadoop的云计算 第一篇 安装配置篇 基于 hadoop 计算 一篇 安装 配置