一、hadoop相关介绍
- hadoop是由Apache开发的分布式系统基础架构,是利用集群对大量数据进行分布式处理和存储的软件框架。用户可以轻松地在Hadoop集群上开发和运行处理海量数据的应用程序。Hadoop有高可靠,高扩展,高效性,高容错等优点。
- Hadoop框架最核心的设计就是HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。此外,Hadoop还包括了Hive,Hbase,ZooKeeper,Pig,Avro,Sqoop,Flume,Mahout等项目。Hadoop的运行模式分为3种:本地运行模式,伪分布运行模式,完全分布运行模式。
- hadoop的三种模式
(1)本地模式(local mode)
这种运行模式在一台单机上运行,没有HDFS分布式文件系统,而是直接读写本地操作系统中的文件系统。在本地运行模式(local mode)中不存在守护进程,所有进程都运行在一个JVM上。单机模式适用于开发阶段运行MapReduce程序,这也是最少使用的一个模式。
(2)伪分布模式
这种运行模式是在单台服务器上模拟Hadoop的完全分布模式,单机上的分布式并不是真正的分布式,而是使用线程模拟的分布式。在这个模式中,所有守护进程(NameNode,DataNode,ResourceManager,NodeManager,SecondaryNameNode)都在同一台机器上运行。因为伪分布运行模式的Hadoop集群只有一个节点,所以HDFS中的块复制将限制为单个副本,其
secondary-master和slave也都将运行于本地主机。此种模式除了并非真正意义的分布式之外,其程序执行逻辑完全类似于完全分布式,因此,常用于开发人员测试程序的执行。
(3)完全分布模式
这种模式通常被用于生产环境,使用N台主机组成一个Hadoop集群,Hadoop守护进程运行在每台主机之上。这里会存在Namenode运行的主机,Datanode运行的主机,以及
SecondaryNameNode运行的主机。在完全分布式环境下,主节点和从节点会分开。
二、伪分布模式安装步骤
- 创建一个新用户及用户组,后续操作基本都是在此用户下来操作的。也可以直接在自己的非root用户下操作。创建新用户qingqing,并为其创建home目录。
sudo useradd -d /home/qingqing -m qingqing
为新账户设置密码,输入及确认密码即可。
sudo passwd qingqing
将qingqing用户权限提升到sudo超级用户级别。
sudo usermod -G sudo qingqing
若出现“sudo”不存在或者xx不在sudoers文件中,此时将被报告。
说明sudoers文件由于某种原因写入失败了
解决方法:vi /etc/sudoers 把root ALL=(ALL) ALL 复制一下,把root改成你自己的用户名即可。
编写完保存后,查看用户是否是sudoer
sudo -l -U username
若出现下图所示结果,则用户可以使用sudo访问运行所有命令。
后续操作切换到qingqing用户下操作。
- 配置SSH免密登陆。SSH免密码登陆需要在服务器执行以下命令,生成公钥和私钥对。
ssh-keygen -t rsa
此时会有多处提醒输入在冒号后输入文本,这里主要是要求输入ssh密码以及密码的放置位置。在这里,只需要使用默认值,按回车即可。
此时ssh公钥和私钥已经生成完毕,且放置在 ~ /.ssh目录下。
在~/.ssh目录下,创建一个空文本,名为authorized_keys
touch ~/ .ssh/ authorized_keys
将存储公钥文件的id_rsa.pub里的内容,追加到authorized_keys中
cat ~ / .ssh/id_rsa.pub >> ~/