你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。
1.1大数据主要分三块
存储 | hdfs hive hbase kudu |
---|---|
计算 | sql spark flink |
资源任务调度 | yarn |
1.2 hadoop官网
https://hadoop.apache.org
目前企业主要以hadoop.2.x为主,稳定兼容性
2.1 创建用户
[root@node01 ~]# useradd hadoop
[root@node01 ~]# su - hadoop
[hadoop@node01 ~]$ mkdir sourcecode software app log lib data tmp shell
2.2上传解压hadoop包
hadoop包:hadoop-2.6.0-cdh5.16.2.tar.gz
2.3 JDK部署:注意jdk版本和hadoop要求的一至
https://cwiki.apache.org/confluence/display/HADOOP2/HadoopJavaVersions
3.1解压并创建软连接
[hadoop@node01 sourcecode]$ tar -zxvf hadoop-2.6.0-cdh5.16.2.tar.gz -C ../app/
[hadoop@node01 app]$ ln -s hadoop-2.6.0-cdh5.16.2/ hadoop
[hadoop@node01 app]$ ll
lrwxrwxrwx. 1 hadoop hadoop 23 11月 22 11:00 hadoop -> hadoop-2.6.0-cdh5.16.2/
drwxr-xr-x. 14 hadoop hadoop 241 6月 3 2019 hadoop-2.6.0-cdh5.16.2
软连接作用:a.版本切换,b、小盘换大盘
3.2 配置文件
进入目录
[hadoop@node01 hadoop]$ pwd
/home/hadoop/app/hadoop/etc/hadoop
(1)hadoop-env.sh
[hadoop@node01 hadoop]$ vim hadoop-env.s``h
(2)创建映射
[root@node01 ~]# vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.31 node01
(3)机器免密配置
[hadoop@node01 ~]$ rm -fr .ssh
[hadoop@node01 ~]$ ssk-keygen
[hadoop@node01 .ssh]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[hadoop@node01 .ssh]$ chmod 0600 ~/.ssh/authorized_keys
(4)7.7 配置namenode进程以ruozedata001启动
修改core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://ruozedata001:9000</value>
</property>
</configuration>
(5) 配置secondary namenode进程以ruozedata001启动
修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>ruozedata001:50090</value>
</property>
<property>
<name>dfs.namenode.secondary.https-address</name>
<value>ruozedata001:50091</value>
</property>
</configuration>
(6) 配置datanode进程以ruozedata001启动
[hadoop@node01 hadoop]$ vi slaves
node01
(7) 格式化
[hadoop@node01 ~]$ cd /home/hadoop/app/hadoop
[hadoop@node01 hadoop]$ bin/hdfs namenode -format
20/11/22 19:18:43 INFO common.Storage: Storage directory /tmp/hadoop-hadoop/dfs/name has been successfully formatted.
20/11/22 19:18:43 INFO namenode.FSImageFormatProtobuf: Saving image file /tmp/hadoop-hadoop/dfs/name/current/fsimage.ckpt_0000000000000000000 using no compression
20/11/22 19:18:43 INFO namenode.FSImageFormatProtobuf: Image file /tmp/hadoop-hadoop/dfs/name/current/fsimage.ckpt_0000000000000000000 of size 322 bytes saved in 0 seconds .
20/11/22 19:18:44 INFO namenode.NNStorageRetentionManager: Going to retain 1 images with txid >= 0
20/11/22 19:18:44 INFO util.ExitUtil: Exiting with status 0
20/11/22 19:18:44 INFO namenode.NameNode: SHUTDOWN_MSG:
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at node01/192.168.1.31
************************************************************/
当前存储目录默认在/tmp/hadoop-hadoop
(8)f启动hdfs
[hadoop@node01 hadoop]$ sbin/start-dfs.sh
(9)数据存储在/tmp/hadoop-hadoop 不合理
因为/tmp目录 30天 不访问的文件文件夹会被按照规则删除
所以生产上不要把内容丢在/tmp目录
[hadoop@node01 hadoop]$ mv /tmp/hadoop-hadoop/* tmp/
[hadoop@node01 tmp]$ ll
总用量 0
drwxrwxr-x. 5 hadoop hadoop 51 11月 22 19:21 dfs
drwxrwxr-x. 3 hadoop hadoop 21 11月 22 20:51 mapred
在core-site.xml文件中新增
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/hadoop/tmp</value>
</property>
重启dfs
stop-dfs.sh
start-dfs.sh
但是namenode、datanode、checkpoint(secondarynamenode)官方默认配置如下:
dfs.namenode.name.dir --> file://${hadoop.tmp.dir}/dfs/name
dfs.datanode.data.dir --> file://${hadoop.tmp.dir}/dfs/data
dfs.namenode.checkpoint.dir --> file://${hadoop.tmp.dir}/dfs/namesecondary
所以配置hadoop.tmp.dir临时目录改为/home/hadoop/app/hadoop/tmp,
那么namenode、datanode、checkpoint(secondarynamenode)
存储也对应变更。
(10)在生产上,一般
namenode 存储目录,实际上是固定,比如 /data01/dfs/nn
datanode 存储目录,实际上是固定,比如 /data01/dfs/dn,/data02/dfs/dn,/data03/dfs/dn
多块磁盘配置为了存储空间和高效率的IO,并行的读写,比单块磁盘更快。
并不依赖${hadoop.tmp.dir}参数