Azkaban启动遇到的一个问题

本文记录了在使用Azkaban过程中遇到的500错误问题及解决过程。作者通过更改登录用户名从“hadoop”到默认的“admin”,解决了因权限配置不当导致的创建项目失败问题。

刚把Azkaban配置好,打开网页发现也都正常。



但是,当点击Create Project,填写要建立的名字和描述后,最后点击CreateProject时发现页面出现了error500的错误,虚拟机和页面都出现以下的提示。

HTTP ERROR 500

Problem accessing /manager. Reason:

    INTERNAL_SERVER_ERROR

Caused by:

java.lang.NullPointerException
	at azkaban.webapp.servlet.ProjectManagerServlet.getPermissionObject(ProjectManagerServlet.java:1475)
	at azkaban.webapp.servlet.ProjectManagerServlet.handleProjectPage(ProjectManagerServlet.java:1277)
	at azkaban.webapp.servlet.ProjectManagerServlet.handleGet(ProjectManagerServlet.java:138)
	at azkaban.webapp.servlet.LoginAbstractAzkabanServlet.doGet(LoginAbstractAzkabanServlet.java:106)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:401)
	at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
	at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
	at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
	at org.mortbay.jetty.Server.handle(Server.java:326)
	at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
	at org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:928)
	at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:549)
	at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:212)
	at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
	at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
	at org.mortbay.jetty.security.SslSocketConnector$SslConnection.run(SslSocketConnector.java:713)
	at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

困扰我好久,查看jps发现azkaban web和executor都是正常启动的,试过重新改时区,重新设置配置文件修改一些为绝对路径等,但是都没有用,这个明显是Perssion权限的问题。

解决:最后发现是登陆用户配置出了问题


如图,为了好记统一,我把登陆名和密码改成了hadoop,所以导致虽然启动正常,登陆也可以,但是工作时免不了出现权限的问题,重新把用户改为admin后,启动正常,job也可以运行了~。


<think>好的,用户想了解如何逐步启动Azkaban Executor Server。我需要先回忆Azkaban的基本结构和组件。Azkaban通常由Web Server和Executor Server组成,Web负责界面和项目管理,Executor处理实际的工作流执行。 首先,用户可能需要安装Java,因为Azkaban是基于Java的。然后,确认他们是否已经下载了Azkaban的安装包,比如从GitHub release页面获取。安装步骤可能包括解压文件、配置属性文件,比如azkaban.properties和azkaban-users.xml。 接下来,启动Executor Server的具体命令可能是在解压后的目录中运行启动脚本,比如bin/azkaban-executor-start.sh。需要确保配置文件中的数据库连接、端口设置正确。另外,用户可能需要先启动数据库服务,比如MySQL,并创建必要的数据库和用户权限。 还要注意日志文件的查看,以便排查启动过程中的问题。比如,检查executorServerLog_*.log中的错误信息。可能的问题包括端口冲突、数据库连接失败或内存配置不足。此外,用户可能还需要配置SSL或调整执行器的线程数,这需要修改azkaban.properties中的对应参数。 用户提供的引用中有提到curl命令和Spark的测试类,这可能与Azkaban的API调用或任务提交有关,但启动Executor Server本身主要依赖正确的配置和启动脚本。需要确保引用的信息是否相关,但在这个问题中可能不需要直接使用这些引用内容,除非涉及到与其他系统的集成。 最后,生成的相关问题可能需要包括配置数据库、解决启动错误、高可用性设置等,这些都是用户在部署Executor Server时可能遇到的后续步骤。</think>### 如何逐步启动 Azkaban Executor Server 以下是启动 Azkaban Executor Server 的详细步骤: --- #### **步骤 1:环境准备** 1. **安装 Java** Azkaban 依赖 Java 8+ 运行环境。使用以下命令检查版本: ```bash java -version ``` 若未安装,可通过包管理器(如 `apt` 或 `yum`)安装 OpenJDK。 2. **下载 Azkaban 安装包** 从 [Azkaban GitHub Release](https://github.com/azkaban/azkaban/releases) 下载 `azkaban-exec-server` 的二进制包,例如 `azkaban-exec-server-3.90.0.tar.gz`。 --- #### **步骤 2:解压与配置** 1. **解压文件** ```bash tar -xvzf azkaban-exec-server-3.90.0.tar.gz cd azkaban-exec-server-3.90.0 ``` 2. **配置数据库连接** 编辑 `conf/azkaban.properties`,设置数据库信息: ```properties # 数据库类型(默认为 H2,生产需替换为 MySQL) database.type=mysql mysql.host=localhost mysql.port=3306 mysql.database=azkaban mysql.user=azkaban mysql.password=your_password ``` 3. **调整 Executor 参数(可选)** 修改 `conf/azkaban.properties` 中的执行器参数: ```properties # 最大线程数 executor.maxThreads=50 # 端口设置 executor.port=12321 ``` --- #### **步骤 3:启动 Executor Server** 1. **运行启动脚本** 执行以下命令启动 Executor: ```bash bin/azkaban-executor-start.sh ``` 2. **验证进程** 检查进程是否运行: ```bash jps | grep AzkabanExecutorServer ``` 3. **查看日志** 日志文件位于 `logs/executorServerLog_*.log`,检查是否有错误: ```bash tail -f logs/executorServerLog_2023-10-01+00:00:00.log ``` --- #### **步骤 4:与 Web Server 集成** 1. **确保 Web Server 已启动** Azkaban Web Server 需独立启动,并通过 API 与 Executor 通信[^1]。 2. **验证 Executor 注册** 访问 Web Server 管理界面(如 `http://localhost:8081`),检查 Executor 是否成功注册。 --- #### **常见问题解决** - **端口冲突**:修改 `executor.port` 并重启。 - **数据库连接失败**:检查 MySQL 服务状态及权限配置。 - **内存不足**:调整 `conf/azkaban.properties` 中的 `executor.jvm.args`。 ---
评论 5
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值