Hadoop+Zookeeper

2023-02-12  本文已影响0人  山猪打不过家猪

0. Install hadoop

0.1安装Hadoop

解压hadoop文件到指定文件目录
/Users/gl/documents/workspace/decode

0.2配置hadoop环境变量

vim ~/.bash_profile

##hadoop
export HADOOP_HOME=/Users/gl/documents/workspace/decode/hadoop-3.1.4
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

##add to path
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

-配置好后,记得立即生效

source ~/.bash_profile
0.3添加java到hadoop中

上面完成后查看hadoop版本

hadoop version

不出意外,报错,因为没有添加JAVA环境

/usr/libexec/java_home
#  JAVA_HOME=/usr/java/testing hdfs dfs -ls
JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-16.jdk/Contents/Home
Hadoop 3.1.4
Source code repository https://github.com/apache/hadoop.git -r 1e877761e8dadd71effef30e592368f7fe66a61b
Compiled by gabota on 2020-07-21T08:05Z
Compiled with protoc 2.5.0
From source with checksum 38405c63945c88fdf7a6fe391494799b
This command was run using /Users/gl/Documents/workspace/decode/hadoop-3.1.4/share/hadoop/common/hadoop-common-3.1.4.jar
<configuration>
<property>
     <name>fs.defaultFS</name>
     <value>hdfs://localhost:9000</value>
</property>
<property>
     <name>hadoop.tmp.dir</name>
     <value>file:/Users/gl/Documents/workspace/Data/hadoop/tmp</value>
</property>
<property>
     <name>fs.trash.interval</name>
     <value>1440</value>
</property>

<property>
     <name>dfs.replication</name>
     <value>1</value>
</property>
<property>
     <name>dfs.permissions</name>
     <value>false</value>   
</property>
<property>
     <name>dfs.namenode.name.dir</name>
     <value>file:/Users/baihe/Data/hadoop/tmp/dfs/name</value>
</property>
<!-- data node 存放数据 block 的目录 -->
<property>
     <name>dfs.datanode.data.dir</name>
     <value>file:/Users/baihe/Data/hadoop/tmp/dfs/data</value>
</property>
<property>
     <name>dfs.http.address</name>
     <value>0.0.0.0:50070</value>
</property>

1.HDFS的shell命令

1.1 Create files
1.1.1 Create a folder
hfds dfs -mkdir /data
1.1.2 Multi-level creation

没有的文件夹会自动创建

hdfs dfs -mkdir  -p /a/b/c/d/e/f/g
1.1.3创建一个空的文件
hdfs dfs -touchz /empty/empty1
1.2 上传文件以及文件夹

使用hdfs dfs -put

1.2.1上传文件

将文件a1.csv上传到data文件夹里

hdfs dfs -put a1 /data/
1.2.2上传文件夹

将test文件夹上传到 data文件夹里面

hdfs dfs -put test /data/
1.3 下载文件
1.3.1下载文件到Linux上

将hdfs上的文件下载到Linux机器上

hdfs dfs -get /empty/empty1 ./

注意: ./表示的是当前目录

1.3.2 合并下载

将多个文件夹里的内容下载到同一个文件里

hdfs dfs -getmerge /file* ./file

注意: /file*表示所有file开头的文件

1.3.3 append content to hdfs
hdfs dfs -appendToFile  本地文件 hdfs上的文件
1.4移动和复制文件
1.4.1移动文件

将根目录下的所有file开头的文件移动到 /data文件夹下

hdfs dfs -mv /file*  /data
1.4.2 重命名

可以使用mv来重命名,将test重命名为test1

hdfs dfs -mv /test /test1
1.4.3 复制

将test下的file1拷贝到data下

hdfs dfs -cp /test/file1 /data/
1.5 删除
1.5.1删除文件
hdfs dfs -rm /test/file1
1.5.2删除文件夹
hdfs dfs -rm -r /a
1.6 查看状态
hdfs dfs -df -h /
1.7 修改权限
hdfs dfs -chmod 777 /data
1.8 修改副本数量
hdfs dfs -setrep 5

2. The Structure of HDFS

2.1 Knew the structure of hdfs
2.2 the bricks of HDFS

3. Read data from HDFS

image.png
上一篇 下一篇

猜你喜欢

热点阅读