hadoop基本操作

2020-10-26  本文已影响0人  __method__

启动HDFS

[hadoop@hadoop000 sbin]$ ./start-dfs.sh 
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
[hadoop@hadoop000 sbin]$ jps
4249 NameNode
4351 DataNode
4613 SecondaryNameNode
4733 Jps

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

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。

touch test.txt
vi test.txt
hadoop fs -ls /
hadoop fs -mkdir -p /hadoop001/test
hadoop fs -put test.txt /hadoop001/test/
hadoop fs -cat /hadoop001/test/test.txt
 hadoop fs -get /hadoop001/test/test.txt test.txt
hadoop fs -mv /hadoop001/test/test.txt test.txt /tmp
hadoop fs -rm -r /tmp

HDFS设计思路

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


HDFS架构

HDFS环境搭建

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目录 修改配置文件

配置文件作用
修改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>
<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 (这个命令只运行一次)
上一篇 下一篇

猜你喜欢

热点阅读