1.安装java环境。
2.配置hadoop 的java环境。
即修改:conf/hadoop-env.sh
添加行:export JAVA_HOME=/usr/lib/jvm/java-6-sun-1.6.0.26 #java虚机的安装目录
export PATH=$PATH:/var/www/YOKA/hadoop_thrift_mongodb/hadoop-0.20.2/bin #hadoop 安装目录
3.建立单机模式,以测试环境是否良好。
如下:$mkdir input
$cp conf/*.xml input
$bin/hadoop jar hadoop-0.20.2-examples.jar grep input output 'dfs[a-z.]' #业务需求:找出所有符合正则表达式的行。 grep 不是linux的grep命令,它只是前面的.jar包中的,类的路径名。
$cat output/*
显示结果:
dfsadmin
4.ssh无密码验证登陆localhost
保证Linux系统的ssh服务已经启动,并保证能够通过无密码验证登陆本机Linux系统。如果不能保证,可以按照如下的步骤去做:
1)启动命令行窗口,执行命令行:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
2)ssh登陆localhost,执行命令行:
$ ssh localhost
5.建立 “伪分布式模式” ,即多进程处理。
如下:
$cp -r conf conf_bak
$配置conf里的core-site.xml ,hdfs-site.xml, mapred-site.xml 这三个文件。网上资料很多略了。
$sudo bin/hadoop namenode -format #这里注意:一定要用sudo ,否则,namenode不能正启动的。
$bin/start-all.sh #启动5大服务。
$jps #查看5大服务是否启动 结果如下:
4901 DataNode
5115 JobTracker
5271 TaskTracker
4743 NameNode
5057 SecondaryNameNode
6952 Jps
6.把要处理的数据传到hdfs 上去。即把我们的input目录传到hdfs上。如下:
$bin/hadoop fs -put conf input #注意:这步不做,会出错的。
7.启动分布式处理。
$bin/hadoop jar hadoop-0.20.2-examples.jar grep input output1 'dfs[a-z.]+'
未发现ERROR.
8.取出分布处理结果。
$bin/hadoop fs -get output1 output
9.停止hadoop
$bin/stop-all.sh
10.关于hdfs 操作命令收集
bin/hadoop fs -ls 查看列表
bin/hadoop fs -rmr input 删除input
bin/hadoop fs -put input 上传input文件
bin/hadoop fs -get output 下载 output文件
bin/hadoop dfsadmin -safemode leave #强制hadoop 退出 安全模式。
enter - 进入安全模式
leave - 强制NameNode离开安全模式
get - 返回安全模式是否开启的信息
wait - 等待,一直到安全模式结束。
完全分布式模式。。。。。。待续。。。