Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)

大数据环境搭建




#环境

该教程系统环境为 Ubuntu15.04(其他版本的Linux操作系统可以借鉴) ,Hadoop版本为Hadoop2.6.0


#创建一个Hadoop的用户

在安装 Hadoop 之前,尽量创建一个专门的 Hadoop 用户,我的Hadoop用户名:hadoop,密码自己设计一个简单容易记的。


[ -m ] 使用者目录如果不在则自动创建

[ -s ]  使用 /bin/bash 作为 shell

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第1张图片

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无密码登录)

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第2张图片

将公钥 id_rsa.pub 加入 授权 authorized_keys 中

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第3张图片


#下载安装JDK

下载jdk1.7(官方下载

根据操作系统选择合适的版本(我选择的是Linux x64 ××.tar.gz)

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第4张图片


解压到安装的位置(我解压到/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

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第5张图片

java -version



#下载安装Hadoophttp://mirrors.cnnic.cn/apache/hadoop/common/hadoop-2.6.0/

下载 hadoop××.tar.gz 这个格式的文件,这是编译好的,包含 src 的则是 Hadoop 源代码。

同时也可以下载 hadoop-2.x.y.tar.gz.mds 用来校验 hadoop××.tar.gz 的完整性。

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第6张图片


进入下载目录:(对比md5检验值)

cat./hadoop-2.6.0.tar.gz.mds| grep 'MD5'# 列出md5检验值
md5sum./hadoop-2.6.0.tar.gz| tr "a-z""A-Z"# 计算md5值,并转化为大写,方便比较

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第7张图片
将 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

vim /usr/local/hadoop/etc/hadoop/core-site.xml

    
        hadoop.tmp.dir
        file:/usr/local/hadoop/tmp
        Abase for other temporary directories.
    
    
        fs.defaultFS
        hdfs://localhost:9000
    
2.hdfs-site.xml  

vim /usr/local/hadoop/etc/hadoop/hdfs-site.xml

    
        dfs.replication
        1
    
    
        dfs.namenode.name.dir
        file:/usr/local/hadoop/tmp/dfs/name
    
    
        dfs.datanode.data.dir
        file:/usr/local/hadoop/tmp/dfs/data
    

3.在hadoop-env.sh配置JAVA_HOME:

vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh 


 
4.配置完成后,执行 namenode 的格式化:

hdfs namenode -format

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第8张图片

5.start-all.sh/stop-all.sh测试:
Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第9张图片

jps 看现在都哪些进程跑起来了,如果有进程没跑起来,可以耐心查看日志,然后GG。

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第10张图片


Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第11张图片




6.web访问

可以通过http://localhost:50070/访问Hadoop的web界面查看信息

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第12张图片



#运行Hadoop伪分布式实例

1.首先创建用户目录


2.将需要处理的文件 -put 到 分布式文件系统 的 /uer/hadoop/input 文件夹中
hdfs dfs -put etc/hadoop/*.xml input

hdfs dfs -ls input #检测复制
Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第13张图片

hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'

运行MapReduce作业,从分布式文件系统下 input 文件夹中提取输入文本

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第14张图片

hdfs dfs -cat output/* 查看输出结果

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第15张图片

将结果提取到本机上
rm -R ./output #将原来的output删掉

hdfs dfs -get output output

cat ./output/*

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第16张图片

Hadoop — Linux(Ubuntu15.04)下安装`配置Hadoop(2.6.0)_第17张图片

注意!

Hadoop运行程序的时候,默认输出目录input不能存在,因此一定要在执行之前将其删除

注意!!(被坑过)



如果由于format引起datenode起不来可以参看该文章着手解决

鸣谢:http://www.powerxing.com/install-hadoop/




















你可能感兴趣的:(-,Hadoop)