Hadoop分布式批量处理 脚本xcall.sh

本文展示了一个使用bash脚本在四台名为node1至node4的主机上进行远程执行参数化命令的例子。通过ssh实现了对每台主机上运行的服务进程状态的检查,揭示了各节点上的服务如ResourceManager、NameNode、DataNode等的运行情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#!/bin/bash
 params=$@
 i=1
 
 for((i=1 ;i <=4 ;i=$i+1 ));do
 echo ==========node$i $params==========
 ssh node$i "source /etc/profile;$params"
 done
 sh xcall.sh jps
==========node1 jps==========
4112 EventCatcherService
1600 ResourceManager
1585 NameNode
4001 Main
3793 DavinciServerApplication
4002 Main
610 Main
1797 QuorumPeerMain
1734 AlertPublisher
5976 Jps
1583 SecondaryNameNode
==========node2 jps==========
3619 DataNode
7065 Jps
5437 NodeManager
==========node3 jps==========
ssh: Could not resolve hostname node3: Name or service not known
==========node4 jps==========
ssh: Could not resolve hostname node4: Name or service not known

我四台主机名字  node1,node2

### Hadoop 3.3.5伪分布式环境搭建教程 #### 解压Hadoop压缩包 为了开始安装过程,需先将下载的 `hadoop-3.3.5-aarch64.tar.gz` 文件解压至 `/usr/local/` 路径下。此操作可以通过以下命令完成: ```bash sudo tar -zxvf ./hadoop-3.3.5-aarch64.tar.gz -C /usr/local/ ``` 该命令会将文件解压到指定目录并创建名为 `hadoop-3.3.5` 的子目录[^1]。 #### 配置环境变量 为了让系统能够识别 Hadoop 命令,在全局环境中设置 PATH 变量是非常必要的。编辑 `.bashrc` 或者 `/etc/profile` 文件,添加如下内容: ```bash export HADOOP_HOME=/usr/local/hadoop-3.3.5 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin ``` 保存修改后的配置文件并通过执行以下命令使更改生效: ```bash source ~/.bashrc ``` #### 修改核心配置文件 进入 Hadoop 安装路径下的 `etc/hadoop/core-site.xml` 文件进行编辑,定义 NameNode 和 DataNode 所使用的本地存储位置以及默认副本数量等内容。以下是典型的 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> </configuration> ``` #### 初始化NameNode 切换到超级用户模式或者具有适当权限的角色账户(如 xwp),然后运行初始化命令来格式化 NameNode 数据结构: ```bash cd /usr/local/hadoop-3.3.5 bin/hdfs namenode -format ``` #### 启动HDFS服务 通过启动脚本激活整个 HDFS 系统的服务进程: ```bash sbin/start-dfs.sh ``` 这一步骤将会自动开启所有的必要守护线程,并允许客户端连接访问集群资源[^2]。 #### 测试验证 最后可以尝试上传一些测试文件到 HDFS 上面去确认一切正常工作与否;也可以利用浏览器打开地址 http://localhost:9870 查看 Web UI 页面上的状态信息。 ```python from subprocess import call call(["hdfs", "dfs", "-put", "/path/to/source/file", "/destination/in/hdfs"]) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值