更换虚拟机以后操作的步奏
1.到每一台机器上修改ip地址 ,然后修改hosts
1.5 给每台机器配置免密码登录
2.修改hadoop 的配置文件,发送到每台机器上
3.启动dfs start-dfs.sh PS:Netty现在已经成为大数据的主角了
PS:安装时hadoop格式化错误的解决方案, 说明 yarn没有起来

http://blog.csdn.net/weiyongle1996/article/details/74094989

安装Hadoop可能遇到的问题

1/运行mr程序出错, yarn没有启动
connecting to resoucemanager
retrying ....
retrying ..... 原因是没有启动yarn或者启动失败 2/初始化工作目录结构
hdfs namenode -format 只是初始化了namenode的工作目录
而datanode的工作目录是在datanode启动后自己初始化的 3/datanode不被namenode识别的问题
namenode在format初始化的时候会形成两个标识:
blockPoolId:
clusterId: 新的datanode加入时,会获取这两个标识作为自己工作目录中的标识 一旦namenode重新format后,namenode的身份标识已变,而datanode如果依然
持有原来的id,就不会被namenode识别 4/datanode下线后多久看到效果
datanode不是一下线就会被namenode认定为下线的,有一个超时时间 5/关于副本数量的问题
副本数由客户端的参数dfs.replication决定(优先级: conf.set > 自定义配置文件 > jar包中的hdfs-default.xml)

-------------------------------------------------离线计算系统-----------------------

0.Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
1.Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
2.
Hadoop 由许多元素构成。其最底部是 Hadoop Distributed File System(HDFS),它存储 Hadoop 集群中所有存储节点上的文件。HDFS(对于本文)的上一层是MapReduce 引擎,该引擎由 JobTrackers 和 TaskTrackers 组成。通过对Hadoop分布式计算平台最核心的分布式文件系统HDFS、MapReduce处理过程,以及数据仓库工具Hive和分布式数据库Hbase的介绍,基本涵盖了Hadoop分布式平台的所有技术核心。[4] 

HDFS

对外部客户机而言,HDFS就像一个传统的分级文件系统。可以创建、删除、移动或重命名文件,等等。但是 HDFS 的架构是基于一组特定的节点构建的(参见图 1),这是由它自身的特点决定的。这些节点包括 NameNode(仅一个),它在 HDFS 内部提供元数据服务;DataNode,它为 HDFS 提供存储块。由于仅存在一个 NameNode,因此这是 HDFS 的一个缺点(单点失败)。
存储在 HDFS 中的文件被分成块,然后将这些块复制到多个计算机中(DataNode)。这与传统的 RAID 架构大不相同。块的大小(通常为 64MB)和复制的块数量在创建文件时由客户机决定。NameNode 可以控制所有文件操作。HDFS 内部的所有通信都基于标准的 TCP/IP 协议。

NameNode

NameNode 是一个通常在 HDFS 实例中的单独机器上运行的软件。它负责管理文件系统名称空间和控制外部客户机的访问。NameNode 决定是否将文件映射到 DataNode 上的复制块上。对于最常见的 3 个复制块,第一个复制块存储在同一机架的不同节点上,最后一个复制块存储在不同机架的某个节点上。注意,这里需要您了解集群架构。
实际的 I/O事务并没有经过 NameNode,只有表示 DataNode 和块的文件映射的元数据经过 NameNode。当外部客户机发送请求要求创建文件时,NameNode 会以块标识和该块的第一个副本的 DataNode IP 地址作为响应。这个 NameNode 还会通知其他将要接收该块的副本的 DataNode。
NameNode 在一个称为 FsImage 的文件中存储所有关于文件系统名称空间的信息。这个文件和一个包含所有事务的记录文件(这里是 EditLog)将存储在 NameNode 的本地文件系统上。FsImage 和 EditLog 文件也需要复制副本,以防文件损坏或 NameNode 系统丢失。
NameNode本身不可避免地具有SPOF(Single Point Of Failure)单点失效的风险,主备模式并不能解决这个问题,通过Hadoop Non-stop namenode才能实现100% uptime可用时间。

DataNode

