Hadoop笔记:集群的运行(版本1.2.1)

来源:互联网 发布:mac双系统修改默认启动 编辑:程序博客网 时间:2024/06/05 05:00
hadoop启动之初先进入安全模式,此时不允许操纵文件系统,操作会报错。
用户可以通过dfsadmin -safemode value 来操作安全模式,参数value的说明如下:
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get   - 返回安全模式是否开启的信息
wait  - 等待,一直到安全模式结束

1:运行hadoop自带的单词统计程序wordcount
新建input文件夹下,新建两txt文件
root@ServerTony:/home/tony# mkdir input
root@ServerTony:/home/tony# ls
core       Downloads         hadoop-1.2.1-bin.tar.gz    Music     Templates
Desktop    examples.desktop  input                      Pictures  Videos
Documents  hadoop-1.2.1      jdk-7u51-linux-x64.tar.gz  Public
root@ServerTony:/home/tony# cd input/
root@ServerTony:/home/tony/input# echo"hello world" >test1.txt
echohello world: command not found
root@ServerTony:/home/tony/input# echo "hello world" >test1.txt
root@ServerTony:/home/tony/input# echo "hello hadoop" >test2.txt ">"为输出重定向操作符
root@ServerTony:/home/tony/input# ls
test1.txt  test2.txt
root@ServerTony:/home/tony/input# cat test1.txt 
hello world
root@ServerTony:/home/tony/input#

bin/hadoop相当于启动一个java虚拟机且附带hadoop环境
root@ServerTony:/home/tony/hadoop-1.2.1# bin/hadoop fs -ls
ls: Cannot access .: No such file or directory.
一开始hdfs下没有任何文件,添加刚才创建的input文件夹,./指向当前账户根目录
root@ServerTony:/home/tony/hadoop-1.2.1# bin/hadoop fs -put ../input ./in
root@ServerTony:/home/tony/hadoop-1.2.1# bin/hadoop fs -ls ./in/*
-rw-r--r--   1 root supergroup         12 2014-03-06 00:28 /user/root/in/test1.txt
-rw-r--r--   1 root supergroup         13 2014-03-06 00:28 /user/root/in/test2.txt
root@ServerTony:/home/tony/hadoop-1.2.1# bin/hadoop fs -cat ./in/test1.txt
hello world

跑wordcount程序,结果放到out目录下:
bin/hadoop jar hadoop-examples-1.2.1.jar wordcount in out

查看结果如下:
root@ServerTony:/home/tony/hadoop-1.2.1# bin/hadoop fs -cat ./out/part-r-00000
hadoop  1
hello   2
world   1

2:浏览器监控集群
namenode 50070端口:http://192.168.94.128:50070/
jobtracker 50030端口:http://192.168.94.128:50030/

3:HDFS常用命令
列出HDFS下的文件:bin/hadoop fs -ls
上传文件到HDFS:bin/hadoop fs -put ../jdk.txt ./in
数据存放地方:创建的tmp文件夹
下载文件到linux:bin/hadoop fs -get ./in/jdk.txt ../jdk
删除HDFS下的文档:bin/hadoop fs -rmr ./in/jdk.txt
查看HDFS内容:bin/hadoop fs -cat ./in/jdk.txt
查看HDFS基本信息:bin/hadoop dfsadmin -report

4:增加节点
修改slaves文件,增加该节点名,设置ssh免密码登陆该节点,然后单独启动该节点上的datanode和tasktracker
datanode:bin/start-dfs.sh
运行bin/start-balancer.sh

5:创建类目录和环境变量:
hadoop-env.sh
export HADOOP_CLASSPATH=/home/tony/hadoop-1.2.1/myclass

~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
此文件类似于/etc/profile,也是需要需要重启才会生效,/etc/profile对所有用户生效,~/.bash_profile只对当前用户生效。

6:编译java代码,运行示例程序
新建java文件:vi example.java
root@ServerTony:/home/tony/hadoop-1.2.1/myclass# vi URLCat.java

import org.apache.hadoop.fs.FsUrlStreamHandlerFactory;
import org.apache.hadoop.io.IOUtils;
import java.io.InputStream;
import java.net.URL;

public class URLCat {
static {
URL.setURLStreamHandlerFactory(new FsUrlStreamHandlerFactory());
}
public static void main(String[] args) throws Exception {
InputStream in = null;
try {
in = new URL(args[0]).openStream();
IOUtils.copyBytes(in, System.out, 4096,false);
} finally {
IOUtils.closeStream(in);
}
}
}

编译:javac -classpath ../hadoop-core-1.2.1.jar URLCat.java
用hadoop运行示例程序:bin/hadoop URLCat hdfs://ServerTony:9000/user/root/in/test1.txt
输出test.txt内容到屏幕

7:使用ant编译工程
下载ant并解压
下载cookbook书附源码包:http://www.packtpub.com/code_download/11101

设置HADOOP_HOME环境变量
export HADOOP_HOME=/home/tony/hadoop-1.2.1(也可在profile里面设置)

掌握build.xml编译配置文件的写法,本次编译chapter2下的demo程序,命令如下:
root@ServerTony:/home/tony/hadoop-1.2.1/7287OS_Code/chapter2/HDFS_Java_API# /home/tony/apache-ant-1.9.3/bin/ant

运行编译生成的jar:
root@ServerTony:/home/tony/hadoop-1.2.1/7287OS_Code/chapter2/HDFS_Java_API# /home/tony/hadoop-1.2.1/bin/hadoop jar HDFSJavaAPI.jar  HDFSJavaAPIDemo
Warning: $HADOOP_HOME is deprecated.

hdfs://ServerTony:9000
Welcome to HDFS Java API!!!
root@ServerTony:/home/tony/hadoop-1.2.1/7287OS_Code/chapter2/HDFS_Java_API# 

注:若想去掉上述Warning,可在/etc/profile中添加:export HADOOP_HOME_WARN_SUPPRESS=1




0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 甘肃省人力资源和社会保障厅 甘肃省人力资源社会保障厅 山东省人力资源社会保障厅 人力资源大模块 人力资源社会保障部 四川省人力和社会保障厅 淄博市人力资源和社会保障网 甘肃人力资源社会保障厅 重庆人力和社会保障网 淄博市人力资源社会保障网 山东省人力资源保障厅 贵阳人力资源网 重庆人力社会保障网 重庆人力资源 广州市人力资源社会保障局 甘肃人力资源保障厅 广州市人力资源和社会保障局 人力社会保障局社保网 深圳市人力资源社会保障局 贵阳人力资源 深圳市人力资源和社会保障局 重庆市人力资源和社会保障局 青岛市人力资源和社会保障局 罗德岛人力资源部 河南省人力资源和社会保障厅 重庆人力资源和社保局网 潍坊市人力资源和社会保障局 台山人才人力资源网 河南省人力资源社会保障厅 重庆市人力资源社会保障局 潍坊市人力资源社会保障局 广州市人力资源保障局 深圳市人力资源保障局 北京市人力资源和社会保障局 重庆市人力资源社会保障网 成都市人力资源和社会保障局 北京市人力资源社会保障局 吴江人力资源 贵阳人力资源社会保障网 重庆市人力资源和社会保障网 漯河市人力资源和社会保障局