Hadoop超级安装手册
安装Hadoop并不困难,官方文档也给的还算详细。最近同事练习安装还是会遇到一些问题,最后我们整理出来傻瓜版安装手册,帮助你0基础成功。
一、 Hadoop准备篇:
Hadoop运行软件环境:
1. SSH及 SSHD服务正常运行
2. JDK
如果没装,可以自己安装一下:
Sudo yum -y install jdk -b current
二、 Hadoop基础篇(安装完成单节点Hadoop)
1. 源代码下载
1.1 下载Hadoop 源码压缩包至服务器
wget http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
1.2 解压源码压缩包 tar HadoopInstall
Tar -zvxf hadoop-0.20.2.tar.gz -C HadoopInstall
HadoopInstall即为Hadoop安装目录
2. 环境变量配置 : (hadoop_env.sh )
目录/home/YOURDictionary/HadoopInstall/ hadoop-0.20.2 /conf
2.1 JAVA_HOME:必选变量。
设置export JAVA_HOME=/usr/java/jdk1.6.0 jdk路径
2.2 HADOOP_HOME:可选变量
HADOOP_HOME默认的是bin目录的父目录,即/home/usr/HadoopInstall/ hadoop-0.20.2。
设置export HADOOP_HOME=/home/usr/HadoopInstall/ hadoop-0.20.2
3. 环境配置文件配置
主要有三个配置文件:core-site.xml, hdfs-site.xml, mapred-site.xml
3.1 conf/core-site.xml
<configuration> |
<property> |
<name>fs.default.name</name> ―-文件系统的默认名称 |
<value>hdfs://(master ip):9000</value> |
</property> |
</configuration> |
同理配置其他参数:
a. Hadoop运行的临时目录
hadoop.tmp.dir=/home/ads/data(自己设定自己虚拟机上的文件夹路径)
3.2 conf/hdfs-site.xml:
<configuration> |
<property> |
<name>dfs.replication</name> |
<value>1</value> |
</property> |
</configuration> 同理配置其他参数: |
a. DFS的数据保存目录:dfs.data.dir=/home/data,/home1/data(自己设定自己虚拟机上的文件夹路径
b. DFS Namenode保存的位置:dfs.name.dir=${hadoop.tmp.dir}/dfs/name,/home/ads/data1/dfs/name(自己设定自己虚拟机上的文件夹路径)
3.3 conf/mapred-site.xml:
<configuration> |
<property> |
<name>mapred.job.tracker</name> ― Jobtracker的位置 |
<value>(master ip):9001</value> |
</property> |
</configuration> 同理配置其他参数: a. 单节点同时运行的最大map数:mapred.tasktracker.map.tasks.maximum=8 b. 单节点同时运行的最大reduce数:mapred.tasktracker.reduce.tasks.maximum=6 |
4 主机自身打通 (ssh-keygen 命令详解见下节进阶篇)
$ ssh-keygen -t rsa -P ” -f ~/.ssh/id_ rsa
$ cat ~/.ssh/id_ rsa.pub >> ~/.ssh/authorized_keys
5 启动
进入~/HadoopInstall/ hadoop-0.20.2目录
5.1 格式化namenode
执行下面的命令[usr@servername: hadoop-0.20.2]$bin/hadoop namenode -format
5.2 简单启动所有守护
[usr@servername: hadoop-0.20.2]$ bin/start-all.sh
高级启动参见:Hadoop高级篇(Link)
5.3 停止守护
[usr@servername: hadoop-0.20.2]$bin/stop-all.sh
6 验证测试
启动成功后,可浏览器查看以下地址:
6.1 Job tracker
http://master名称:50030,能查看此页面,页面状态(Stated)显式为RUNNing(页面左上角)。
6.2 NameNode
http://master名称:50070,能看到Live Datanodes。
三、 Hadoop进阶篇(安装多节点hadoop):
3.1 集群SSH设置,集群打通(注意是双向哦)
例如集群存在三台机器,servername-1为主机。
3.1.1 在servername-1上生成密钥对:
[usr@servername-1:~]$ssh-keygen -t rsa
询问保存路径时直接回车采用默认路径
提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码
生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/usr/.ssh目录下。
3.1.2 id_rsa.pub的内容复制到每个机器(也包括本机)
id_rsa.pub的内容复制到每个机器(也包括本机)的/home/usr/.ssh/authorized_keys文件中。
如果机器上已经有 authorized_keys文件,就在文件末尾加上id_rsa.pub中的内容。
如果没有authorized_keys这个文件,直接cp 或者scp就好了,下面的操作假设各个机器上都没有authorized_keys文件。
i. 对于servername-1
[usr@servername-1:.ssh]$cp id_rsa.pub authorized_keys
ii. 对于servername-2(servername-3同servername-2的方法)
[usr @ servername-2:~]$mkdir .ssh
[usr @ servername-1:.ssh]$scp authorized_keys servername-2:/home/ servername /.ssh/
iii. 设置authorized_keys文件读写权限
[dbrg@ servername-2:.ssh]$chmod 644 authorized_keys必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的。
iv. 验证测试
i. 注意每个机器上的.ssh目录的ls -la都应该和上面是一样的
[usr @ servername-2:.ssh]ls -la
drwx―― 2 usr users.
drwx―― 3 usr users..
-rw-r-r- 1 usr users authorized_keys
ii. 测试本机ssh servername-1
iii. [usr @ servername-1:~]$ssh servername-2
如果ssh配置好了,就会出现以下提示信息
The authenticity of host [servername-2] can’t be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。
然后你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了
3.2 Master主机配置(同上一节)
3.3 Masters/Slave文件配置
3.3.1 Masters
在master主机上的hadoop-0.20.2 /conf/目录下,打开master 文件,把master 主机名添加进去:,本文以servername-1做为master,所以在master文件内容是:
servername-1
3.3.2 Slaves
在master主机上的hadoop-0.20.2 /conf/目录下,打开slaves文件,该文件用来指定所有的从节点,一行指定一个主机名。即本文中的servername-2,servername-3,因此slaves文件看起来应该是这样的
servername-2
servername-3
3.4 部署Hadoop集群 (必须放在最后一步哦 )
前面讲的这么多Hadoop的环境变量和配置文件都是在dbrg-1这台master主机上的, 将上述配置好的hadoop分发至各个slave的相同位置,注意要保证目录结构一致,
[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-2:/home/ YOURDictionary / HadoopInstall
[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-3:/home/ YOURDictionary / HadoopInstall
3.5 启动
同hadoop 基础篇启动
3.6 验证测试
同hadoop 基础篇 验证测试
建议继续学习:
- Facebook的实时Hadoop系统 (阅读:10588)
- hadoop rpc机制 && 将avro引入hadoop rpc机制初探 (阅读:5106)
- Hadoop的map/reduce作业输入非UTF-8编码数据的处理原理 (阅读:4607)
- 百度是如何使用hadoop的 (阅读:3937)
- Hadoop集群间Hadoop方案探讨 (阅读:3747)
- 使用hadoop进行大规模数据的全局排序 (阅读:3453)
- Ubuntu下Postgresql-8.4安装及配置 (阅读:3342)
- 详细步骤:在64位Linux上安装Memcached (阅读:3057)
- 在 Dell PowerEdge 1950 上安装 Linux 2.6.32-rc8 内核的问题与解决 (阅读:3037)
- Hadoop安装端口已经被占用问题的解决方法 (阅读:2965)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:shicheng 来源: 量子数科院
- 标签: Hadoop 安装
- 发布时间:2011-05-25 12:33:30
- [46] 界面设计速成
- [43] 视觉调整-设计师 vs. 逻辑
- [43] Oracle MTS模式下 进程地址与会话信
- [42] IOS安全–浅谈关于IOS加固的几种方法
- [42] android 开发入门
- [39] 图书馆的世界纪录
- [38] 程序员技术练级攻略
- [38] 【社会化设计】自我(self)部分――欢迎区
- [38] 如何拿下简短的域名
- [34] 读书笔记-壹百度:百度十年千倍的29条法则