DataNode 也是一个通常在 HDFS实例中的单独机器上运行的软件。Hadoop 集群包含一个 NameNode 和大量 DataNode。DataNode 通常以机架的形式组织,机架通过一个交换机将所有系统连接起来。Hadoop 的一个假设是:机架内部节点之间的传输速度快于机架间节点的传输速度。
DataNode 响应来自 HDFS 客户机的读写请求。它们还响应来自 NameNode 的创建、删除和复制块的命令。NameNode 依赖来自每个 DataNode 的定期心跳(heartbeat)消息。每条消息都包含一个块报告,NameNode 可以根据这个报告验证块映射和其他文件系统元数据。如果 DataNode 不能发送心跳消息,NameNode 将采取修复措施,重新复制在该节点上丢失的块。

1.1 什么是HADOOP

  1. HADOOP是apache旗下的一套开源软件平台-------也可以说是中间件
  2. HADOOP提供的功能:利用服务器集群,根据用户的自定义业务逻辑,对海量数据进行分布式处理
  3. HADOOP的核心组件有
    1. HDFS(分布式文件系统)          要统计数据在一台机器上存不下,那么就要分块,还要记住文件在哪台机器上
    2. YARN(运算资源调度系统)       需要一种制度来管理硬件资源    resource manager、node manager
    3. MAPREDUCE(分布式运算编程框架)      任务的执行分为两个阶段,一个是maptask阶段,reducetask阶段。逻辑就写在  Mapreduce框架中。
  4. 广义上来说,HADOOP通常是指一个更广泛的概念——HADOOP生态圈
  5. PS: hadoop的生态圈      1.  Hive是查询数据库的一个框架,(HDFS+MapReduce)的一个替代,用sql执行操作。

  6. 2. Workflow就是做工作流的问题,  用阿斯卡板,不用 乌贼(因为比较框架太重)
  7. 3. 右上角就是机器学习。

PS:传统的机器算法,和现在都差不多。都是在样本基础的上,分析样本的距离。
但是,hadoop出来以后,可以把所有的传统的计算算法进行实现,那么,速度执行效率有很大的提升,因为机器学习本身就是非常耗费机器资源的, 因为数据量的计算问题。

4.flume主要解决大数据的日志问题,因为大数据项目,日志必然很多,所以使用这个框架日志

5.左下角 sqoop解决的是数据的迁移问题,我们可以把传统的数据转移到关系型数据库,也可以把数据转移到hadoop数据库

  1. PS:hadoop的框架引出, 比如说客户端有个任务统计字符,然后把人物分别打成jar包,放在每个服务器上。最后把做好数据返回给服务器。
    但是比如说中间某台集群的机器挂了,就急需一个框架来解决问题。hadoop来了,我们只需关心业务逻辑,无需关心其他的复杂的问题。
PS:hadoop是一种框架,但是与传统的框架有不太一样。 因为传统 的框架需要导包,但是hadoop不一样,他需要多态服务器集群然后才可以利用相应的api。
像一个中间件,做离线的数据分析处理。

1.3 HADOOP在大数据、云计算中的位置和关系

  1. 云计算是分布式计算、并行计算、网格计算、多核计算、网络存储、虚拟化、负载均衡等传统计算机技术和互联网技术融合发展的产物。借助IaaS(基础设施即服务)、PaaS(平台即服务)、SaaS(软件即服务)等业务模式,把强大的计算能力提供给终端用户。
  1. 现阶段,云计算的两大底层支撑技术为“虚拟化”和“大数据技术
  1. 而HADOOP则是云计算的PaaS层的解决方案之一,并不等同于PaaS,更不等同于云计算本身。

--------------------------分布式系统----------------------------------

PS:我的理解就是把一个大的 问题  分解为 多个小的问题  然后再汇总回来 ,完成并行计算。

----------------------------------------------------------------------------------------

3.1.2 案例需求描述

“Web点击流日志”包含着网站运营很重要的信息,通过日志分析,我们可以知道网站的访问量,哪个网页访问人数最多,哪个网页最有价值,广告转化率、访客的来源信息,访客的终端信息等。

3.1.3 数据来源

本案例的数据主要由用户的点击行为记录

获取方式:在页面预埋一段js程序,为页面上想要监听的标签绑定事件,只要用户点击或移动到标签,即可触发ajax请求到后台servlet程序,用log4j记录下事件信息,从而在web服务器(nginx、tomcat等)上形成不断增长的日志文件。

