大数据系列之Hadoop知识整理(一)Hadoop介绍、伪分布式搭建

1.Hadoop简洁

  还记得那个著名的尿布啤酒的故事么,沃尔玛发现将啤酒放在尿布旁边,男性朋友们在买尿布的时候能够顺手买走啤酒。2015年阿里11.11交易额912.17亿,同比增长59.7%。而在那一天据统计各地大妈消费了78%的品类,涉及粮油,厨电,食品,美妆,其中小家电品类广场舞音像第一,超出第二名美颜相机50%。


这些数据意味什么,这都是白花花的银子啊,如果按照人群,按照各自的喜好,在那一天给他们推荐喜欢的产品,后果可想而知


但是,这意味着数据量得大,超级大,超级超级的大







那么大数据要解决什么问题呢

1.存储 -->分布式存储

2.计算-->分布式计算(分布式:由分布在不同主机上的进程协同在一起,才能构成整个应用。)

那么大数据有什么特征呢

        1.volume //体量大
2.variety //样式多.
3.velocity //速度快

4.valueless //价值密度低

基于此,Hadoop营运而生





Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene的子项目 Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System( GFS) 的启发。
2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。
Hadoop 是最受欢迎的在 Internet 上对搜索 关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要 grep 一个 10TB 的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是 Hadoop 在设计时就考虑到这些问题,采用 并行执行机制,因此能大大提高效率。
Hadoop原本来自于谷歌一款名为MapReduce的编程模型包。谷歌的MapReduce框架可以把一个应用程序分解为许多并行计算指令,跨大量的计算节点运行非常巨大的数据集。使用该框架的一个典型例子就是在网络数据上运行的搜索算法。Hadoop  [3]  最初只与网页索引有关,迅速发展成为分析大数据的领先平台。
目前有很多公司开始提供基于Hadoop的商业软件、支持、服务以及培训。Cloudera是一家美国的企业软件公司,该公司在2008年开始提供基于Hadoop的软件和服务。GoGrid是一家云计算基础设施公司,在2012年,该公司与Cloudera合作加速了企业采纳基于Hadoop应用的步伐。Dataguise公司是一家数据安全公司,同样在2012年该公司推出了一款针对Hadoop的数据保护和风险评估。
     Hadoop这个名字不是一个缩写,而是一个虚构的名字。该项目的创建者,Doug Cutting解释Hadoop的得名 :“这个名字是我孩子给一个棕黄色的大象玩具命名的。我的命名标准就是简短,容易发音和拼写,没有太多的意义,并且不会被用于别处。小孩子恰恰是这方面的高手。 2.Hadoop搭建(伪分布式)

虚拟机使用的centos7(与ubuntu的安装配置有点不同) ,jdk8,hadoop 2.7

2.1 jdk安装

hadoop需要jvm的支持,所以首先我们来安装jdk

                a)下载jdk-8u65-linux-x64.tar.gz
b)tar开
$>cd ~

$>mkdir /soft

                        $>cd soft

$>tar -xzvf jdk-8u65-linux-x64.tar.gz
c)验证jdk安装是否成功
$>cd /soft/jdk/bin

$>./java -version

2.2配置jdk的环境变量

     1.编辑/etc/profile

                $>su -(切换到超级管理员)

$>vim  /etc/profile
加上:
export JAVA_HOME= /home/zpx/soft/jdk1.8.0_65
exprot PATH=$PATH:$JAVA_HOME/bin
2.使环境变量即刻生效
$>source /etc/profile

3.进入任意目录下,测试是否ok
$>cd ~

$>java -version

2.3安装hadoop

                a)下载hadoop-2.7.3.tar.gz
b)tar开
$>cd soft
$>tar -xzvf hadoop-2.7.3.tar.gz
c)无
d)验证hadoop安装是否成功
$>cd /soft/hadoop/bin

$>./hadoop version

2.4.配置hadoop环境变量

               $>su -(切换到超级管理员)

$>vim  /etc/profile

...

         export JAVA_HOME=/home/zpx/soft/jdk1.8.0_65

        export HADOOP_HOME=/home/zpx/soft/hadoop-2.7.3

         export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

$>source /etc/profile

2.5配置hadoop

       1.standalone(local)
nothing !
不需要启用单独的hadoop进程。

2.Pseudodistributed mode
伪分布模式。
a)进入${HADOOP_HOME}/etc/hadoop目录
b)编辑core-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost/</value>
</property>
</configuration>
c)编辑hdfs-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
d)编辑mapred-site.xml
注意:cp mapred-site.xml.template mapred-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
e)编辑yarn-site.xml
<?xml version="1.0"?>
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>


f)配置SSH(免登陆)

             我们在搭建集群的时候需要登录到别的电脑,但是在登录的过程中需要不断的输入验证密码,非常麻烦。配置SSH之后每次登录别的集群的时候就不需要我们每次都输入验证密码。简单来说,SSH会为我们生成一对秘钥(分别是共有秘钥和私有秘钥),然后将公钥发送给server端,server端会在authorized_keys中做一个登记,记录一下,下次可以直接使用ssh直接登录,不需要输入密码验证

1)检查是否安装了ssh相关软件包(openssh-server + openssh-clients + openssh)
$yum list installed | grep ssh
2)检查是否启动了sshd进程
$>ps -Af | grep sshd
3)在client侧生成公私秘钥对。
$>ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
4)生成~/.ssh文件夹,里面有id_rsa(私钥) + id_rsa.pub(公钥)
5)追加公钥到~/.ssh/authorized_keys文件中(文件名、位置固定)
$>cd ~/.ssh
$>cat id_rsa.pub >> authorized_keys

6)修改authorized_keys的权限为644.( ubuntu下可以直接使用,不用再设置权限)
$>chmod 644 authorized_keys

7)测试
$>ssh localhost


2.6测试伪分布式

     1.对hdfs进行格式化$>hadoop namenode -format。

  然后使用start-all.sh(一般不推荐是使用这个命令)来开启hadoop,这时候我们会发下一个在centos下的问题(ubuntu下可以直接运行


提示我们找不到JAVA_HOME,这时候我们需要回来手动修改一下修改hadoop配置文件,手动指定JAVA_HOME环境变量找到hadoop安装目录/home/zpx/soft/hadoop-2.7.3下的/etc/hadoop/hadoop-env.sh,大约在25行,手动指定JAVA_HOME


然后再一次开启hadoop,发现成功运行


并且5个进程全部开启(ResourceManager,NodeMnager,NameNode,DataNode,secondaryNamNode)

然后我们再验证一下,创建hdfs下的一个文件目录,查看一下,发现没有问题


或者是访问一下ui网站(Ip地址:50070),发现也没有问题


至此,Hadoop的伪分布式搭建成功

可以使用stop-all.sh来关掉hadoop

使用的包:链接: https://pan.baidu.com/s/19cOBJVFz4W8lLjTql8Jbng 密码: vevj


猜你喜欢

转载自blog.csdn.net/u011444062/article/details/80717496
今日推荐