linux系统中安装Hadoop详解
来源:互联网 发布:淘宝hd屡次停止运行 编辑:程序博客网 时间:2024/05/17 08:55
1. 安装前准备
Linux 系统有两种安装方式。一种是直接在裸机上安装Linux操作系统,另一种是在安装了Windows操作系统的机器上,通过安装Linux虚拟机,在Windows系统上虚拟一个Linux 环境。对于已经安装了Linux的用户可以跳过步骤 1) ,直接从步骤 2) 开始。
1)安装Linux虚拟机
首先,安装软件 VMware Workstation 。按照提示一步步完成Linux虚拟机的安装,方法与Linux操作系统的安装类似,我们这里选择的是ubuntu-12.04.2-desktop-amd64.iso安装包。软件安装完成后,可以打开Linux虚拟机,进入虚拟机Linux环境。需要注意的是,必须安装虚拟机工具 VMware Tools。 不会安装的朋友可以参考:http://download.csdn.net/detail/cloudiance/4138471 http://download.csdn.net/detail/hrgxiguan/2713917
通过VMware Workstation 软件的虚拟机设置选项,可以在Windows主机和Linux虚拟机之间建立共享文件夹,如下图所示:
添加共享文件夹之后,便可以在Linux虚拟机的/mnt/hgfs目录下看到对应的Windows主机的共享文件夹。
2)安装SSH
Hadoop运行过程中需要管理远端Hadoop守护进程,如果在安装Linux虚拟机时没有安装SSH Server,可以使用下面的命令来安装:
$ sudo apt-get install ssh
3)安装Java
我们这里使用的是 jdk-7u25-linux-x64.gz ,软件放在共享文件夹下。我们这里把Java安装到目录 /usr/java/jdk_1.7.0_25,使用如下命令:
$ cd /usr/java/
$ tar -zxvf /mnt/hgfs/share/jdk-7u25-linux-x64.gz
安装完jdk之后,需要配置jdk环境变量,具体配置请参考:http://www.linuxidc.com/Linux/2012-06/62078.htm
注意:我们这里的Ubuntu是64位的系统,如果你安装的32位系统,请选择32位的jdk版本,否则会安装失败。
4)解压 Hadoop 安装包
我们这里使用的是hadoop-0.20.2.tar.gz,软件放在共享文件夹下。把Hadoop解压到Linux usr/目录下,命令如下:
$ tar -zxvf /mnt/hgfs/share/hadoop-0.20.2.tar.gz
5)编辑 conf/hadoop-env.sh 文件
我们可以在 usr/hadoop-0.20.2/conf/ 目录下找到hadoop-env.sh,把JAVA_HOME设置为Java安装的根路劲,可以通过如下命令进行设置:
$ vim conf/hadoop-env.sh
注意:编辑该文件需要安装 vim ,没有安装的可以通过命令 $ sudo apt-get install vim 来安装。
2. 三种安装模式
Hadoop 集群支持三种运行模式:单机模式、伪分布式模式和完全分布式模式。
1)单机模式
默认情况下,Hadoop被配置成一个以非分布式模式运行的独立Java进程,适合开始时做调剂工作。
2)伪分布式模式
Hadoop可以在单节点上以伪分布式模式运行,用不同的Java进程模拟分布式运行的各类节点(NameNode、DataNode、JobTracker、TaskTracker、Secondary NameNode)。
(1)Hadoop 配置
Hadoop-0.20.2 以前的版本的配置文件是conf/Hadoop-default.xml;而之后的版本中,该配置文件被拆分为 core-site.xml、hdfs-site.xml 和 mapred-site.xml。其中core-site.xml 和 hdfs-site.xml是站在HDFS角度上的配置文件;core-site.xml 和 mapred-site.xml 是站在MapReduce 角度上的配置文件。 配置内容如下:
core-site.xml 文档内容如下:
hdfs-site.xml 文档内容如下:
mapred-site.xml 文档内容如下:
(2)免密码SSH设置。
生成秘钥对,执行如下命令:
$ ssh-keygen -t rsa
然后一直按<Enter> 键,就会按照默认的选项将生成的秘钥对保存在 .ssh/id_rsa文件中。
进入 .ssh 目录,执行如下命令:
$ cp id_rsa.pub authorized_keys
此后执行 $ ssh localhost,可以实现用SSH连接并且不需要输入密码。
(3)Hadoop运行。
格式化分布式文件系统。使用如下命令进行格式化:
$ bin/hadoop namenode -format
启动Hadoop守护进程。启动守护进程的命令如下:
$ bin/start-all.sh
成功执行后将在本机上启动NameNode、DataNode、JobTracker、TaskTracker 和 Secondary NameNode 五个新的Java进程。
到此,你可以在你的本机浏览器上输入 "http:// (你的linux IP地址) :50030"来查看Hadoop执行任务时的情况。如果能看到,说明Hadoop安装成功了。
当然,你也可以停止Hadoop守护进程,命令如下:
$ bin/stop-all.sh
3)完全分布式模式
对于Hadoop,不同的系统会有不同的节点划分方式。在HDFS看来,节点分为Namenode 和 DataNode,其中NameNode只有一个,DataNode可以有多个;在MapReduce看来,节点又分为JobTracker 和 TaskTracker,其中JobTracker只有一个,TaskTracker可以有多个。NameNode 和 JobTracker可以部署在不同的机器上,也可以部署在同一机器上。部署NameNode 和 / 或 JobTracker 的机器是 Master(主服务器),其余的都是Slaves (从服务器)。用户甚至可以将 NameNode、DataNode、JobTracker 和 TaskTracker 全部部署在一台机器上。详细的配置方法介绍如下。
(1)配置NameNode 和 DataNode。
配置成功的关键在于确保各机器的主机名和IP地址之间能正常解析。修改每台机器的 /etc/hosts,如果该台机器作 NameNode用,则需要在文件中添加集群中所有机器的 IP 地址及对应的主机名;如果该台机器仅作DataNode用,则只需要在文件中添加本机和 NameNode的 IP 地址及其对应的主机名。
假设把ubuntunamenode作为 NameNode,配置该节点的 /etc/hosts,如下图所示:
把ubuntudata1,ubuntudata2 作为 DataNode,分别配置他们的 /etc/hosts,如下图所示:
(2)在所有的机器上建立相同的用户 grid
这一步通过以下命令实现:
$ useradd -m grid
$ passwd grid
成功建立grid 用户后,输入的密码就是该用户的密码。
(3)SSH 配置
该配置主要是位了实现在机器之间执行指令时不需要输入密码。在所有机器上建立 .ssh 目录,执行:
$ mkdir .ssh
在ubuntunamenode 上生成秘钥对,执行:
$ ssh -keygen -t rsa
然后一直按<Enter>键,就会按照默认的选项将生成的秘钥对保存在 .ssh/id_rsa 文件中。接着执行如下命令:
$ cd ~/.ssh
$ cp id_rsa.pub authorezed_keys
$ scp authorized_keys ubuntudata1:/home/grid/.ssh
$ scp authorized_keys ubuntudata2:/home/grid/.ssh
最后进入所有机器的 .ssh 目录,改变authorized_keys 文件的许可权限:
$ chmod 644 authorized_keys
这时从 ubuntunamenode 向其他机器发起SSH 连接,只有在第一次登陆时需要输入密码,以后则不再需要。
(4)在所有机器上配置Hadoop。
首先在ubuntunamenode 上配置,执行如下的解压缩命令:
$ tar -zxvf /mnt/hgfs/share/hadoop-0.20.2.tar.gz
(a)编辑 core-site.xml、hdfs-site.xml 和 mapred-site.xml ,配置方法请参考伪分布式模式。
(b)编辑conf/masters ,修改为Master 的主机名,每个主机名一行,此外即为ubuntunamenode。
(c)编辑 conf/slaves,加入所有 Slaves 的主机名,即 ubuntudata1 和ubuntudata2。
(d)把 Hadoop 安装文件复制到其他机器上:
$ scp -r hadoop-0.20.2 ubuntudata1:/home/grid
$ scp -r hadoop-0.20.2 ubuntudata2:/home/grid
(e)编辑所有机器的 conf/hadoop-env.sh 文件,将 JAVA_HOME 变量设置为各自 Java 安装的根目录,不同机器可以使用不同的 Java 版本。
至此,Hadoop 已经在集群上部署完毕。如果要新加入或删除节点,仅需修改 NameNode 的Master和Slaves。
(5)Hadoop 运行
格式化分布式文件系统,操作命令如下:
$ bin/hadoop namenode -format
启动 Hadoop 守护进程。在ubuntunamenode 上启动 NameNode、JobTracker 和 Secondary NameNode,在ubuntudata1 和ubuntudata2 上启动DataNode 和 TaskTracker,并且用如下jps命令检测启动情况:
$ bin/start-all.sh
$ /usr/java/jdk1.7.0_25/bin/jps
用户可以根据自己的需要来执行如下命令:
(a)start-all.sh :启动所有的Hadoop 守护进程,包括 NameNode、DataNode、JobTracker 和 TaskTracker。
(b)stop-all.sh :停止所有的Hadoop 守护进程。
(c)start-mapred.sh :启动 Map/Reduce 守护进程,包括 JobTracker 和 TaskTracker。
(d)stop-mapred.sh :停止 Map/Reduce 守护进程。
(e)start-dfs.sh :启动Hadoop DFS 守护进程,包括 NameNode 和 DataNode。
(f)stop-dfs.sh :停止DFS守护进程。
修改 C:\WINDOWS\system32\drivers\etc\hosts 文件,加入三台虚拟机的 IP 地址及其对应的主机名,即:
127.0.0.1 localhost
192.168.11.100ubuntunamenode
192.168.11.101ubuntudata1
192.168.11.102ubuntudata2
- linux系统中安装Hadoop详解
- Linux中hadoop安装及配置详解
- Linux系统中redis安装配置详解
- Linux系统安装详解
- 在Linux系统中配置Hadoop环境(1)---在虚拟机上安装Linux Ubuntu系统
- 在Ubuntu linux系统中安装Hadoop系统(一):单结点
- Linux系统中rar、unrar命令安装和使用详解
- Linux系统中rar、unrar命令安装和使用详解
- Linux系统中rar、unrar命令安装和使用详解
- Linux系统中rar、unrar命令安装和使用详解
- linux系统中bugzilla nginx 安装配置 详解
- gnuplot压缩包以及Linux系统中gnuplot安装详解
- Linux系统安装Hadoop+Hbase+zookeeper
- Linux 安装以及基本使用Hadoop 详解
- 在windows系统中安装hadoop
- 在windows系统中安装hadoop
- 在windows系统中安装hadoop
- 在windows系统中安装hadoop
- Micaps3.2二次开发实例教程-14
- 可激活的间隔任务执行器
- 别克汽车常见疑难故障1000实例
- android截屏方法
- Android检测网络状态,开启Wifi
- linux系统中安装Hadoop详解
- c# String转换只要数字
- 操作sqlite
- 宽字符wchar_t *转char *的方法
- ArcGIS缓存之要素缓存
- linux下文件read only file system
- C语言:va_start、va_end、va_arg 实现可变长参数
- 大数乘法
- 超好的电子书网站