在Linux 上安装Hadoop 教程.pdf
《在Linux 上安装Hadoop 教程.pdf》由会员分享,可在线阅读,更多相关《在Linux 上安装Hadoop 教程.pdf(11页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、在在 Linux 上安装上安装 Hadoop 教程教程 在虚拟机中安装的 Ubuntu系统下搭建 Hadoop 集群时首先要解决的问题是将宿主机的文件拷贝到虚拟机上。采用的简单方法是宿主机使用 Serv-U 建立一个 FTP 然后在虚拟机上登录将文件拷出来。要先熟悉 Linux 的基本概念和操作,如:cd、ls、tar、cat、ssh、scp、cp、rm、sudo、su、apt-get等操作。一一.实践环境实践环境:Ubuntu10.04+jdk1.6+hadoop-0.20.1 机器名 IP 作用 Master 192.168.0.3 Namenode、master、jobtracker S
2、lave1 192.168.0.4 Datanode、slave、tasktracker Slave2 192.168.0.6 Datanode、slave、tasktracker 二二.安装步骤安装步骤:1.在虚拟机上安装 Ubuntu10.04。这个很简单可以上网参考基本上是一直“下一步”就行。注意两个地方:一个是出现选择存储空间时直接选择使用整个磁盘就行,不要进行手动分区。第二个就是我才用的上网方法是 NAT 技术。配置详情在 11.30 日的日志里。2.2.对三台虚拟机做一下更新。$sudo apt-get update。后面要安装软件时,如果没有更新,在安装所需软件时,可能会说找不到
3、软件,安装不上。注意选择软件源时不要仅仅是一个网站,建议使用“中国 的服务器”。3 3.修改机器名和 hosts 文件。IP 为 192.168.128.2 的虚拟机做 namenode 机器名叫 master。IP 为 192.168.128.3 和 192.168.128.4 的虚拟机做 datanode 机器名分别叫 slave1,slave2 第一步:修改三台虚拟机的机器名。对 master$vi /etc/hostname /sudo hostname master 倒是有用啊 进入文件后将机器名改成 master 对 slave$vi /etc/hostname 进入文件后机器名改
4、成 slave1$vi /etc/hostname 第二步:修改三台虚拟机的/etc/hosts 文件。对 master 和 slave vi /etc/hosts 进入文件后原内容删除加入如下内容。192.168.0.3 master master 192.168.0.4 slave1 slave1 192.168.0.6 slave2 slave2 4 4.在三台虚拟机上分别新建一个名字为 jsj 的用户。第一步:rootmaster:$adduser jsj 第二步:提示你要求你填写一些信息,可以直接回车。第三步:设置 jsj 这个用户的密码(尽量简单一致)。Sudo 第四步:rootm
5、aster:/home$chown -R jsj:jsj jsj /将 jsj 文件夹的所用者改成 jsj 用户的。否则我们用 adduser jsj 创建了 jsj 用户后,jsj 用户不能在自己的主目录下创建文件夹,(如:$mkdir.ssh)提示没有权限创建文件夹。要添加新用户到 sudo,最简单的方式就是使用 usermod 命令。运行$sudo usermod-G admin username 这就你要作的,然而,如果用户已经是其他组的成员,你需要添加-a 这个选项,象这样$sudo usermod-a-G admin username 5 5.在三台虚拟机上分别配置 ssh 无密码
6、登录。第一步:rootmaster:$sudo apt-get install ssh /开启 ssh 服务。第二步:jsjmaster:$mkdir.ssh 在三台虚拟机的/home/jsj 目录下都用 jsj 用户建立一个.ssh 目录 第三步:jsjmaster:/.ssh/$ssh-keygen t rsa P f/.ssh/id_dsa ssh-keygen-t rsa-P /这个命令将为 masters 上的 jsj 用户生成其密钥对,生成的密钥对 id_dsa,id_dsa.pub,默认存储在/home/jsj/.ssh 目录下。第四步:jsjmaster:/.ssh/$cat
7、id_dsa.pub authorized_keys。cat/.ssh/id_rsa.pub /.ssh/authorized_keys/把 id_dsa.pub 追加到授权 key 里面(当前并没有 authorized_keys 文件是你也可以直接使用 cp 命令)。至此无密码登录到本机已经配置好了。可以使用$ssh localhost 命令测试一下。第一次登录时要输入 yes,之后就不用了。第五步:jsjmaster:/.ssh/$scp id_dsa.pub jsjslave1:/home/jsj/.ssh/将 id_dsa.pub 文件传送到 slave1 这台虚拟机上。slave2
8、 同理。現在的 ssh 使用同樣的方法會出現錯誤訊息 Agent admitted failure to sign using the key 解決方式 使用 ssh-add 指令将私钥 加进来(根据个人的密匙命名不同更改 id_rsa)#ssh-add /.ssh/id_rsa /authorized_keys 第六步:到 slave1 这台虚拟机上执行第四步的操作。slave2 同理。至此 master 就可以无密码登录到 slave1 和 slave2 上了。如果想要 slave1 和 slave2 都可以无密码登录到master 上必须在 slave1 和 salve2 上也操作第三部
9、生成自己的密钥对而且要将密钥对追加到三台机器的 authorized_keys 文件里。至此各个机器上的 SSH 配置已经完成,可以测试一下了,比如 master 向 slave1 发起 ssh连接 jsjmater:/.ssh$ssh slave1 如果 ssh 配置好了,就会出现以下提示信息 The authenticity of host dbrg-2 cant 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 co
10、ntinue connecting(yes/no)?OpenSSH 告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“/.ssh/know_hosts”文件中。第二次访问这台主机的时候你会发现不需要输入密码就可以建立 ssh 连接了,恭喜你,配置成功了。不过,别忘了测试本机 ssh localhost (因为后面的 Hadoop 命令受到这一步的影。注意如果你没有成功记住删除“/.ssh/know_hosts”文件就可以重新开始。6 6.在三台虚拟机上分别安装 jdk1.6 第一步:将 jdk-6u13-linux-i
11、586.bin 拷到/home/jsj 目录下 第二步:rootmaster:/home/jsj$chmod u+x jdk-6u13-linux-i586.bin/将 bin 文件修改成可执行文件。第三步:rootmaster:/home/jsj/$./jdk-6u13-linux-i586.bin/运行安装文件 第四步:rootmaster:/$gedit/etc/profile 在文件里面加入如下信息。export JAVA_HOME=/home/jsj/jdk1.6.0_13 export JRE_HOME=/home/jsj/jdk1.6.0_13/jre export CLASSP
12、ATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH 然后 rootmaster:/$source/etc/profile 是文件内容生效。第五步:重启电脑,在任何用户中$java version 如果显示如下信息:java version 1.6.0_13 Java(TM)SE Runtime Environment(build 1.6.0_04-b12)Java HotSpot(TM)Client VM(build 10.0-b19,mixed mode,sh
13、aring)说明 jdk 安装成功。你可以在 slave1 和 slave2 上执行同样的操作,也可以使用$scp r 将 jdk1.6.0_13 文件夹拷到其它两台虚拟机上,然后配置环境变量就 OK 了。至此 jdk 安装成功。注意安装 jdk 时容易出现的一个问题:第一是安装完成后只有安装时的登录用户可用 java 其它用户 可用。这样的话你要设置一下/etc/environment 文件。设置方法网上搜索就可以。7 7.在三台虚拟机上分别安装 Hadoop-0.20.1 第一步:将 hadoop-0.20.1.tar.gz 文件拷贝到/home/jsj 目录下。第二步:rootmaste
14、r:/home/jsj/$tar-xzvf hadoop-0.20.1.tar.gz/将文件解压。第三步:rootmaster:/home/jsj/$chown jsj:jsj hadoop-0.20.1/将文件所有者改成 jsj。第四步:rootmaster:/home/jsj/$gedit/etc/profile 进入文件将如下信息加到文件里。export HADOOP_HOME=/home/jsj/hadoop-0.20.1 export PATH=$HADOOP_HOME/bin:$PATH 第五步:更改 conf 目录下的 conf/core-site.xml,conf/hdfs-s
15、ite.xml,conf/mapred-site.xml,conf/hadoop-env.sh,conf/masters,conf/slaves 文件。rootmaster:/home/jsj/hadoop-0.20.1/conf/$gedit hadoop-env.sh 进入文件加入如下信息。export JAVA_HOME=/home/jsj/jdk1.6.0_13 rootmaster:/home/jsj/hadoop-0.20.1/conf/$gedit masters 进入文件加入如下信息。192.168.128.2 rootmaster:/home/jsj/hadoop-0.20.
16、1/conf/$gedit slaves 进入文件加入如下信息。192.168.128.3 192.168.128.4 rootmaster:/home/jsj/hadoop-0.20.1/conf/$gedit core-site.xml 进入文件加入如下信息。hadoop.tmp.dir /home/jsj/tmp A base for other temporary directories.fs.default.name hdfs:/192.168.128.2:9000 rootmaster:/home/jsj/hadoop-0.20.1/conf/$gedit hdfs-site.xm
17、l 进入文件加入如下信息。(replication 默认是 3,如果不修改,datanode 少于三台就会报错)。dfs.replication 1 rootmaster:/home/jsj/hadoop-0.20.1/conf/$gedit mapred-site.xml 进入文件加入如下信息。mapred.job.tracker 192.168.128.2:9001 第六步:jsjmaster:/$scp r hadoop-0.20.1 jsjslave1:/home/jsj/hadoop-0.20.1/将文件 hadoop-0.20.1 拷贝到其它两个虚拟机上就可以了。至此 hadoop
18、 安装完成。注意一个问题:运行时出现找不到主函数的错误,说明 profile环境变量的设置没有起效。可以在/etc/environment 文件里加入一些信息。具体信息网上搜索。8 8.运行 hadoop 自带的例程 wordcount。第一步:jsjmaster:/hadoop-0.20.1/bin/$hadoop namenode format/格式化文件系统,新建一个文件系统。第二步:jsjmaster:/hadoop-0.20.1/$start-all.sh/启动 hadoop 的所有守护进程。第四步:jsjmaster:/hadoop-0.20.1/$jps /查看进程,master
19、 虚拟机上的结果。在 slave1 和 slave2 虚拟机上 jsjslave1:/hadoop-0.20.1/$jps 第四步:(1)先在本地磁盘建立两个输入文件 file01 和 file02:第五步:jsjmaster:/soft/$echo“Hello World Bye World”file01 jsjmaster:/soft/$echo“Hello Hadoop Goodbye Hadoop”file02/在本地磁盘建立两个输入文件 file01 和 file02。将 Hello World Bye World 语句和Hello Hadoop Goodbye Hadoop 语句分
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 在Linux 上安装Hadoop 教程 Linux 安装 Hadoop
限制150内