spark yarn /bin/bash: /bin/java: is a directory

mac Os  10.12  +hadoop2.7.2+spark1.6.1 


./bin/spark-submit --class org.apache.spark.examples.SparkPi     --master yarn     --deploy-mode cluster     --driver-memory 4g     --executor-memory 2g     --executor-cores 1    lib/spark-examples*.jar     10

出错信息

Container id: container_1498071443097_0003_02_000001
Exit code: 127
Stack trace: ExitCodeException exitCode=127: 
	at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)
	at org.apache.hadoop.util.Shell.run(Shell.java:456)
	at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722)
	at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:212)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
	at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:745)


Container exited with a non-zero exit code 127
Failing this attempt. Failing the application.
	 ApplicationMaster host: N/A
	 ApplicationMaster RPC port: -1
	 queue: default
	 start time: 1498071881965
	 final status: FAILED
	 tracking URL: http://localhost:8088/cluster/app/application_1498071443097_0003
	 user: 


RM 那边日志提示/bin/bash: /bin/java: is a directory


解决方案,将:

 vim etc/hadoop/hadoop-env.sh

里的

export JAVA_HOME=${JAVA_HOME}

修改为

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home


### 如何在具体操作系统上安装配置 Spark 和 Hadoop 环境 #### 版本选择 对于生产环境或学习目的,建议选择稳定版本的软件组合。当前推荐使用的版本如下: - **Hadoop**: 使用 `3.2.x` 或更高版本[^1]。 - **Spark**: 推荐使用 `3.4.x` 或更新版本[^2]。 这些版本提供了更好的性能优化和错误修复支持。 --- #### 安装前准备 在开始安装之前,需完成以下准备工作: 1. 配置虚拟机环境(如 VMware、VirtualBox),并确保有足够的磁盘空间和内存资源。 2. 安装 Java 开发工具包(JDK)。推荐 JDK 8 或 JDK 11,因为它们兼容大多数大数据框架。 3. 设置好 SSH 密钥免密码登录功能,以便于分布式集群管理。 --- #### Hadoop 的安装与配置 以下是基于 Linux 操作系统的 Hadoop 安装指南: 1. 下载 Hadoop 压缩包,并解压到目标目录: ```bash wget https://downloads.apache.org/hadoop/common/stable/hadoop-3.2.3.tar.gz tar -xzvf hadoop-3.2.3.tar.gz -C /usr/local/ ln -s /usr/local/hadoop-3.2.3/ /usr/local/hadoop ``` 2. 修改 Hadoop 配置文件路径 `/usr/local/hadoop/etc/hadoop/core-site.xml`,设置 NameNode 地址: ```xml <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration> ``` 3. 编辑 `hdfs-site.xml` 文件以定义副本数量和其他参数: ```xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration> ``` 4. 启动 HDFS 并验证服务状态: ```bash $HADOOP_HOME/bin/hdfs namenode -format $HADOOP_HOME/sbin/start-dfs.sh jps ``` 通过浏览器访问 `http://<your-host>:9870` 来确认 Web UI 是否正常运行。 --- #### Spark 的安装与配置 以下是 Spark 在本地模式下的快速部署方法: 1. 下载 Spark 压缩包并解压至指定位置: ```bash wget https://archive.apache.org/dist/spark/spark-3.4.0/spark-3.4.0-bin-hadoop3.tgz tar -xzvf spark-3.4.0-bin-hadoop3.tgz -C /usr/local/ ln -s /usr/local/spark-3.4.0-bin-hadoop3/ /usr/local/spark ``` 2. 更新环境变量,在 `.bashrc` 中添加以下内容: ```bash export SPARK_HOME=/usr/local/spark export PATH=$PATH:$SPARK_HOME/bin:$SPARK_HOME/sbin source ~/.bashrc ``` 3. 测试 Spark Shell 功能是否可用: ```bash spark-shell --master local[*] ``` 如果成功启动,则说明 Spark 已经可以正常使用。 --- #### 依赖项处理 某些情况下可能需要额外安装 Python 及其库来满足 PySpark 脚本的需求。可以通过 pip 工具安装必要的模块: ```bash pip install numpy pandas matplotlib seaborn ``` 另外,MySQL 数据库及其 JDBC 连接器也可能被 Hive 所需,因此应提前准备好相应的驱动程序文件。 --- #### 常见问题及解决方案 1. 如果遇到权限不足的问题,请尝试赋予相关目录可读写权限: ```bash chmod -R 755 /path/to/directory chown -R user:usergroup /path/to/directory ``` 2. 当节点间通信失败时,检查防火墙规则或者重新生成无密码认证所需的公私钥对。 3. 对于 YARN 上提交作业超时的情况,调整队列容量比例或将默认调度策略更改为公平调度法(Fair Scheduler)。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值