hadoop基础知识点学习-1
1. hadoop介绍
广义: 以Apache hadoop 软件为主的生态圈 也包含 hive sqoop hbase kafka spark flink
狭义: 以Apache hadoop 软件
-
以Apache hadoop 软件
如今主流为2.x版本 hadoop2.x有三大组件分别为hdfs、mapreduce、yarn。 分别负责数据存储、计算(作业)、以及资源和作业的调度。 大数据平台:存储数据作为第一位,存储和计算是相辅相成的。
-
hadoop官网地址
-
版本选择
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