利用Wget 直接将数据Put到HDFS 上

如题:


wget http://117.79.226.247:8888/impala/download/1565/xls -O - | hadoop fs -put - /tmp/wget_to_hdfs


-O 重命名
-O  后面的 - 为重定向到标准输出,(这里就是控制台) -put 后面的 - 标准输入(对应前面的标准输出)

这样 就可以是数据不落地直接PUT 到 hdfs上面,项目刚刚的~





### 使用 Docker 部署 Hadoop 分布式文件系统 (HDFS) #### 准备工作 为了使用 Docker 来部署 HDFS,需要先确保主机上已经正确安装了 Docker。对于 Ubuntu 用户来说,可以按照官方指南完成 Docker 的安装与配置[^1]。 #### 构建 Hadoop 基础镜像 创建一个新的 `Dockerfile` 文件用于构建自定义的 Hadoop 镜像: ```dockerfile FROM ubuntu:latest # 设置环境变量 ENV HADOOP_VERSION=3.3.0 \ JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 \ PATH=$PATH:/opt/hadoop/bin/:/opt/hadoop/sbin/ # 更新包列表并安装必要的软件包 RUN apt-get update && \ apt-get install -y openjdk-11-jdk wget curl tar gzip vim && \ rm -rf /var/lib/apt/lists/* # 下载并解压 Hadoop 发行版 WORKDIR /opt/ RUN wget https://archive.apache.org/dist/hadoop/core/hadoop-$HADOOP_VERSION/hadoop-$HADOOP_VERSION.tar.gz && \ tar xf hadoop-$HADOOP_VERSION.tar.gz && \ mv hadoop-$HADOOP_VERSION hadoop && \ ln -s /opt/hadoop/etc/hadoop /etc/hadoop # 复制配置文件到容器内 COPY core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml /etc/hadoop/ EXPOSE 8088 9870 9864 9866 9867 CMD ["bash"] ``` 上述脚本会下载指定版本的 Hadoop 并将其路径加入系统的 `$PATH` 中以便后续可以直接调用命令工具;同时还会暴露几个常用的端口供 Web UI 访问和其他组件通信所用。 #### 修改核心配置文件 接下来要编辑两个重要的 XML 格式的配置文件——`core-site.xml` 和 `hdfs-site.xml`。这些文件通常位于 `/etc/hadoop/` 目录下,在这里可以通过挂载本地文件的方式覆盖默认设置或直接在 Dockerfile 中复制进去。 以下是针对单节点伪分布模式下的简单配置示例: **core-site.xml** ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` **hdfs-site.xml** ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.http-address</name> <value>0.0.0.0:9870</value> </property> <property> <name>dfs.datanode.http.address</name> <value>0.0.0.0:9864</value> </property> </configuration> ``` 以上配置指定了 NameNode 和 DataNode 对应的服务地址以及副本因子等参数[^2]。 #### 启动服务 编写好所有的配置之后就可以通过下面这条指令来启动一个包含 Hadoop 环境的新容器实例: ```shell docker run -it --rm --name=hadoop-distributed-file-system -p 9870:9870 -v $(pwd)/config:/etc/hadoop my-hadoop-image bash ``` 进入容器内部后继续初始化 HDFS 文件系统,并启动相关守护进程: ```shell hdfs namenode -format start-dfs.sh jps ``` 如果一切顺利的话应该能够看到如下输出表示各个角色均已正常运行起来[^3]: ```text 2437 DataNode 2548 SecondaryNameNode 2647 NodeManager 2962 Jps ``` 此时便可以在浏览器里访问 http://localhost:9870 查看 Namenode 的状态页面了。 #### 测试集群功能 最后一步就是测试整个集群的功能是否完好无损。为此可参照之前提到的例子创建一些简单的文本数据集作为输入源上传给 HDFS 存储层处理: ```shell mkdir input echo "hello world" > input/file.txt hadoop fs -put ./input / ``` 这样就完成了利用 Docker 技术快速搭建起一套简易版 Hadoop 分布式文件系统的全过程介绍。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值