问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

配置完全分布式hadoop,yarn,为什么slave上不能启动nodemanager

发布网友 发布时间:2022-04-25 20:56

我来回答

1个回答

热心网友 时间:2022-04-13 10:02

配置hbase远程调试
打开/etc/hbase/conf/hbase-env.sh,找到以下内容:
# Enable remote JDWP debugging of major HBase processes. Meant for Core Developers
# export HBASE_MASTER_OPTS="$HBASE_MASTER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8070"
# export HBASE_REGIONSERVER_OPTS="$HBASE_REGIONSERVER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8071"
# export HBASE_THRIFT_OPTS="$HBASE_THRIFT_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8072"
# export HBASE_ZOOKEEPER_OPTS="$HBASE_ZOOKEEPER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8073"

如果想远程调式hbase-master进程,请去掉对HBASE_MASTER_OPTS的注释,其他依次类推。注意,我这里使用的是cdh-4.3.0中的hbase。

配置hive远程调试
停止hive-server2进程,然后以下面命令启动hive-server2
hive --service hiveserver --debug

进程会监听在8000端口等待调试连接。如果想更改监听端口,可以修改配置文件:${HIVE_HOME}bin/ext/debug.sh
如果Hadoop是0.23以上版本,debug模式启动Cli会报错:
ERROR: Cannot load this JVM TI agent twice, check your java command line for plicate jdwp options.

打开${Hadoop_HOME}/bin/hadoop,注释掉以下代码
# Always respect HADOOP_OPTS and HADOOP_CLIENT_OPTS
HADOOP_OPTS="$HADOOP_OPTS $HADOOP_CLIENT_OPTS"

配置yarn远程调试
请在以下代码添加调试参数:
if [ "$COMMAND" = "classpath" ] ; then
if $cygwin; then
CLASSPATH=`cygpath -p -w "$CLASSPATH"`
fi
echo $CLASSPATH
exit
elif [ "$COMMAND" = "rmadmin" ] ; then
CLASS='org.apache.hadoop.yarn.client.RMAdmin'
YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "application" ] ; then
class="org".apache.hadoop.yarn.client.cli.ApplicationCLI
YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "node" ] ; then
class="org".apache.hadoop.yarn.client.cli.NodeCLI
YARN_OPTS="$YARN_OPTS $YARN_CLIENT_OPTS"
elif [ "$COMMAND" = "resourcemanager" ] ; then
CLASSPATH=${CLASSPATH}:$YARN_CONF_DIR/rm-config/log4j.properties
CLASS='org.apache.hadoop.yarn.server.resourcemanager.ResourceManager'
YARN_OPTS="$YARN_OPTS $YARN_RESOURCEMANAGER_OPTS"
if [ "$YARN_RESOURCEMANAGER_HEAPSIZE" != "" ]; then
JAVA_HEAP_MAX="-Xmx""$YARN_RESOURCEMANAGER_HEAPSIZE""m"
fi
elif [ "$COMMAND" = "nodemanager" ] ; then
CLASSPATH=${CLASSPATH}:$YARN_CONF_DIR/nm-config/log4j.properties
CLASS='org.apache.hadoop.yarn.server.nodemanager.NodeManager'
YARN_OPTS="$YARN_OPTS -server $YARN_NODEMANAGER_OPTS"
if [ "$YARN_NODEMANAGER_HEAPSIZE" != "" ]; then
JAVA_HEAP_MAX="-Xmx""$YARN_NODEMANAGER_HEAPSIZE""m"
fi
elif [ "$COMMAND" = "proxyserver" ] ; then
CLASS='org.apache.hadoop.yarn.server.webproxy.WebAppProxyServer'
YARN_OPTS="$YARN_OPTS $YARN_PROXYSERVER_OPTS"
if [ "$YARN_PROXYSERVER_HEAPSIZE" != "" ]; then
JAVA_HEAP_MAX="-Xmx""$YARN_PROXYSERVER_HEAPSIZE""m"
fi

例如: 如果你想调试resourcemanager代码,请在elif [ "$COMMAND" = "resourcemanager" ] 分支内添加如下代码:
YARN_RESOURCEMANAGER_OPTS="$YARN_RESOURCEMANAGER_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=6001"

其他进程,参照上面即可。
注意:端口不要冲突。

配置maprece远程调试
如果想要调试Map 或Rece Task,则修改bin/hadoop已经没用了,因为bin/hadoop中没有Map Task的启动参数。
此时需要修改mapred-site.xml
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx800m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000</value>
</property>

在一个TaskTracker上,只能启动一个Map Task或一个Rece Task,否则启动时会有端口冲突。因此要修改所有TaskTracker上的conf/hadoop-site.xml中的配置项:
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>1</value>
</property>
<property>
<name>mapred.tasktracker.rece.tasks.maximum</name>
<value>1</value>
</property>

在Eclipse中使用方法:
打开eclipse,找到Debug Configurations...,添加一个Remout Java Application:
在source中可以关联到hive的源代码,然后,单击Debug按钮进入远程debug模式。
编写个jdbc的测试类,运行代码,这时候因为hive-server2端没有设置端点,故程序可以正常运行直到结束。
在hive代码中设置一个断点,如ExecDriver.java的execute方法中设置断点,然后再运行jdbc测试类。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
为什么来大姨妈胸会胀 少儿学什么舞蹈 青年学什么舞蹈好 成年人学什么舞蹈 福州企业最低工资标准 2013年厦门的底薪是多少 生产要素的需求有哪些性质 生产要素的需求有何特点? 什么是生产要素需求 微观经济学要素需求什么是条件要素需求?它和要素需求有什么不同?_百度... ...新的hadoop资源管理器,以下哪些开源组件可以运行在hadoop yarn... 什么是汽车中冷器 Hadoop yarn下,在命令行提交作业时,怎么指定改作业需要设定的map task需要的资源量? 中冷器是干什么用的? 什么是中冷器? 空空中冷的发动机和增压中冷的区别 hadoop yarn启动log在哪 中冷器的作用? ...hadoop 资源管理器,以下哪些开源组件可以运行在hadoop yarn上... 涡轮增压的发动机有中冷和没有中冷的区别 中冷器是什么? 中冷器和水箱是一个概念吗 中冷器和后冷器是同一个东西吗? 汽车,中冷器分为两种,一种风冷器和水冷器,风冷器和水冷器有什么不同。 汽车发动机上的冷却器: 中冷器,水冷器,风冷器,空冷器,油冷器,他们的区别、联系、结构和工作原理。 船用中冷器与空冷器的区别 水箱(散热器)、中冷器、冷凝器的区别及工作原理,最好语言言简意赅,谢谢 有谁知道期货合约吗? 一个优秀的系统分析师 需要掌握那几个方面的知识。(计算机) 一个优秀的计算机系统分析师需要掌握那些专业知识? hadoop yarn-site.xml 到底需要配置么 USB小风扇没有电池直接插电使用安全吗? USB小风扇好用吗? vggmue摄像头好用吗 FSC标准? FSC认证标准具体是什么? FSC认证是不是强制性认证,取得该认证有何意义? 笔记本可以外接USB的显卡吗? 矩阵在数学里什么意思???求简单解释 高中数学矩阵 数学里的矩阵是什么内容? 高等数学矩阵的初等行变换是什么规则,请详细举例说明 请问“矩阵”是高中、还是大学的数学知识呢?谢谢~~~ 高等数学矩阵 数学矩阵式的意义 关于数学矩阵的问题。 数学问题 求矩阵计算公式 数学 矩阵 数学矩阵 高等数学矩阵中|A|是什么意思怎么算