encoder Hadoop大数据基础(随手小计)

JDK配置环境变量

解压好JDK之后还需要在环境变量中配置JDK,才可以使用,接下来就来配置JDK。
输入命令:vim /etc/profile 编辑配置文件;

JAVA_HOME=/app/jdk1.8.0_171
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH

Hadoop安装与伪分布式集群搭建

点这个,一步一步教你很完整!
步骤:

1、下载Hadoop|官网下载:http://hadoop.apache.org/
2、配置Hadoop环境(jdk)
3、设置SSH免密登

4、配置6个文件:
hadoop-env.sh 配置
yarn-env.sh 配置
两个env.sh文件主要是配置JDK的位置

export JAVA_HOME=/app/jdk1.8.0_171  

core-site.xml配置
hdfs-site.xml文件配置
mapred-site.xml文件配置
yarn-site.xml配置

5|创建文件夹
|将Hadoop添加到环境变量中

相关知识点

Hadoop?

1、Hadoop是什么?

简单点:Hadoop就是存储海量数据和分析海量数据的工具。

客户:1024T。
程序猿:哇,这么大吗?没有这么大的硬盘买呀,而且好像也没听过一台计算机可以存放1024T的数据。
程序猿:哦,对了我可以部署1024台机器,然后将他们连接起来,让他们的数据可以共享,这不就可以了吗?hh,机智如我。

专业点:Hadoop是由java语言编写的,在分布式服务器集群上存储海量数据并运行分布式分析应用的开源框架,其核心部件是HDFS与MapReduce
HDFS是一个分布式文件系统:引入存放文件元数据信息的服务器Namenode和实际存放数据的服务器Datanode,对数据进行分布式储存和读取。
 MapReduce是一个分布式计算框架:MapReduce的核心思想是把计算任务分配给集群内的服务器里执行。通过对计算任务的拆分(Map计算/Reduce计算)再根据任务调度器(JobTracker)对任务进行分布式计算。

记住下面的话:
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。

把HDFS理解为一个分布式的,有冗余备份的,可以动态扩展的用来存储大规模数据的大硬盘。
把MapReduce理解成为一个计算引擎,按照MapReduce的规则编写Map计算/Reduce计算的程序,可以完成计算任务。

2、Hadoop能干什么?

名称操作
大数据存储分布式存储
日志处理擅长日志分析
ETL数据抽取到oracle、mysql、DB2、mongdb及主流数据库
机器学习比如Apache Mahout项目
搜索引擎Hadoop + lucene实现
数据挖掘目前比较流行的广告推荐,个性化广告推荐

Hadoop是专为离线和大规模数据分析而设计的,并不适合那种对几个记录随机读写的在线事务处理模式。

3、Hadoop怎么使用?

3.1、Hadoop集群的搭建
无论是在windows上装几台虚拟机玩Hadoop,还是真实的服务器来玩,说简单点就是把Hadoop的安装包放在每一台服务器上,改改配置,启动就完成了Hadoop集群的搭建。

3.2、上传文件到Hadoop集群,实现文件存储
Hadoop集群搭建好以后,可以通过web页面查看集群的情况,还可以通过Hadoop命令来上传文件到hdfs集群,通过Hadoop命令在hdfs集群上建立目录,通过Hadoop命令删除集群上的文件等等。

3.3、编写map/reduce程序,完成计算任务
通过集成开发工具(例如eclipse)导入Hadoop相关的jar包,编写map/reduce程序,将程序打成jar包扔在集群上执行,运行后出计算结果。

SSH?

SSH是专为远程登录会话和其他网络服务提供的安全性协议。
SSH 是 Secure Shell Protocol 的简写,由 IETF 网络工作小组(Network Working Group )制定;在进行数据传输之前,SSH先对联机数据包通过加密技术进行加密处理,加密后在进行数据传输。确保了传递的数据安全。

SSH是专为远程登录会话和其他网络服务提供的安全性协议。利用 SSH 协议可以有效的防止远程管理过程中的信息泄露问题,在当前的生产环境运维工作中,绝大多数企业普遍采用SSH协议服务来代替传统的不安全的远程联机服务软件,如telnet(23端口,非加密的)等。

在默认状态下,SSH服务主要提供两个服务功能:
n 一是提供类似telnet远程联机服务器的服务,即上面提到的SSH服务。
n 另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的.提供更安全的SFTP服务(vsftp,proftp)。

1.3 ssh知识要点:
ssh是安全的加密协议,用于远程链接linux服务器

ssh 默认端口是22,安全协议版本sshv2,出来2之外还有1(有漏洞)

ssh服务端主要包括两个服务功能 ssh远程链接和sftp服务

linux ssh 客户端包括ssh 远程链接命令,以及远程拷贝scp命令等

1.4 SSH服务软件详细说明
1.4.1 什么是ssh服务
SSH服务端是一个守护讲程 (daemon).他在后台运行并响应来自客户端的连接请求。 SSH服务端的讲程名为sshd,负责实时监听远程SSH客户端的远程连接请求,并进行处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接等。这个SSH服务就是我们前面基础系统优化中保留开机自启动的服务之。

ssh客户端包含ssh以及像scp(远程拷贝) slogin(远程登陆) sftp(安全FTP文件传输)等应用程序。

ssh的工作机制大致是本地的ssh客户端先发送一个连接请求到远程的ssh服务端,服务端检查连接的客户端发送的数据包和IP地址,如果确认合法,就会发送密钥给 SSH的客户端,此时,客户端本地再将密钥发回给服务端,自此连接建立。

NameNode(管理节点)与DataNode(工作节点)

HDFS的构建思路是这样的:一次写入,多次读取,不可修改,这也是最高效的访问模式。
HDFS有两类节点用来管理集群的数据,即一个namenode(管理节点)和多个datanode(工作节点)。

启动Hadoop的HDFS:start-dfs.sh

hadoop fs -mkdir /usr
hadoop fs -mkdir /usr/output

编程要求
在右侧命令行中启动Hadoop,进行如下操作。
start-dfs.sh

在HDFS中创建/usr/output/文件夹;
错误演示:
mkdir develop
mkdir develop/output

正确答案
hadoop fs -mkdir /usr
hadoop fs -mkdir /usr/output

因为:hadoop fs 代表启动了HDFS

在本地创建hello.txt文件并添加内容:“HDFS的块比磁盘的块大,其目的是为了最小化寻址开销。”;
cd develop/output
touch hello.txt
vi hello.txt

额外补充:vi 的文件中,:wq!是存盘退出。:q直接退出,不存盘
将hello.txt上传至HDFS的/usr/output/目录下;
hadoop fs -put hello.txt /usr/output

删除HDFS的/user/hadoop目录;
hadoop fs -rmdir /user/hadoop

将Hadoop上的文件hello.txt从HDFS复制到本地/usr/local目录。
hadoop fs -copyToLocal /usr/output/hello.txt /usr/local

r

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值