形如:

58.215.204.118 - - [18/Sep/2013:06:51:35 +0000] "GET /wp-includes/js/jquery/jquery.js?ver=1.10.2 HTTP/1.1" 304 0 "http://blog.fens.me/nodejs-socketio-chat/" "Mozilla/5.0 (Windows NT 5.1; rv:23.0) Gecko/20100101 Firefox/23.0"

3.2 数据处理流程

3.2.1 流程图解析

本案例跟典型的BI系统极其类似,整体流程如下:

但是,由于本案例的前提是处理海量数据,因而,流程中各环节所使用的技术则跟传统BI完全不同,后续课程都会一一讲解:

1)         数据采集:定制开发采集程序,或使用开源框架FLUME

2)         数据预处理:定制开发mapreduce程序运行于hadoop集群

3)         数据仓库技术:基于hadoop之上的Hive

4)         数据导出:基于hadoop的sqoop数据导入导出工具

5)         数据可视化:定制开发web程序或使用kettle等产品

6)         整个过程的流程调度:hadoop生态圈中的oozie工具或其他类似开源产品

PS:首先在 web系统的图片上预埋链接,记录到各个系统的分布式框架中的日志文件中。 如果是直接离线处理的话,就在HDFS系统中接着处理,后面使用mapreduce都数据进行分析,
在这里可以直接保存到Hive数据库中,也可以通过mahout对数据处理,最后导入mysql数据库中,进行数据可视化; 如果是实时对数据处理的话,使用kafka和spark直接汇入mysql,
到推荐界面(比如锤子手机说科大讯飞,使得科大讯飞用户猛增)
在推荐界面,还有自己的service进行干预,进行数据推荐(比如天冷就卖手套,情人节卖巧克力)

--------------------------------Hadoop集群安装-------------------------------------------------------

PS:Hadoop集群的  其实就是  hdfs的集群(name node)和yarn的集群(resource manager和 nodenanager)

PS:Hadoop的api非常多,但是我们只用常用的那几个就行了。在视频中都会讲解到。

4. 集群搭建

4.1 HADOOP集群搭建

4.1.1集群简介

HADOOP集群具体来说包含两个集群:HDFS集群和YARN集群,两者逻辑上分离,但物理上常在一起

HDFS集群:

负责海量数据的存储,集群中的角色主要有 NameNode / DataNode

YARN集群:

负责海量数据运算时的资源调度,集群中的角色主要有 ResourceManager /NodeManager

(那mapreduce是什么呢?它其实是一个应用程序开发包)

 

本集群搭建案例,以5节点为例进行搭建,角色分配如下:

hdp-node-01    NameNode  SecondaryNameNode

hdp-node-02    ResourceManager

hdp-node-03              DataNode    NodeManager

hdp-node-04              DataNode    NodeManager

hdp-node-05              DataNode    NodeManager

部署图如下:

--------------------------------Hadoop 安装----------------------------

1.准备Linux环境
1.0先将虚拟机的网络模式选为NAT

1.1修改主机名
vi /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=itcast ###

1.2修改IP
两种方式:
第一种:通过Linux图形界面进行修改(强烈推荐)
进入Linux图形界面 -> 右键点击右上方的两个小电脑 -> 点击Edit connections -> 选中当前网络System eth0 -> 点击edit按钮 -> 选择IPv4 -> method选择为manual -> 点击add按钮 -> 添加IP:192.168.1.101 子网掩码:255.255.255.0 网关:192.168.1.1 -> apply

第二种:修改配置文件方式(屌丝程序猿专用)
vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE="eth0"
BOOTPROTO="static" ###
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.1.101" ###
NETMASK="255.255.255.0" ###
GATEWAY="192.168.1.1" ###

1.3修改主机名和IP的映射关系
vim /etc/hosts

192.168.1.101 itcast

1.4关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
1.5 修改sudo
su root
vim /etc/sudoers
给hadoop用户添加执行的权限

关闭linux服务器的图形界面:
vi /etc/inittab

1.5重启Linux
reboot

2.安装JDK
2.1上传alt+p 后出现sftp窗口,然后put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz

