Required Software
1. 安装Java环境推荐的版本在链接中有介绍HadoopJavaVersions.
2. 安装ssh以使用hadoop脚本管理远程Hadoop daemons.
Download Hadoop
Installing Software
安装JDK,网上的教程比较多,不做详述
安装ssh,在Ubuntu Linux系统上通过如下指令安装:
$ sudo apt-get install ssh
$ sudo apt-get install rsync
对于mac操作系统,需要在偏好设置中开启远程登录服务。
Configuration
配置Hadoop环境变量
export HADOOP_HOME="/Users/majun/mysoftware/hadoop272"
export PATH="$PATH:/Users/majun/mysoftware/scala/bin:$HADOOP_HOME/bin"
export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/usr/local/hadoop/lib/native"
修改etc/hadoop/core-site.xml:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
etc/hadoop/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
Setup passphraseless ssh
使用如下命令来判断是否需要输入密码来ssh登陆:
ssh localhost
如果无法登陆在不输密码的情况下,可以执行下面的语句:
$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
Execution
序列化数据
$ bin/hdfs namenode -format
启动namenode和datanode daemon
$ sbin/start-dfs.sh
打开NameNode的web
NameNode - http://localhost:50070/
创建hdfs目录
$ bin/hdfs dfs -mkdir /user
$ bin/hdfs dfs -mkdir /user/<username>
将本地input拷进hdfs系统中
$ bin/hdfs dfs -put etc/hadoop input
运行官方提供的sample
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
检验输出文件,将hdfs文件拷到本地
$ bin/hdfs dfs -get output output
$ cat output/*