Hadoop安装教程⽅式
本次教程⾸先介绍的是根据个⼈经验来安装hadoop环境,其次是林⼦⾬⽼师Hadoop安装教程⽅式,⼤家可以⾃⾏选择其中⼀种⽅式来进⾏安装。另外,还附送根据个⼈经验进⾏虚拟机磁盘扩容,可以说是痛苦经历吧!
个⼈安装hadoop快捷⽅式:
前期准备:virtualbox 虚拟机 下载好的hadoop-2.10.压缩包
1.安装增强功能
2.设置共享⽂件夹,因为有时候双向拷贝功能不能使⽤
3.执⾏ sudo apt-get update 更新程序
4.执⾏ sudo apt-get install synaptic 安装新⽴得软件管理器
5.执⾏sudo synaptic ,启动新⽴得软件管理器,查询openjdk,根据操作系统不同,可选 openjdk9或者11
6.执⾏ sudo apt-get install ssh
7.执⾏ update-alternatives --display java 获取jdk安装⽬录
8.执⾏ gedit ~/.bashrc ,增加
16.执⾏gedit ./etc/l 编辑,在 之间添加如下
1
dfs.namenode.name.dir
file:/usr/local/hadoop/tmp/dfs/name
dfs.datanode.data.dir
file:/usr/local/hadoop/tmp/dfs/data
1. 显⽰⽂件夹 ./bin/hdfs dfs -ls -R / 此时,应该没有输出
2. 建⽴⽂件夹 ./bin/hdfs dfs -mkdir /user
3. 再次执⾏ ./bin/hdfs dfs -ls / 可以看到有⽂件夹user
4. 向hdoop ⾥边存放资料,./bin/hdfs dfs -put
取资料,./bin/hdfs dfs -get
查看⽂档 ./bin/hdfs dfs -cat
**
扩容磁盘
1确定镜像⽂件地址
E:\Ubuntu虚拟机\lyh\lyh.vdi
Virtual box安装地址
E:\Program Files\Oracle\VirtualBox
Ubuntu移动⽂件时权限不够解决⽅法:
在终端输⼊ sudo nautilus
会弹出⼀个不具有权限的⽂件管理器,就可以移动了
林⼦⾬⽼师Hadoop安装教程⽅式
装好了 Ubuntu 系统之后,在安装 Hadoop 前还需要做⼀些必备⼯作。
创建hadoop⽤户如果你安装 Ubuntu 的时候不是⽤的 “hadoop” ⽤户,那么需要增加⼀个名为 hadoop 的⽤户。
⾸先按 ctrl+alt+t 打开终端窗⼝,输⼊如下命令创建新⽤户 :
1.sudo useradd -m hadoop -s /bin/bash
这条命令创建了可以登陆的 hadoop ⽤户,并使⽤ /bin/bash 作为 shell。
sudo命令
本⽂中会⼤量使⽤到sudo命令。sudo是ubuntu中⼀种权限管理机制,管理员可以授权给⼀些普通⽤户去执⾏⼀些需要root权限执⾏的操作。当使⽤sudo命令时,就需要输⼊您当前⽤户的密码.
Ubuntu终端复制粘贴快捷键
在Ubuntu终端窗⼝中,复制粘贴的快捷键需要加上 shift,即粘贴是 ctrl+shift+v。
接着使⽤如下命令设置密码,可简单设置为 hadoop,按提⽰输⼊两次密码:
1.sudo passwd hadoop
Shell 命令
可为 hadoop ⽤户增加管理员权限,⽅便部署,避免⼀些对新⼿来说⽐较棘⼿的权限问题:
1.sudo adduser hadoop sudo
Shell 命令
最后注销当前⽤户(点击屏幕右上⾓的齿轮,选择注销),返回登陆界⾯。在登陆界⾯中选择刚创建的 hadoop ⽤户进⾏登陆。
更新apt
⽤ hadoop ⽤户登录后,我们先更新⼀下 apt,后续我们使⽤ apt 安装软件,如果没更新可能有⼀些软件安装不了。按 ctrl+alt+t 打开终端窗⼝,执⾏如下命令:
1.sudo apt-get update
若出现如下 “Hash校验和不符” 的提⽰,可通过更改软件源来解决。若没有该问题,则不需要更改。从软件源下载某些软件的过程中,可能由于⽹络⽅⾯的原因出现没法下载的情况,那么建议更改软件源。在学习Hadoop过程中,即使出现“Hash校验和不符”的提⽰,也不会影响Hadoop的安装。
后续需要更改⼀些配置⽂件,我⽐较喜欢⽤的是 vim(vi增强版,基本⽤法相同),建议安装⼀下(如果你实在还不会⽤ vi/vim 的,请将后⾯⽤到 vim 的地⽅改为 gedit,这样可以使⽤⽂本编辑器进⾏修改,并且每次⽂件更改完成后请关闭整个 gedit 程序,否则会占⽤终端):
sudo apt-get install vim
安装软件时若需要确认,在提⽰处输⼊ y 即可
vim的常⽤模式
常⽤模式有分为命令模式,插⼊模式,可视模式,正常模式。本教程中,只需要⽤到正常模式和插⼊模式。⼆者间的切换即可以帮助你完成本指南的学习。
1.正常模式
正常模式主要⽤来浏览⽂本内容。⼀开始打开vim都是正常模式。在任何模式下按下Esc键就可以返回正常模式
2.插⼊编辑模式
插⼊编辑模式则⽤来向⽂本中添加内容的。在正常模式下,输⼊i键即可进⼊插⼊编辑模式
3.退出vim
如果有利⽤vim修改任何的⽂本,⼀定要记得保存。Esc键退回到正常模式中,然后输⼊:wq即可保存⽂本并退出vim
装vim我遇到的问题:
出现⽆法获得锁2747
然后输⼊sudo tar -zxf /home/hadoop/hadoop2.10.0/hadoop-2.10. -C /usr/local
安装SSH、配置SSH⽆密码登陆
集、单节点模式都需要⽤到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上⾯运⾏命令),Ubuntu 默认已安装了SSH client,此外还需要安装 SSH server:
1.sudo apt-get install openssh-server
Shell 命令
安装后,可以使⽤如下命令登陆本机:
1.ssh localhost
Shell 命令
此时会有如下提⽰(SSH⾸次登陆提⽰),输⼊ yes 。然后按提⽰输⼊密码 hadoop,这样就登陆到本机了。
但这样登陆是需要每次输⼊密码的,我们需要配置成SSH⽆密码登陆⽐较⽅便。
⾸先退出刚才的 ssh,就回到了我们原先的终端窗⼝,然后利⽤ ssh-keygen ⽣成密钥,并将密钥加⼊到授权中:
2.cd ~/.ssh/ # 若没有该⽬录,请先执⾏⼀次ssh localhost
3.ssh-keygen -t rsa # 会有提⽰,都按回车就可以
4.cat ./id_rsa.pub >> ./authorized_keys # 加⼊授权
1.cat ./id_rsa.pub >> ./authorized_keys # 加⼊授权
~的含义
在 Linux 系统中,~ 代表的是⽤户的主⽂件夹,即 “/home/⽤户名” 这个⽬录,如你的⽤户名为 hadoop,则 ~ 就代表
“/home/hadoop/”。 此外,命令中的 # 后⾯的⽂字是注释,只需要输⼊前⾯命令即可。
此时再⽤ ssh localhost 命令,⽆需输⼊密码就可以直接登陆了,如下图所⽰。
安装Java环境
下载完 Hadoop ⽂件后⼀般就可以直接使⽤。但是如果⽹络不好,可能会导致下载的⽂件缺失,可以使⽤ md5 等检测⼯具可以校验⽂件是否完整。
下载官⽅⽹站提供的 ar.gz.mds 这个⽂件,该⽂件包含了检验值可⽤于检查 ar.gz 的完整性,否则若⽂件发⽣了损坏或下载不完整,Hadoop 将⽆法正常运⾏。
本⽂涉及的⽂件均通过浏览器下载,默认保存在 “下载” ⽬录中(若不是请⾃⾏更改 tar 命令的相应⽬录)。另外,本教程选择的是
2.6.0 版本,如果你⽤的不是 2.6.0 版本,则将所有命令中出现的 2.6.0 更改为你所使⽤的版本。
1.cat ~/下载/hadoop-
2.6.ds | grep ‘MD5’ # 列出md5检验值
2.# head -n 6 ~/下载/hadoop-2.7.ds # 2.7.1版本格式变了,可以⽤这种⽅式输出
3.md5sum ~/下载/hadoop-2.6. | tr “a-z” “A-Z” # 计算md5值,并转化为⼤写,⽅便⽐较
Shell 命令
若⽂件不完整则这两个值⼀般差别很⼤,可以简单对⽐下前⼏个字符跟后⼏个字符是否相等即可,如下图所⽰,如果两个值不⼀样,请务必重新下载。
我们选择将 Hadoop 安装⾄ /usr/local/ 中:
1.sudo tar -zxf ~/下载/hadoop-
2.6. -C /usr/local # 解压到/usr/local中
2.cd /usr/local/
3.sudo mv ./hadoop-2.6.0/ ./hadoop # 将⽂件夹名改为hadoop
4.sudo chown -R hadoop ./hadoop # 修改⽂件权限
Shell 命令
Hadoop 解压后即可使⽤。输⼊如下命令来检查 Hadoop 是否可⽤,成功则会显⽰ Hadoop 版本信息:
1.cd /usr/local/hadoop
2…/bin/hadoop version
Shell 命令
相对路径与绝对路径
请务必注意命令中的相对路径与绝对路径,本⽂后续出现的 ./bin/…,./etc/… 等包含 ./ 的路径,均为相对路径,以 /usr/local/hadoop 为当前⽬录。例如在 /usr/local/hadoop ⽬录中执⾏ ./bin/hadoop version 等同于执⾏ /usr/local/hadoop/bin/hadoop version。可以将相对路径改成绝对路径来执⾏,但
如果你是在主⽂件夹 ~ 中执⾏ ./bin/hadoop version,执⾏的会是 /home/hadoop/bin/hadoop version,就不是我们所想要的了。
Hadoop单机配置(⾮分布式)
Hadoop 默认模式为⾮分布式模式(本地模式),⽆需进⾏其他配置即可运⾏。⾮分布式即单 Java 进程,⽅便进⾏调试。
现在我们可以执⾏例⼦来感受下 Hadoop 的运⾏。Hadoop 附带了丰富的例⼦(运⾏ ./bin/hadoop jar
ubuntu安装教程./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar 可以看到所有例⼦),包括 wordcount、terasort、join、grep 等。
在此我们选择运⾏ grep 例⼦,我们将 input ⽂件夹中的所有⽂件作为输⼊,筛选当中符合正则表达式 dfs[a-z.]+ 的单词并统计出现的次数,最后输出结果到 output ⽂件夹中。
1.cd /usr/local/hadoop
2.mkdir ./input
3.cp ./etc/hadoop/.xml ./input # 将配置⽂件作为输⼊⽂件
4…/bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-.jar grep ./input ./output ‘dfs[a-z.]+’
5.cat ./output/* # 查看运⾏结果
Shell 命令
执⾏成功后如下所⽰,输出了作业的相关信息,输出的结果是符合正则的单词 dfsadmin 出现了1次
Hadoop单机模式运⾏grep的输出结果
注意,Hadoop 默认不会覆盖结果⽂件,因此再次运⾏上⾯实例会提⽰出错,需要先将 ./output 删除。
< -r ./output
Hadoop伪分布式配置
Hadoop 可以在单节点上以伪分布式的⽅式运⾏,Hadoop 进程以分离的 Java 进程来运⾏,节点既作为 NameNode 也作为DataNode,同时,读取的是 HDFS 中的⽂件。
Hadoop 的配置⽂件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置⽂件 l 和 l 。Hadoop的配置⽂件是 xml 格式,每个配置以声明 property 的 name 和 value 的⽅式来实现。
修改配置⽂件 l (通过 gedit 编辑会⽐较⽅便: gedit ./etc/l),将当中的
1.
2.
XML
修改为下⾯配置:
1.
2.
3. p.dir
4. file:/usr/local/hadoop/tmp
5. Abase for other temporary directories.
6.
7.
8. fs.defaultFS
9. hdfs://localhost:9000
10.
11.
XML
同样的,修改配置⽂件 l:
1.
2.
3. plication
4. 1
5.
6.
7. dfs.namenode.name.dir
8. file:/usr/local/hadoop/tmp/dfs/name
9.
10.
11. dfs.datanode.data.dir
12. file:/usr/local/hadoop/tmp/dfs/data
13.
14.
XML
Hadoop配置⽂件说明
发布评论