2.2解压jdk
#创建文件夹
mkdir /home/hadoop/app
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app

2.3将java添加到环境变量中
vim /etc/profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
export PATH=$PATH:$JAVA_HOME/bin

#刷新配置
source /etc/profile
-----------------------------------------------------------------------------------------------

1.cd /home/

2. D:/Study/Java/chuanzhiboke大数据/视频/day06Hadoop/day06/软件/cenos-6.5-hadoop-2.6.4.tar.gz

mv /home/cenos-6.5-hadoop-2.6.4.tar.gz /root/cenos-6.5-hadoop-2.6.4.tar.gz

3.tar -zxvf cenos-6.5-hadoop-2.6.4.tar.gz -C apps/

PS:Hadoop虽然是用java 写的(跨平台),但是使用的时候还是要编译一下(需要安装很多的配置环境)。本人学习使用的是上面的tar包,centos6.5, 6.7也能用

3.安装hadoop2.4.1
先上传hadoop的安装包到服务器上去/home/hadoop/
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop

伪分布式需要修改5个配置文件

3.1配置hadoop
第一个:hadoop-env.sh
vim hadoop-env.sh
#第27行
export JAVA_HOME=/root/apps/jdk1.7.0_45

第二个:core-site.xml

<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bee1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
</property>

第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量,其实是可以不用配置 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>

<property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property>

第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
mv mapred-site.xml.template mapred-site.xml        //因为不编辑模板是空的
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bee1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

PS:配置好以后给每个机器传一份   scp -r apps bee3:/root

-------------------------------------------------------------------------------------

3.2将hadoop添加到环境变量

vim /etc/proflie
export JAVA_HOME=/root/java/jdk1.7.0_65
export HADOOP_HOME=/itcast/hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export JAVA_HOME=/root/apps/jdk1.7.0_45

export HADOOP_HOME=/root/apps/hadoop-2.6.4
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

把配置文件发给每台机器  sudo scp /etc/profile bee2:/etc            为了每台机器都能使用hadoop

source /etc/profile

3.3格式化namenode(是对namenode进行初始化,对配置文件初始化)
hdfs namenode -format (hadoop namenode -format)

-------------------------------------------------------------

PS:没有配置其他小弟,启动的话,可以在任何的机器上去启动
hadoop-daemon.sh start namenode 启动每一台机器
hadoop-daemon.sh stop namenode   关闭每一台机器

PS: 输入JMS测试系统是否启动,上图证明机器启动起来了

------------------------------------------------------------------------------

PS:如果这样启动的话,太浪费时间,我们需要脚本全部启动,slavs文件放所有的配置机器

PS:然后为老大,和小弟之间配置免密码登录。然后就可以  start-dfs.sh

关闭                                 stop-dfs.sh

-----------------------------

PS: 这个启动的过程很慢

PS:关闭分布式系统


3.4启动hadoop
先启动HDFS
sbin/start-dfs.sh

 

----------------------启动成功--------------------------------------------------

再启动YARN
sbin/start-yarn.sh

3.5验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode

http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)

4.配置ssh免登陆
#生成ssh免登陆密钥
#进入到我的home目录
cd ~/.ssh

ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
ssh-copy-id localhost
---------------------------
ssh免登陆:
生成key:
ssh-keygen
复制从A复制到B上:
ssh-copy-id B
验证:
ssh localhost/exit,ps -e|grep ssh
ssh A #在B中执行

PS:其实namenode和datanode就是运行在分布式机器上的软件

PS: jps找出执行 的java进程
PS:
后来安装的时候,遇到了0个datanode
1.最后重新安装解决了问题 2.修改了tmp位置 和删除log 的位置
 

PS:安装时遇到的问题

1.jps命令找不到   http://blog.csdn.net/zhanglu1236789/article/details/50445261

----------------------------------------------------HDFS SHell-----------------------------------------------------------------------------------------------------------------------------------------------------

PS:服务端查看文件

PS:   客户端查看文件 (客户端访问命令使用的是箭头所指的,在hadoop/bin目录下面)

------------------------上传命令

1.hadoop fs -put test.sh /               上传test.sh到 /

PS:在网页端查看

PS:在客户端查看

PS:文件大小为128M才会对文件切分

