Hadoop

本文详细介绍了Hadoop的三大核心模块:HDFS、MapReduce和YARN,并展示了在Linux环境中安装配置Hadoop 2.6.5的步骤,包括环境变量设置、SSH免密配置、集群初始化和启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有一个文件,大小为 1T,有没有可能只用一台计算机(普通计算机,配置不高,内存
不可能放下该文件)来查找出文件中的重复行?
思路 1:
读出第一行,然后读出第二行,比较第一行是否和第二行重复,然后从内存中清除第
二行,再读入第三行与第一行比较,然后再清除第三行,当第一行与最后一行比较完后,
从第二行开始再与之后的行比较,类似于冒泡排序的思想。
思路 2:
将大文件拆分为小文件,读出一行数据,求 hash 码,把大文件文成 n 个小文件,那么

每一行的 hash 码对 n 取模,得出结果相同的行放入一个文件中。



Hadoop 的三大核心模块

分布式存储系统 HDFS(Hadoop Distributed File System),提供了高可靠性、高扩展性
和高吞吐率的数据存储服务;
分布式计算框架 MapReduce,具有易于编程、高容错性和高扩展性等优点;
分布式资源管理框架 YARN(Yet Another Resource Management),负责集群资源的管
理和调度。
Hadoop 的生态系统中包含多种技术:比如 Hive、Hbase、Spark 等。
















            

[root@node01 software]# tar xf hadoop-2.6.5.tar.gz
[root@node01 software]# mv hadoop-2.6.5 /opt/sxt/


[root@node01 hadoop-2.6.5]# vi /etc/profile
export HADOOP_PREFIX=/opt/sxt/hadoop-2.6.5
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
[root@node01 hadoop-2.6.5]# . /etc/profile


[root@node01 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
#生成了.ssh 目录
[root@node01 ~]# ll -a
drwx------  2 root root 4096 7 月  4 12:53 .ssh
[root@node01 ~]# cd .ssh
[root@node01 .ssh]# ll
总用量  12
-rw------- 1 root root 672 7 月  4 12:53 id_dsa #私钥
-rw-r--r-- 1 root root 601 7 月  4 12:53 id_dsa.pub #公钥
-rw-r--r-- 1 root root 802 7 月  3 20:47 known_hosts
#想登陆哪台机器,就把公钥 copy 给哪台机器,登陆自身免密执行如下命令
[root@node01 .ssh]# cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys



[root@node01 hadoop]# cd /opt/sxt/hadoop-2.6.5/etc/hadoop/
#以下 3 个文件中加入 JAVA_HOME
[root@node01 hadoop]# vi hadoop-env.sh
[root@node01 hadoop]# vi mapred-env.sh 
[root@node01 hadoop]# vi yarn-env.sh
export JAVA_HOME=/usr/java/jdk1.7.0_67 


[root@node01 hadoop]# vi core-site.xml
<configuration>
<!--设置 namenode 所在节点-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://node01:9000</value>
</property>
<!--设置 hadoop 存放数据的临时目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/var/sxt/hadoop/pseudo</value>
</property>
</configuration>
[root@node01 hadoop]# vi hdfs-site.xml
<configuration>
<!--设置副本数,不能超过节点数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!—设置 secondaryNode 在哪个节点-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node01:50090</value>
</property>
</configuration>



[root@node01 hadoop]# vi slaves
node01


[root@node01 hadoop]# hdfs namenode –format
#成功信息:

Storage directory /var/sxt/hadoop/pseudo/dfs/name has been successfully formatted.
[root@node01 hadoop]# cd /var/sxt/hadoop/pseudo/dfs/name/current
[root@node01 current]# ll
总用量  16
-rw-r--r-- 1 root root 320 7 月  4 13:36 fsimage_0000000000000000000
-rw-r--r-- 1 root root 62 7 月  4 13:36 fsimage_0000000000000000000.md5
-rw-r--r-- 1 root root 2 7 月  4 13:36 seen_txid
-rw-r--r-- 1 root root 204 7 月  4 13:36 VERSION
[root@node01 current]# vi VERSION
#Tue Jul 04 13:36:11 CST 2017
namespaceID=160288852
clusterID=CID-e2d83b00-0c46-45b2-9f86-e824c42795e8 #集群的 ID
cTime=0
storageType=NAME_NODE
blockpoolID=BP-1597373193-192.168.9.11-1499146571542
layoutVersion=-60

[root@node01 current]# start-dfs.sh
Starting namenodes on [node01]
node01: starting namenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-namenode-node01.out
node01: starting datanode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-datanode-node01.out
Starting secondary namenodes [node01]
node01: starting secondarynamenode, logging to /opt/sxt/hadoop-2.6.5/logs/hadoop-root-secondarynamenode-node01.out


[root@node01 current]# jps
3375 SecondaryNameNode
3241 DataNode
3481 Jps
3136 NameNode


[root@node01 current]# cd /var/sxt/hadoop/pseudo/dfs/data/current
[root@node01 current]# vi VERSION
#Tue Jul 04 13:42:12 CST 2017
storageID=DS-4fd6b46c-6567-4875-9dcf-17577873d372
#与 name 下的 VERSION 中的 clusterID 相同,否则 NN 与 DN 不会通信
clusterID=CID-e2d83b00-0c46-45b2-9f86-e824c42795e8 
cTime=0
datanodeUuid=e18d8595-35b6-40b3-9dde-abc56f90c77b 

storageType=DATA_NODE
layoutVersion=-56






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值