當前位置:首页 > 趣味生活

hadoop只有一個slave

Q1:配置完全分布式hadoop,yarn,為什麼slave上不能啟動nodemanager

配置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 duplicate 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"
其他進程,參照上面即可。
注意:端口不要沖突。
配置mapreduce遠程調試
如果想要調試Map 或Reduce Task,則修改bin/hadoop已經沒用了,因為bin/hadoop中沒有Map Task的啟動參數。
此時需要修改mapred-site.xml

mapred.child.java.opts
-Xmx800m -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=8000

在一個TaskTracker上,只能啟動一個Map Task或一個Reduce Task,否則啟動時會有端口沖突。因此要修改所有TaskTracker上的conf/hadoop-site.xml中的配置項:

mapred.tasktracker.map.tasks.maximum
1


mapred.tasktracker.reduce.tasks.maximum
1

在Eclipse中使用方法:
打開eclipse,找到Debug Configurations...,添加一個Remout Java Application:
在source中可以關聯到hive的源代碼,然後,單擊Debug按鈕進入遠程debug模式。
編寫個jdbc的測試類,執行代碼,這時候因為hive-server2端沒有設置端點,故程式可以正常執行直到結束。
在hive代碼中設置一個斷點,如ExecDriver.java的execute方法中設置斷點,然後再執行jdbc測試類。

Q2:hadoop完全分布式安裝slave怎麼配置

Slave填寫Master和Slave的IP地址,Master可以同時做Master和Slave

www.bAZHI。sHI.CoM

Q3:搭建hadoop集群 master和slaves都執行哪些服務

多個master也只有一個主,一個或者多個備,一般都是在主上面進行增刪,從一般都是透過復制log進行同步。這也是所有的主從復制式集群的原理,例如redis,mysql都是如此。

Q4:hadoop docker鏡像怎麼啟動slave

Docker最核心的特性之一,就是能夠將任何應用包括Hadoop打包到Docker鏡像中。這篇教程介紹了利用Docker在單機上快速搭 建多節點 Hadoop集群的詳細步驟。作者在發現目前的Hadoop on Docker專案所存在的問題之後,開發了接近最小化的Hadoop鏡像,...

Q5:安裝Hadoop後,Slave機器中DataNode和TaskTracker自己停了

1 停掉集群
2 把slave機和master機上那個tmp.dir路徑下的資料清空(有可能是因為你在上一次namenode -format之前忘了刪除slave的資料導致的)
3 重新hadoop namenode -format
4 重新啟動hadoop集群

w∽wW.bazhisHi.cOm

Q6:hadoop伺服器怎麼查看自己的slave

有兩種方式,第一就是有一個slaves文件,一個是hadoop管理界面,比如webhdfs,或者商用產品自帶的管理平台

猜你喜歡

更多