大数据学习之Hadoop快速入门
1、hadoop生态概况
hadoop是一个由apache基金会所开发的分布式系统集成架构,用户可以在不了解分布式底层细节情况下,开发分布式程序,充分利用集群的威力来进行高速运算与存储,具有可靠、高效、可伸缩的特点。
大数据学习资料分享群119599574
hadoop的核心是yarn,hdfs,mapreduce,常用模块架构如下
2、hdfs
源自谷歌的gfs论文,发表于2013年10月,hdfs是gfs的克隆版,hdfs是hadoop体系中数据存储管理的基础,它是一个高度容错的系统,能检测和应对硬件故障
hdfs简化了文件一致性模型,通过流式数据访问,提供高吞吐量应用程序数据访问功能,适合带有大型数据集的应用程序,它提供了一次写入多次读取的机制,数据以块的形式,同时分布在集群不同物理机器
3、mapreduce
源自于谷歌的mapreduce论文,用以进行大数据量的计算,它屏蔽了分布式计算框架细节,将计算抽象成map和reduce两部分
4、hbase(分布式列存数据库)
源自谷歌的bigtable论文,是一个建立在hdfs之上,面向列的针对结构化的数据可伸缩,高可靠,高性能分布式和面向列的动态模式数据库
5、zookeeper
解决分布式环境下数据管理问题,统一命名,状态同步,集群管理,配置同步等
6、hive
由facebook开源,定义了一种类似sql查询语言,将sql转化为mapreduce任务在hadoop上面执行
7、flume
日志收集工具
8、yarn分布式资源管理器
是下一代mapreduce,主要解决原始的hadoop扩展性较差,不支持多种计算框架而提出的,架构如下
spark提供了一个更快更通用的数据处理平台,和hadoop相比,spark可以让你的程序在内存中运行
大数据学习资料分享群119599574
10、kafka
分布式消息队列,主要用于处理活跃的流式数据
11、hadoop伪分布式部署
目前而言,不收费的hadoop版本主要有三个,都是国外厂商,分别是
1、apache原始版本
2、cdh版本,对于国内用户而言,绝大多数选择该版本
3、hdp版本
这里我们选择cdh版本hadoop-2.6.0-cdh5.8.2.tar.gz,环境是centos7.1,jdk需要1.7.0_55以上
[root@hadoop1 ~]# useradd hadoop
我的系统默认自带的java环境如下
-
[root@hadoop1 ~]# ll /usr/lib/jvm/
-
total 12
-
lrwxrwxrwx. 1 root root 26 oct 27 22:48 java -> /etc/alternatives/java_sdk
-
lrwxrwxrwx. 1 root root 32 oct 27 22:48 java-1.6.0 -> /etc/alternatives/java_sdk_1.6.0
-
drwxr-xr-x. 7 root root 4096 oct 27 22:48 java-1.6.0-openjdk-1.6.0.34.x86_64
-
lrwxrwxrwx. 1 root root 34 oct 27 22:48 java-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.34.x86_64
-
lrwxrwxrwx. 1 root root 32 oct 27 22:44 java-1.7.0 -> /etc/alternatives/java_sdk_1.7.0
-
lrwxrwxrwx. 1 root root 40 oct 27 22:44 java-1.7.0-openjdk -> /etc/alternatives/java_sdk_1.7.0_openjdk
-
drwxr-xr-x. 8 root root 4096 oct 27 22:44 java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
-
lrwxrwxrwx. 1 root root 32 oct 27 22:44 java-1.8.0 -> /etc/alternatives/java_sdk_1.8.0
-
lrwxrwxrwx. 1 root root 40 oct 27 22:44 java-1.8.0-openjdk -> /etc/alternatives/java_sdk_1.8.0_openjdk
-
drwxr-xr-x. 7 root root 4096 oct 27 22:44 java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64
-
lrwxrwxrwx. 1 root root 34 oct 27 22:48 java-openjdk -> /etc/alternatives/java_sdk_openjdk
-
lrwxrwxrwx. 1 root root 21 oct 27 22:44 jre -> /etc/alternatives/jre
-
lrwxrwxrwx. 1 root root 27 oct 27 22:44 jre-1.6.0 -> /etc/alternatives/jre_1.6.0
-
lrwxrwxrwx. 1 root root 38 oct 27 22:44 jre-1.6.0-openjdk.x86_64 -> java-1.6.0-openjdk-1.6.0.34.x86_64/jre
-
lrwxrwxrwx. 1 root root 27 oct 27 22:44 jre-1.7.0 -> /etc/alternatives/jre_1.7.0
-
lrwxrwxrwx. 1 root root 35 oct 27 22:44 jre-1.7.0-openjdk -> /etc/alternatives/jre_1.7.0_openjdk
-
lrwxrwxrwx. 1 root root 52 oct 27 22:44 jre-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64 -> java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64/jre
-
lrwxrwxrwx. 1 root root 27 oct 27 22:44 jre-1.8.0 -> /etc/alternatives/jre_1.8.0
-
lrwxrwxrwx. 1 root root 35 oct 27 22:44 jre-1.8.0-openjdk -> /etc/alternatives/jre_1.8.0_openjdk
-
lrwxrwxrwx. 1 root root 48 oct 27 22:44 jre-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64 -> java-1.8.0-openjdk-1.8.0.31-2.b13.el7.x86_64/jre
-
lrwxrwxrwx. 1 root root 29 oct 27 22:44 jre-openjdk -> /etc/alternatives/jre_openjdk
[root@hadoop1 ~]# cat /home/hadoop/.bashrc 增加如下环境变量
-
export java_home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
-
export classpath=.:$java_home/jre/lib/rt.jar:$java_home/lib/dt.jar:$java_home/lib/tools.jar
-
export path=$path:$java_home/bin
-
export hadoop_prefix=/opt/hadoop/current
-
export hadoop_mapred_home=${hadoop_prefix}
-
export hadoop_common_home=${hadoop_prefix}
-
export hadoop_hdfs_home=${hadoop_prefix}
-
export hadoop_yarn_home=${hadoop_prefix}
-
export https_catalina_home=${hadoop_prefix}/share/hadoop/httpfs/tomcat
-
export hadoop_conf_dir=/etc/hadoop/conf
-
export yarn_conf_dir=/etc/hadoop/conf
-
export https_config=/etc/hadoop/conf
-
export path=$path:$hadoop_prefix/bin:$hadoop_prefix/sbin
我们将hadoop安装在/opt/hadoop目录下面,建立如下软连接,配置文件放在/etc/hadoop/conf目录下面
[root@hadoop1 hadoop]# ll current
lrwxrwxrwx 1 root root 21 oct 29 11:02 current -> hadoop-2.6.0-cdh5.8.2
做好如下授权
[root@hadoop1 hadoop]# chown -r hadoop.hadoop hadoop-2.6.0-cdh5.8.2
[root@hadoop1 hadoop]# chown -r hadoop.hadoop /etc/hadoop/conf
cdh5新版本的hadoop启动服务脚步位于$hadoop_home/sbin目录下面,启动服务有如下
namenode
secondarynamenode
datanode
resourcemanger
nodemanager
这里以hadoop用户来进行管理和启动hadoop的各种服务
[root@hadoop1 etc]# cd /etc/hadoop/conf/
[root@hadoop1 conf]# vim core-site.xml
-
<configuration>
-
-
<property>
-
<name>fs.defaultfs</name>
-
<value>hdfs://hadoop1</value>
-
</property>
-
-
-
</configuration>
-
-
格式化namenode
-
[
-
[
-
-
启动namenode服务
-
[
-
[
-
[
查看服务启动情况
namenode启动完成后,就可以通过web界面查看状态了,默认端口是50070,我们访问测试下
上一篇: ThinkPHP类似AOP思想的参数验证的实现方法
下一篇: ai怎么设计一款台式的家用电脑?