PS:经过验证,大文件分成块以后是可以合并的并且使用的。所以框架帮我们做的也是这样的工作。

2.  观察其他机器备份的文件  

3.1.hadoop fs -put test.sh /               获取文件

------------------------------体验mapreduce wordcount功能------------------------

PS:执行前确保三件事
1.集群的时间同步
2. start-dfs.sh只是启动hdfs
3.start-yarn.sh也应该启动,他启动的的是计算资源

1.cp wordtest.txt wordtest2.txt      //创建文件,写入相应的字符,然后复制文件
2.创建 文件和文件夹上传到 /wordcount/input目录下

3.到 hadoop 的 share/mapreduce的目录下找到jar包,执行命令                                          执行成功就放在/wordcount/output目录下面

hadoop jar hadoop-mapreduce-examples-2.6.4.jar wordcount /wordcount/input  /wordcount/output

4.查看mapreduce分析过的文件

hadoop fs -cat /wordcount/output/part-r-00000

-------------Java API文件系统的操作

-------------------------------------------
1.首先添加jar包,需要添加common和hdfs的jar和lib中的jar

2.因为windows系统,无法执行hadoop的东西,需要添加添加hadoop环境变量
-----------------------------------------------
import java.net.URI;
import java.util.Iterator;
import java.util.Map.Entry; import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.FileStatus;
import org.apache.hadoop.fs.FileSystem;
import org.apache.hadoop.fs.LocatedFileStatus;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.fs.RemoteIterator;
import org.junit.Before;
import org.junit.Test;
/**
*
* 客户端去操作hdfs时,是有一个用户身份的
* 默认情况下,hdfs客户端api会从jvm中获取一个参数来作为自己的用户身份:-DHADOOP_USER_NAME=hadoop
*
* 也可以在构造客户端fs对象时,通过参数传递进去
* @author
*
*/
public class HdfsClientDemo {
FileSystem fs = null;
Configuration conf = null;
@Before
public void init() throws Exception{ conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://bee1:9000"); //拿到一个文件系统操作的客户端实例对象
/*fs = FileSystem.get(conf);*/
//可以直接传入 uri和用户身份
fs = FileSystem.get(new URI("hdfs://bee1:9000"),conf,"root"); //最后一个参数为用户名
} @Test
public void testUpload() throws Exception { Thread.sleep(2000);
fs.copyFromLocalFile(new Path("D:/wordtest_PC.txt"), new Path("/wordtest_PC.txt.copy"));
fs.close();
} @Test
public void testDownload() throws Exception { fs.copyToLocalFile(new Path("/wordtest_PC.txt.copy"), new Path("d:/"));
fs.close();
} @Test
public void testConf(){
Iterator<Entry<String, String>> iterator = conf.iterator();
while (iterator.hasNext()) {
Entry<String, String> entry = iterator.next();
System.out.println(entry.getValue() + "--" + entry.getValue());//conf加载的内容
}
} /**
* 创建目录
*/
@Test
public void makdirTest() throws Exception {
boolean mkdirs = fs.mkdirs(new Path("/aaa/bbb"));
System.out.println(mkdirs);
} /**
* 删除
*/
@Test
public void deleteTest() throws Exception{
boolean delete = fs.delete(new Path("/aaa"), true);//true, 递归删除
System.out.println(delete);
} @Test
public void listTest() throws Exception{ FileStatus[] listStatus = fs.listStatus(new Path("/"));
for (FileStatus fileStatus : listStatus) {
System.err.println(fileStatus.getPath()+"================="+fileStatus.toString());
}
//会递归找到所有的文件
RemoteIterator<LocatedFileStatus> listFiles = fs.listFiles(new Path("/"), true);
while(listFiles.hasNext()){
LocatedFileStatus next = listFiles.next();
String name = next.getPath().getName();
Path path = next.getPath();
System.out.println(name + "---" + path.toString());
}
} /* public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
conf.set("fs.defaultFS", "hdfs://bee1:9000");
//拿到一个文件系统操作的客户端实例对象
FileSystem fs = FileSystem.get(conf); fs.copyFromLocalFile(new Path("G:/access.log"), new Path("/access.log.copy"));
fs.close();
}*/ }

