Hadoop介绍及伪分布搭建

HDFS

提供了高可靠性、高扩展性和高吞吐率的数据存储服务

分布式存储

在这里插入图片描述

分布式计算
移动数据

将数据向计算移动,100G加载到内存(程序)速度很慢

移动计算

将计算向数据移动,将计算程序加载到各台服务器上。
在这里插入图片描述

HDFS分布式文件系统
核心角色

client :客户端
NameNode:Master节点(维护整个文件系统的元数据信息)
DataNode:Slave节点(保存文件系统的真实数据:block)
SecondaryNameNode:合并快照与日志操作的节点

元数据是描述数据的数据

Hadoop

Hadoop体系架构

在这里插入图片描述

Hadoop伪分布搭建
上传工具包
  1. 找到hadoop-2.7.5.tar.gz以及jdk-8u121-linux-x64.tar.gz压缩包–>
  2. 打开winSCP–>
  3. 新建文件夹–>
  4. 新建站点–>
  5. 主机名192.168.81.11,用户名root,密码123456–>
  6. 保存,站点名称node01,保存在创建的文件夹,保存密码–>
  7. 确定–>登录–>是
  8. 将1步中的两个文件鼠标左键拖到右侧Linux的/root/下
  9. 关闭winSCP
虚拟机配置JDK与Hadoop
  1. 在root@node01~下创建目录mkdir /opt/hpe
  2. 解压tar -zxvf hadoop-2.7.5.tar.gz -C /opt/hpe/
  3. 解压tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt/hpe/
  4. 查看/opt/hpe下是否有两个文件
  5. 重命名jdk:mv jdk1.8.0_121 jdk1.8.0
  6. 配置环境变量:vi /etc/profile
  7. Shift+G新开一行,在最后增加一行:export JAVA_HOME=/opt/hpe/jdk1.8.0
  8. 继续增加一行:export PATH= P A T H : PATH: PATH:JAVA_HOME/bin,保存
  9. 刷新环境变量:source /etc/profile
  10. java -version
  11. jps:检查当前运行的进程
  12. ssh localhost:登录一下本机,看是否需要密码
  13. cd命令回到root家目录,在家目录下ls -a显示隐藏文件.ssh
  14. cd .ssh/
  15. ssh-keygen -t rsa然后一直敲回车
  16. ls查看多了两个文件id_rsa(私钥)和id_rsa.pub(公钥)
  17. 此处将公钥发送给另一个文件(完全分布式将公钥发送给其他对象):cat id_rsa.pub >> authorized_keys
  18. 测试是否可以免密钥登录:ssh localhost
  19. cd /opt/hpe/hadoop-2.7.5/
  20. vi /etc/profile
  21. 在倒数第二行,新增export HADOOP_HOME=/opt/hpe/hadoop-2.7.5一行
  22. 在最后一行末尾追加: H A D O O P H O M E / b i n : HADOOP_HOME/bin: HADOOPHOME/bin:HADOOP_HOME/sbin保存
  23. source /etc/profile
  24. hadoop version
  25. cd /etc/hpe/hadoop-2.7.5/etc/hadoop/
  26. ls,然后修改其中的env文件
  27. vi hadoop-env.sh,将倒数第三行处JAVA_HOME指向的路径更改为/opt/hpe/jdk1.8.0
  28. vi mapred-env.sh 把注释去掉,继续使用刚才的目录,将jdk的路径替换掉
  29. vi yarn-env.sh 把注释去掉,继续使用刚才的目录,将jdk的路径替换掉
  30. 配置namenode
    1)vi /etc/hadoop/core-site.xml,在configration里面加上
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>

2)vi hdfs-site.xml,在configration里面加上

<property>
<name>dfs.replication</name>
<value>1</value>
</property>

3)配置namenode角色:哪些节点充当namenode节点
vi slaves 将里面的文本改为node01保存
4)指定datenode和namenode存储路径
vi /etc/hadoop/core-site.xml,在configration里面加上

<property>
<name>hadoop.tmp.dir</name>
<value>/var/hpe/hadoop/local</value>
</property>
  1. 设置secondarynamenode
    vi hdfs-site.xml,在configration里面加上
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
  1. 对文件系统进行格式化
    Hdfs namenode -format
    cd /var/hpe/hadoop/local/dfs/name/current这些目录都有了
  2. 启动集群
    先回到root@node01 hadoop下,start-dfs.sh,yes
  3. 检测进程
    jps发现有了NN,DN,SNN进程;此时current中增加了edits文件
  4. 创建当前用户的家目录
    hdfs dfs -mkdir -p /user/root
  5. 上传文件
    hdfs dfs -put /root/hello.txt /user/root
  6. 查看上传的文件
    hdfs dfs -ls /user/root
  7. 删除多层目录
    hdfs dfs -mkdir -p /software/java
    hdfs dfs -rm -r /software
  8. 指定上传时块的大小
    hdfs dfs -D dfs.blocksize=1048576 -put test.txt /user/root
  9. 查看每个块存放的具体数据
    cd /var/hpe/hadoop/local/dfs/
    cd data/current./BP…/current/finalized/subdir0/
  10. 查看对应块的数据信息,是按照字节线性切割
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值