[大数据4V特征]
-----------------------------------------------------
1.Volum : 体量大
2.velocity: 速度快
3.variaty: 样式多
4.value: 价值密度低
[分布式]
-------------------------------------------------------
1.由分布在多台主机上的进程,协同在一起,才能构成整个应用
2.browser/web server : 瘦客户端程序
[Hadoop 简介]
------------------------------------------------------
1.可靠,可伸缩,分布式计算的开源软件
2.是一个框架,允许跨越计算机集群的大数据分布式化处理,使用简单的编程模型(MapReduce)
3.可从单个服务器扩展到几千台主机。每台节点都提供了计算和存储
4.不依赖硬件,在应用层面上实现
[Hadoop 模块]
--------------------------------------------------------
1.hadoop common
2.HDFS: hadoop distributed file system hadoop 分布式文件系统
3.Hadoop YARN: 作业调度和资源管理的框架
4.Hadoop MapReduce : 基于YARN系统的大数据集并行处理技术
[Hadoop 安装]
----------------------------------------------------------
1.下载hadoop.2.7.2.tar.gz
2.tar开,复制到/soft文件夹下
3.创建符号链接 hadoop
4.配置环境变量
Ubuntu: /etc/environment
Centos: /etc/profile
5.测试运行
$> source /etc/environment
$> source hadoop version
[配置:独立模式standalone]
-------------------------------------------------------
解压配置好环境变量即可,不需要额外做配置工作
没有守护进程,所有程序运行在同一个jvm中,利于test和debug
[配置:伪分布模式pseudo distributed Mode]
------------------------------------------------------------------------
1.配置文件路径 ${HADOOP_HOME}/etc/hadoop/ *-site.xml
2.配置core-site.xml //配置核心文件:使用hdfs文件系统协议
3.配置hdfs-site.xml //配置hdfs文件系统: 副本数 1
4.配置mapred-site.xml //配置计算框架 : yarn
5.配置yarn-site.xml //配置yarn框架: 资源管理器主机和辅助服务:localhost ,mapreduce_shuffle
6.配置SSH:登陆远程主机,无口令提示
$>sudo apt-get install ssh //安装服务端sshd和客户端ssh
//(安装之前要修改163或者阿里源,并且更新和升级)
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa //生成秘钥对:公钥和私钥
$>cat id_rsa.pub >> ~/.ssh/authorized_keys //将公钥发给对方,并添加到对方的认证库中
$>ssh localhost //连接,yes
$>exit
7.格式化hdfs文件系统
a.$> hdfs namenode -format
b.报错:java.net.UnknownHostException: 主机名: 主机名
修改/etc/hosts文件
127.0.0.1 主机名 localhost.localdomain localhost
或是再添加一条
127.0.0.1 主机名
主机名是新加的,原来没有,保存,问题解决。
8.启动 hdfs 和 yarn守护进程
$> start-dfs.sh //启动hadoop分布式文件系统
$> start-yarn.sh //启动yarn资源管理框架
$> jps //查看进程
9.停止 hdfs 和 yarn
$> stop-dfs.sh //停止hadoop分布式文件系统
$> stop-yarn.sh //停止yarn资源管理框架
$> jps //查看进程
10.创建hdfs目录
a. $> hadoop fs -mkdir -p /user/ubuntu //创建目录 -p 多级目录
a. $> hadoop fs -ls / //显示根目录
a. $> hadoop fs -ls -R / //递归显示根目录 hadoop fs -lsr /
11.查看帮助
$> hadoop fs //直接回车,查看fs:文件系统的帮助
$> hadoop fs -help put //查看文件系统下的具体命令的帮助(help)
12.查看namenode 和 datanode 在本地系统的表现方式
$> cd /tmp/ubuntu-hadoop/dfs/name/...
$> cd /tmp/ubuntu-hadoop/dfs/data/...
13.查看日志log
a.$> ${HADOOP_HOME}/logs
b.通过webui查看
http://localhost:50070/ //查看namenode的信息
http://localhost:8088/ //查看resourceManager集群信息,只有在本机访问才可以
http://localhost:19888/ //查看历史服务器hsitory的日志
14.通过netstat 查看端口占用情况
$> netstat -lupt
【配置:完全分布模式】
------------------------------------------------------------------------------------------
1.主机安装java
2主机安装hadoop
3.克隆主机
4.配置每台机器的ssh,方便scp
首先要重新生成克隆机的keygen,因为现在是克隆主机的秘钥
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa //生成秘钥对:公钥和私钥
将主机的keygen 发送到每个克隆机
$>cat id_rsa.pub >> ~/.ssh/authorized_keys //将公钥发给对方,并添加到对方的认证库中
因为是克隆的,所以,每个机器的authorized_keys,都已经有了id_rsa.pub ,故可省略
5.更改每台主机的用户
更改用户名 --/etc/hostname
-- s100 s200 s300 s400 s500
更改ip映射 --/etc/hosts
-- 更改ip 和主机名对应,并且远程拷贝(scp)到各个主机
-- $> scp hosts root@s200:/etc/
6.配置slaves(一行一个ip 或者主机名,对应DataNode)[ /soft/hadoop/etc/hadoop/slaves ]
//注意没有s100和s500,这个是配置三个数据节点的DataNode的
//s100 是名称节点 NameNode
//s500 是第二名称节点 Sec Name Node
s200
s300
s400
7.修改配置文件,并远程拷贝到每个节点(我用的s100作为名称节点)
进入/soft/hadoop/etc 下,拷贝文件夹
cp -r hadoop_pesudo hadoop_cluster
修改文件夹hadoop_cluster下的配置文件
a.-- 配置core-site.xml //配置核心文件:使用hdfs文件系统协议
b.-- 配置hdfs-site.xml //配置hdfs文件系统: 副本数3
c.-- 配置mapred-site.xml //配置计算框架 : yarn
d.-- 配置yarn-site.xml //配置yarn框架: 资源管理器主机和辅助服务:localhost ,mapreduce_shuffle
e.-- 远程拷贝到每个节点
$> scp hadoop_cluster ubuntu@s200:/soft/hadoop/etc/
$> scp hadoop_cluster ubuntu@s300:/soft/hadoop/etc/
$> scp hadoop_cluster ubuntu@s400:/soft/hadoop/etc/
$> scp hadoop_cluster ubuntu@s500:/soft/hadoop/etc/
6.格式化s100名称节点的磁盘
//1.使用 --config dir 指定命令运行目录
$> hdfs --config /soft/hadoop/etc/hadoop_cluster/ namenode -format
//2.进入目录检查一下
$> cat /tmp/hadoop-ubuntu/dfs/name/current/VERSION
7.在s100上启动集群
//1.$> start-dfs.sh
//2.s100,jps显示应该开启两个进程 NameNode 和 Sec NameNode
s200 s300 s400 上jps只有DataNode
//3.start-dfs.sh:通过配置文件,启动Hadoop集群
8.在s100上启动yarn框架
//1.$> start-yarn.sh
//此命令会启动s100的ResoucesManager
s200 s300 s400 的NodeManager
9.在s500上配置Sec NameNode
-- 配置hdfs-site.xml //配置hdfs文件系统: 副本数3
10.修改Ubuntu缓存文件夹(默认是 /tmp/hadoop-ubuntu下)
-- 【core-site.xml】
-- 修改: hadoop.tmp.dir=/home/ubuntu/hadoop
11.修改hdfs默认块大小(默认是128M)
-- 【hdfs-site.xml 】
-- 添加一组属性
dfs.blocksize=8m //64k , 64m, 1g
-- 测试
put 文件 > 8m ,通过webui 查看块大小
【Hadoop 端口】
---------------------------------------------------------------------------------------
1.http://localhost:50070/ //查看namenode的信息
2.http://localhost:8088/ //查看resourceManager集群信息,只有在本机访问才可以
3.http://localhost:19888/ //查看历史服务器hsitory的日志
4.hdfs://namenode:8020/ //name rpc(remote procedure call 远程调用端口)
【配置Ubuntu文本模式启动】
-----------------------------------------------------------------------------
1.$> sudo nano /etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="text" //改成文本模式
GRUB_TERMINAL=console //原来是注释掉的,要打开注释
2.$> sudo update-grub
3.$> sudo reboot
4.$> sudo startx //在文本模式下启用图形界面
【客户机关机命令】
-----------------------------------------------------------------
1.$> sudo pwoeroff
2.$> sudo shut down -h 0
1.$> sudo halt