day 06Hadoop的更多相关文章

  1. weekend110(Hadoop)的 第一天笔记

    (2015年1月10日) 课程目录 01-hadoop职位需求状况 02-hadoop课程安排 03-hadoop应用场景 04-hadoop对海量数据处理的解决思路 05-hadoop版本选择和伪分 ...

  2. weekend110(Hadoop)的 第二天笔记

    (2015年1月11日) 课程目录 01-NN元数据管理机制 02-NN工作机制2 03-DN工作原理 04-HDFS的JAVA客户端编写 05-filesystem设计思想总结 06-hadoop中 ...

  3. Hadoop大数据学习视频教程 大数据hadoop运维之hadoop快速入门视频课程

    Hadoop是一个能够对大量数据进行分布式处理的软件框架. Hadoop 以一种可靠.高效.可伸缩的方式进行数据处理适用人群有一定Java基础的学生或工作者课程简介 Hadoop是一个能够对大量数据进 ...

  4. 大数据Hadoop入门视频教程:Hadoop的快如入门

    最新在学习hadoop .storm大数据相关技术,发现网上hadoop .storm 相关学习视频少之又少,这里整理了传智播客段海涛老师的hadoop学习视频,出来给大家学习交流. 视频下载地址:h ...

  5. 统计单词出现次数的mapreduce

    1.新建Java项目 2.导包E:\工具\大数据\大数据提升资料\01-软件资料\06-Hadoop\安装包\Java1.8环境下编译\hadoop-2.7.3\hadoop-2.7.3\share\ ...

  6. Java程序操作HDFS

    1.新建项目2.导包 解压hadoop-2.7.3.tar.gzE:\工具\大数据\大数据提升资料\01-软件资料\06-Hadoop\安装包\Java1.8环境下编译\hadoop-2.7.3\ha ...

随机推荐

  1. 各个版本的jee(servlet,jsp)对应的web.xml的模板

    参考链接: https://yutuo.net/archives/7048a006eeb2ac85.html

  2. 四:(之一和之二) docker架构和底层技术分析(C/S架构)

    1.架构和底层技术 Docker Host提供了RESTUL api,使docker client可以通过这些命令调用dockerd. Registry是一个公用的存储镜像的容器,类似于github. ...

  3. jdk8-四大函数式接口

    jdk8四大核心接口 1.Comsumer接口 2.Function函数型接口 3.断言型接口 4.供给型接口 核心接口的子接口

  4. 3.7 C++派生类构造函数调用规则

    参考:http://www.weixueyuan.net/view/6364.html 总结: 派生类构造函数可以自动调用基类的默认构造函数而无需显式调用. 生类构造函数可以自动调用基类的默认构造函数 ...

  5. 六、在U-boot中让LCD填充纯色

    1. 编译U-boot 准备好U-boot压缩包urbetter-u-boot-1.1.6-v1.0.tgz,输入命令:tar -xvf urbetter-u-boot-1.1.6-v1.0.tgz ...

  6. php优秀框架codeigniter学习系列——前言

    php的框架众多,笔者用过的包括thinkphp,CI,smarty,laravel,也用过一些公司自己开发的框架. thinkphp是国人自己开发的,我大概用过一段时间,基本功能都还好,应该也还比较 ...

  7. 分类算法的R语言实现案例

    最近在读<R语言与网站分析>,书中对分类.聚类算法的讲解通俗易懂,和数据挖掘理论一起看的话,有很好的参照效果. 然而,这么好的讲解,作者居然没提供对应的数据集.手痒之余,我自己动手整理了一 ...

  8. php CURL 发送get,post请求

    // 发送一个get请求 $url 发送地址    function get($url)    {        //初始化操作        $curl = curl_init($url);     ...

  9. 字体图标Font Awesome 的使用

    下载地址:http://fontawesome.dashgame.com/ 将下载下来的压缩包解压,然后解压,将下载的整个文件夹复制到你的项目中,在你需要用字体图标的html中引入“font-awes ...

  10. xargs用法

    xargs是一个很有用的命令,它可以实现并行,同&有异曲同工之妙,在大批量管理服务器时非常有用 xargs命令是给其他命令传递参数的一个过滤器,也是组合多个命令的一个工具.它擅长将标准输入数据 ...