hadoop环境搭建

1. 下载Cygwin(略)
2. 安装Cygwin(略)
3. 安装ssh, 这里在安装Cygwin的时候,选择cur,再在左边框内输入"ssh"搜索出选项,然后点击框内的default改为instant,这样就会安装ssh.然后安装结束.
4. 免登陆ssh设置
*. $ ssh-keygen -t dsa #生成dsa密匙.[无需用户名密码]
*. cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 把密匙加到权限中,
就可以够登陆了
5. 设置hadoop环境变量
*. conf/hadoop-env.sh文件,至少需要将JAVA_HOME设置为Java安装根路径
尝试如下命令:
$ bin/hadoop
将会显示hadoop 脚本的使用文档。

现在你可以用以下三种支持的模式中的一种启动Hadoop集群:

单机模式
伪分布式模式
完全分布式模式
6. 单机模式配置
默认情况下,Hadoop被配置成以非分布式模式运行的一个独立Java进程。这对调试非常有帮助。

下面的实例将已解压的 conf 目录拷贝作为输入,查找并显示匹配给定正则表达式的条目。输出写入到指定的output目录。
$ mkdir input
$ cp conf/*.xml input
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'
$ cat output/*

7. 伪分布式配置
Hadoop可以在单节点上以所谓的伪分布式模式运行,此时每一个Hadoop守护进程都作为一个独立的Java进程运行
配置
使用如下的 conf/hadoop-site.xml:


fs.default.name
localhost:9000


mapred.job.tracker
localhost:9001


dfs.replication
1


8. 格式化分布式文件系统(hdfs)
在格式化前需要设置环境变量.
在Cygwin上配置Hadoop的Java_home,首先到了${HADOOP_HOME}的conf目录下,修改hadoop-env.sh文件。主要分为如下几步:

1. 找到JAVA_HOME,修改JAVA_HOME的路径指向你本机安装的Jdk路径。注意,这里的路径不能以window的路径出现,应该用unix的形式出现,例如c:\Program Files\Java\jdk1.6.0,应该写成/cygdrive/c/Program Files/Java/jdk1.6.0.而且,还有一点要注意的是,如果路径有空格,如Program Files间的空格,则应该将路径用双引号括起("/cygdrive/c/Program Files/Java/jdk1.6.0")。

2. 修改完hadoop-env.sh文件后,如果马上启动Hadoop,仍会报错,出现“/bin/java: No such file or directoryva/jdk1.6.0_10 ”的错误。经过上网查证,发现是dos环境与Unix的字符编码的问题,可以用dos2unix来实现 DOS <=> UNIX text file 转换。所以切换到conf目录下,对hadoop-env.sh进行Unix文本转化:dos2unix hadoop-env.sh.
然后再到${Hadoop-home}执行如下语句就会格式化成功了
$ bin/hadoop namenode -format

启动Hadoop守护进程:
$ bin/start-all.sh

Hadoop守护进程的日志写入到 ${HADOOP_LOG_DIR} 目录 (默认是 ${HADOOP_HOME}/logs).
浏览NameNode和JobTracker的网络接口,它们的地址默认为:

NameNode - http://localhost:50070/
JobTracker - http://localhost:50030/
将输入文件拷贝到分布式文件系统:
$ bin/hadoop fs -put conf input

运行发行版提供的示例程序:
$ bin/hadoop jar hadoop-*-examples.jar grep input output 'dfs[a-z.]+'

查看输出文件:

将输出文件从分布式文件系统拷贝到本地文件系统查看:
$ bin/hadoop fs -get output output
$ cat output/*

或者

在分布式文件系统上查看输出文件:
$ bin/hadoop fs -cat output/*

完成全部操作后,停止守护进程:
$ bin/stop-all.sh

9.完全分布式(略)

你可能感兴趣的:(Hadoop)