#环境 该教程系统环境为 Ubuntu15.04(其他版本的Linux操作系统可以借鉴) ,Hadoop版本为Hadoop2.6.0
#创建一个Hadoop的用户 在安装 Hadoop 之前,尽量创建一个专门的 Hadoop 用户,我的Hadoop用户名:hadoop,密码自己设计一个简单容易记的。
[ -m ] 使用者目录如果不在则自动创建 [ -s ] 使用 /bin/bash 作为 shell
Ubuntu将用户加入用户组和cenOS不同,要注意。(centOS将普通用户添加到用户组和免密码(含Ubuntu)使用 sudo)
#更新apt sudo apt-get update 如果遇到Hash校验和不符等问题可以更换源来解决(Ubuntu15.04 更换源 · Linux闲谈杂记1)
#安装 SSH server、配置SSH无密码登录
SSH了解: SSH 分 openssh-client(Ubuntu已默认安装) 与 openssh-server(sudo apt-get install openssh-server), 前者用来登录到别的机子上,后者为其他机子登录到本机。
ssh-server配置文件位于/ etc/ssh/sshd_config
启动SSH服务: sudo /etc/init.d/ssh stop sudo /etc/init.d/ssh start
这里我们只需要安装 openssh-server sudo apt-get install openssh-server 然后登录到 本机 ssh localhost exit //退出刚才的登录
利用 ssh-keygen 生成密钥,并将密钥加入到授权中:(Linux/UNIX下使用ssh-keygen设置SSH无密码登录)
将公钥 id_rsa.pub 加入 授权 authorized_keys
中
#下载安装JDK 下载jdk1.7(官方下载) 根据操作系统选择合适的版本(我选择的是Linux x64 ××.tar.gz)
解压到安装的位置(我解压到/usr/Java/jdk××) tar
-zxvf jdk××(全名).tar.gz -C /usr/java/ tar命令 -c 压缩 -x 解压 -z (gzip) -v 显示 -f 后面接 要处理文件的名字 -C 后面接 处理之后的目标路径 配置java环境变量(可以在/etc/profile、/etc/bashrc、/etc/environment等多个文件中配置) vim /etc/profile
java -version
#下载安装Hadoop(http://mirrors./apache/hadoop/common/hadoop-2.6.0/)
下载 hadoop××.tar.gz 这个格式的文件,这是编译好的,包含 src 的则是 Hadoop 源代码。 同时也可以下载 hadoop-2.x.y.tar.gz.mds 用来校验 hadoop××.tar.gz 的完整性。
进入下载目录:(对比md5检验值)
cat./hadoop-2.6.0.tar.gz.mds| grep 'MD5'# 列出md5检验值 将 Hadoop 安装至 /usr/local/ 中:
sudo tar-zxvf /home/peerslee/下载/hadoop/hadoop-2.6.0.tar.gz -C /usr/local cd /usr/local/ sudo mv ./hadoop-2.6.0/ ./hadoop sudo chown -R hadoop:hadoop ./hadoop# 修改文件权限,这部真的很重要(我被这步坑过) 配置Hadoop环境变量(同Java环境变量):
#Hadoop伪分布式(节点既作为
NameNode 也作为 DataNode)配置
1.core-site.xml
3.在hadoop-env.sh配置JAVA_HOME:
vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
![]() 4.配置完成后,执行
namenode 的格式化:
hdfs namenode -format
![]() 5.start-all.sh/stop-all.sh测试:
![]() jps 看现在都哪些进程跑起来了,如果有进程没跑起来,可以耐心查看日志,然后GG。
![]() ![]() ![]() 6.web访问
可以通过http://localhost:50070/访问Hadoop的web界面查看信息
![]() #运行Hadoop伪分布式实例
1.首先创建用户目录
![]() 2.将需要处理的文件 -put 到 分布式文件系统 的 /uer/hadoop/input 文件夹中
hdfs dfs -put etc/hadoop/*.xml input
hdfs dfs -ls input #检测复制
![]() hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'
运行MapReduce作业,从分布式文件系统下 input 文件夹中提取输入文本
![]() hdfs dfs -cat output/* 查看输出结果
![]() 将结果提取到本机上
rm -R ./output #将原来的output删掉
hdfs dfs -get output output
cat ./output/*
![]() ![]() 注意!
Hadoop运行程序的时候,默认输出目录input不能存在,因此一定要在执行之前将其删除
注意!!(被坑过)
![]()
|
|
来自: qweertt4747 > 《Linux》