hadoop基本操作

重新编辑本机的hosts文件

sudo vim /etc/hosts

启动HDFS

  • 来到$HADOOP_HOME/sbin目录下
  • 执行start-dfs.s
[hadoop@hadoop000 sbin]$ ./start-dfs.sh 
  • 可以看到 namenode和 datanode启动的日志信息
20/10/26 09:49:39 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [hadoop000]
hadoop000: Warning: Permanently added the RSA host key for IP address '10.25.187.18' to the list of known hosts.
hadoop000: starting namenode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-namenode-hadoop000.out
hadoop000: starting datanode, logging to /home/hadoop/app/hadoop-2.6.0-cdh5.7.0/logs/hadoop-hadoop-datanode-hadoop000.out
  • 通过jps命令查看当前运行的进程
[hadoop@hadoop000 sbin]$ jps
4249 NameNode
4351 DataNode
4613 SecondaryNameNode
4733 Jps

通过可视化界面查看HDFS的运行情况

  • 通过浏览器查看 主机ip:50070端口


    图片.png
  • Overview界面查看整体情

  • Datanodes界面查看datanode的情况

HDFS shell操作

ls

使用方法:

hadoop fs -ls <args>

如果是文件,则按照如下格式返回文件信息:
文件名 <副本数> 文件大小 修改日期 修改时间 权限 用户ID 组ID
如果是目录,则返回它直接子文件的一个列表,就像在Unix中一样。目录返回列表的信息如下:
目录名 <dir> 修改日期 修改时间 权限 用户ID 组ID
示例:

hadoop fs -ls /user/hadoop/file1 /user/hadoop/file2 hdfs://host:port/user/hadoop/dir1 /nonexistentfile 

返回值:
成功返回0,失败返回-1

mv

使用方法:

hadoop fs -mv URI [URI …] <dest>

将文件从源路径移动到目标路径。这个命令允许有多个源路径,此时目标路径必须是一个目录。不允许在不同的文件系统间移动文件。
示例:

- hadoop fs -mv /user/hadoop/file1 /user/hadoop/file2
- hadoop fs -mv hdfs://host:port/file1 hdfs://host:port/file2 hdfs://host:port/file3 hdfs://host:port/dir1

返回值:

成功返回0,失败返回-1。

put

使用方法:

hadoop fs -put <localsrc> ... <dst>

从本地文件系统中复制单个或多个源路径到目标文件系统。也支持从标准输入中读取输入写入目标文件系统。

返回值:

成功返回0,失败返回-1。

rm

使用方法:

hadoop fs -rm URI [URI …]

删除指定的文件。只删除非空目录和文件。请参考rmr命令了解递归删除。
示例:

返回值:

成功返回0,失败返回-1。

  • 在centos 中创建 test.txt
touch test.txt
  • 在centos中为test.txt 添加文本内容
vi test.txt
  • 查看hdfs中 / 下的文件情况
hadoop fs -ls /
  • 在HDFS中创建 hadoop001/test 文件夹
hadoop fs -mkdir -p /hadoop001/test
  • 把text.txt文件上传到HDFS中
hadoop fs -put test.txt /hadoop001/test/
  • 查看hdfs中 hadoop001/test/test.txt 文件内容
hadoop fs -cat /hadoop001/test/test.txt
  • 将hdfs中 hadoop001/test/test.txt文件下载到centos
 hadoop fs -get /hadoop001/test/test.txt test.txt
  • 将 /hadoop001/test/test.txt test.txt 移动到 /tmp
hadoop fs -mv /hadoop001/test/test.txt test.txt /tmp
  • 删除HDFS中 /tmp
hadoop fs -rm -r /tmp

HDFS设计思路

分布式文件系统的设计思路:


HDFS架构

  • 1个NameNode/NN(Master) 带 DataNode/DN(Slaves) (Master-Slave结构)
  • 1个文件会被拆分成多个Block
  • NameNode(NN) 负责客户端请求的响应
    负责元数据(文件的名称、副本系数、Block存放的DN)的管理 元数据 MetaData 描述数据的数据 监控DataNode健康状况 10分钟没有收到DataNode报告认为Datanode死掉了
  • DataNode(DN) 存储用户的文件对应的数据块(Block)
    要定期向NN发送心跳信息,汇报本身及其所有的block信息,健康状况
  • 分布式集群NameNode和DataNode部署在不同机器上


  • HDFS优缺点
    • 优点
      • 数据冗余 硬件容错
      • 适合存储大文件
      • 处理流式数据
      • 可构建在廉价机器上
    • 缺点
      • 低延迟的数据访问
      • 小文件存储

HDFS环境搭建

  • 下载jdk 和 hadoop 放到 /sLL/app目录下
tar -zxvf 压缩包名字 -C ~/app/
tar -vxzf jdk-7u79-linux-x64.tar.gz -C ~/app/
tar -vxzf hadoop-2.6.0-cdh5.7.0.tar.gz -C ~/app/
  • 配置环境变量
vi ~/.bash_profile

添加环境变量

export JAVA_HOME=/home/hadoop/app/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export HADO::OP_HOME=/home/hadoop/app/hadoop......
export PATH=$HADOOP_HOME/bin:$PATH

保存退出后, 让.bash_profile立即生效

source ~/.bash_profile

进入到解压后的hadoop目录 修改配置文件

配置文件作用
  • core-site.xml 指定hdfs的访问方式
  • hdfs-site.xml 指定namenode 和 datanode 的数据存储位置
  • mapred-site.xml 配置mapreduce
  • yarn-site.xml 配置yarn
修改hadoop.env.sh
export_JAVA_HOME = /home/app/jdk1.7

- 修改 core-site.xml 在 <configuration>节点中添加 (默认hdfs的地址 8020)

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop000:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/app/tmp</value>
</property>
  • 修改hdfs-site.xml 在 configuration节点中添加
    单节点伪分布式
<configuration>
<property>
            <name>dfs.replication</name>
                        <value>1</value>
                                </property>
</configuration>

集群

<property>
    <name>dfs.namenode.name.dir</name>
    <value>/home/hadoop/app/tmp/dfs/name</value>
</property>
<property>
    <name>dfs.datanode.data.dir</name>
    <value>/home/hadoop/app/tmp/dfs/data</value>
</property>
<property>
    <name>dfs.replication</name>
    <value>1</value>
</property>
来到hadoop的bin目录
./hadoop namenode -format (这个命令只运行一次)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,482评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,377评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,762评论 0 342
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,273评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,289评论 5 373
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,046评论 1 285
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,351评论 3 400
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,988评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,476评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,948评论 2 324
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,064评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,712评论 4 323
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,261评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,264评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,486评论 1 262
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,511评论 2 354
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,802评论 2 345

推荐阅读更多精彩内容