ubuntu下配置hadoop的状态监控页面

一、配置Hadoop

$ cd /usr/local/hadoop/etc/hadoop 
$ vim core-site.xml 
将下面的内容复制到 <configuration> 标签内

<property>
   <name>fs.default.name</name>
   <value>hdfs://localhost:9000</value>
</property>

201952_dgVG_2391658.png

$ vim yarn-site.xml

将下面的内容复制到 <configuration> 标签内

<property>
  <name>yarn.nodemanager.aux-services</name>
  <value>mapreduce_shuffle</value>
</property>
<property>
  <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  <value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>

202055_esvt_2391658.png

$ mv mapred-site.xml.template mapred-site.xml 
$ vim mapred-site.xml

将下面的内容复制到 <configuration> 标签内

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
</property>

$ mkdir -p ~/mydata/hdfs/namenode 
$ mkdir -p ~/mydata/hdfs/datanode 
$ vim hdfs-site.xml

将下面的内容复制到 <configuration> 标签内

<property>
   <name>dfs.replication</name>
   <value>1</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/hduser/mydata/hdfs/namenode</value>
 </property>
 <property>
   <name>dfs.datanode.data.dir</name>
   <value>file:/home/hduser/mydata/hdfs/datanode</value>
 </property>

202405_dr4Y_2391658.png

二、格式化 namenode

第一次启动hadoop服务之前,必须执行格式化namenode

$ hdfs namenode -format

部分截图:

202519_aP15_2391658.png

三、启动服务

$ start-dfs.sh && start-yarn.sh 
使用jps查看服务

$ jps

如果一切顺利,你会看到: 
17785 SecondaryNameNode 
17436 NameNode 
17591 DataNode 
18096 NodeManager 
17952 ResourceManager 
23635 Jps 
当执行start-dfs.sh的时候,你可能会看到  WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable ,不用担心,其实可以正常使用,我们会在问题解决那一节谈到这个问题。  

四、测试并运行示例

$ cd /usr/local/hadoop 
$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -write -nrFiles 20 -fileSize 10 
$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-client-jobclient-2.2.0-tests.jar TestDFSIO -clean 
$ hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 2 5 

五、网页界面

Cluster status: http://localhost:8088 
HDFS status: http://localhost:50070 
Secondary NameNode status: http://localhost:50090 

六、一些问题解决方案

1. Unable to load native-hadoop library for your platform.

这是一个警告,基本不会影响hadoop的使用,但是在之后我们还是给予解决这个warning的方法。通常来讲,出现这个warning的原因是你在64位的系统上,但是hadoop的package是为32位的机器编译的。在这种情况下,确认你不要忘记在hadoop-env.sh中加入这几行:

export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/" 
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/"

否则你的hadoop不能正常工作。如果你用的系统和hadoop的package相符(32位),这两行是不必要的。 
我们不希望有warning,如何解决?方法是自己重新编译源代码。重新编译其实很简单: 
安装 maven 
$ sudo apt-get install maven 
安装 protobuf-2.5.0 or later 
$ curl -# -O https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.gz 
$ tar -xzvf protobuf-2.5.0.tar.gz 
$ cd protobuf-2.5.0 
$ ./configure --prefix=/usr 
$ make 
$ sudo make install 
$ cd .. 
现在并编译hadoop源代码,注意编译之前需要先给源代码打个补丁 
$ wget http://www.eu.apache.org/dist/hadoop/common/stable/hadoop-2.2.0-src.tar.gz 
$ tar -xzvf hadoop-2.2.0-src.tar.gz 
$ cd hadoop-2.2.0-src 
$ wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch 
$ patch -p0 < HADOOP-10110.patch 
$ mvn package -Pdist,native -DskipTests -Dtar 
现在到 hadoop-dist/target/ 目录下, 你会看到 hadoop-2.2.0.tar.gz or hadoop-2.2.0, 他们就是编译后的hadoop包。 你可以使用自己编译的包,同样按照之前的步骤安装64位的hadoop。如果你已经安装了32位的hadoop,只需要替换 /usr/local/hadoop/lib/native 目录,然后将如下两行从hadoop-env.sh中移除即可: 
export HADOOP_COMMON_LIB_NATIVE_DIR="/usr/local/hadoop/lib/native/" 
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/" 

2. datanode 不能被启动

一个常用的方法是先删掉datanode对应的文件夹试试,注意这样做可能会丢失你的数据。另一种方法是到 /usr/local/hadoop/logs/hadoop-hduser-datanode-*.log 中检查原因并对症下药。

转载于:https://my.oschina.net/u/2391658/blog/700835

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值