hadoop基础知识点学习-1

1. hadoop介绍

广义: 以Apache hadoop 软件为主的生态圈 也包含 hive sqoop hbase kafka spark flink
狭义: 以Apache hadoop 软件
  • 以Apache hadoop 软件

      如今主流为2.x版本
      hadoop2.x有三大组件分别为hdfs、mapreduce、yarn。
      分别负责数据存储、计算(作业)、以及资源和作业的调度。
    
      大数据平台:存储数据作为第一位,存储和计算是相辅相成的。
    
  • hadoop官网地址

http://hadoop.apache.org/

  • 版本选择

      1. Apache版本 2.x,3.x
      2. CDH 版本 
      3. HDP 版本
    
      生产上至今企业还是以CDH5.x为主 (cloudera公司)
    

2. hadoop hdfs安装

  • 创建用户和文件夹

useradd hadoop

su - hadoop

mkdir tmp sourcecode software shell log lib data app

sourcecode:存放源码、software:存放软件安装包、shell:存放shell脚本、log:存放log文件、lib:存放可执行文件、data:存放数据文件、app:软件安装位置

cd software/

  • 安装jdk步骤

      1. 下载jdk、上传服务器
      2. 解压移动到/usr/java/目录
      3. 配置系统环境变量
      4. 测试jdk
    

which java

  • hadoop解压和软连接

解压到app目录下

tar -xzvf hadoop-2.6.0-cdh5.16.2.tar.gz -C ../app/

软连接

ln -s hadoop-2.6.0-cdh5.16.2 hadoop

  • 软连接作用

      1. 版本切换,升级
      /home/hadoop/app/hadoop
      /home/hadoop/app/hadoop-2.6.0-cdh5.16.2
      想要升级  代码脚本都有仔细检查修改 2--》3
      但是如果提前设置软连接,代码脚本是hadoop,不关心版本多少
    
      2. 小盘换大盘
      /根目录磁盘 设置的比较小 20G   /app/log/hadoop-hdfs 文件夹 18G
      /data01  
      
      mv /app/log/hadoop-hdfs /data01/  ==>/data01/hadoop-hdfs
      ln -s /data01/hadoop-hdfs /app/log/hadoop-hdfs
      
      cd hadoop/etc/hadoop
      vi hadoop-env.sh
      export JAVA_HOME=/usr/java/jdk1.8.0_181
    
  • hadoop三种部署模式

      Local (Standalone) Mode  本地模式
      Pseudo-Distributed Mode  伪分布式模式  
      Fully-Distributed Mode   分布式模式 集群
    
  • 配置ssh hadoop001 无密码认证

家目录下

rm -rf .ssh

ssh-keygen

cd .ssh

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

chmod 0600 ~/.ssh/authorized_keys

ssh hadoop001 date

  • 修改配置,且hdfs的三个进程都以hadoop001名称启动

编辑文件 etc/hadoop/core-site.xml

nn启动以ruozedata名称启动
<configuration>
	<property>
    	<name>fs.defaultFS</name>
    	<value>hdfs://hadoop001:9000</value>
	</property>

	<property>
   	 	<name>hadoop.tmp.dir</name>
    	<value>/home/hadoop/tmp/</value>
	</property>
</configuration>

编辑文件 etc/hadoop/hdfs-site.xml

snn启动以hadoop001名称启动
<configuration>
	<property>
    	<name>dfs.replication</name>
    	<value>1</value>
	</property>
	<property>
    	<name>dfs.namenode.secondary.http-address</name>
    	<value>hadoop001:9868</value>
	</property>

	<property>
    	<name>dfs.namenode.secondary.https-address</name>
    	<value>hadoop001:9868</value>
	 </property>
</configuration>

dn启动以hadoop001名称启动

pwd

/home/hadoop/app/hadoop/etc/hadoop

vi slaves
hadoop001

  • 格式化,只需第一次即可,格式化自己的编码存储格式

pwd
/home/hadoop/app/hadoop

bin/hdfs namenode -format

  • 启动

sbin/start-dfs.sh

查看jvm进程

jps

2012 DataNode   dn 存储数据的  小弟
3245 NameNode   nn 负责分配数据存储的 老大
2456 SecondaryNameNode snn 万年老二 默认是按1小时粒度去备份老大的数据
2134 Jps
  • web界面

      http://hadoop001:50070
      
      需要配置本地hosts文件
    
  • 创建文件夹

hadoop安装目录下

bin/hdfs dfs -mkdir /user

bin/hdfs dfs -mkdir /user/hadoop

  • 上传 linux-->hdfs

hadoop安装目录下

bin/hdfs dfs -mkdir /wordcount

bin/hdfs dfs -mkdir /wordcount/input

bin/hdfs dfs -put etc/hadoop/*.xml /wordcount/input/

  • mapreduce 计算

hadoop安装目录下

bin/hadoop jar
share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.16.2.jar
grep /wordcount/input /wordcount/output 'dfs[a-z.]+'

  • 下载从 hdfs-->linux

bin/hdfs dfs -get /wordcount/output output

cd output

ll

-rw-r--r-- 1 hadoop hadoop 90 May 6 23:13 part-r-00000

-rw-r--r-- 1 hadoop hadoop 0 May 6 23:13 _SUCCESS

计算结果

cat part-r-00000

1       dfsadmin
1       dfs.replication
1       dfs.namenode.secondary.https
1       dfs.namenode.secondary.http
posted @ 2020-05-10 12:16  Master_s  阅读(127)  评论(0编辑  收藏  举报