首先须要配置JDK,你们能够从网上找到许多教程。 java
我的感受是,在Linux下配置环境,最重要的是掌握shell的一些命令及其格式,否则可能遇到各类命令格式上的错误,耽误大量的时间。 node
贴出从《从零开始学习hadoop》一书中学习到的的基本配置方法,,指令用""括出: linux
1 下载的 jdk 1.7 ,存放到 “ /home/sr/setup/java-jdk-1.8/”目录。下载的文件是 ” jdk-8u65-linux-x64.tar.gz”,java jdk 的版本经常有更新,次版本号有可能 更高一点。 shell
2 "sudo su -" ps:这里我用的是“sudo -i”
切换到 root 用户,参考 ” man sudo”。这个命令会切换到 root 用户,也就是最高权限的用户。由于后面要执行的
jdk 安装操做是在/usr/local 目录下进行的,用 root 用户更方便。 apache
3 "cd /usr/local/lib" 安全
4 "tar -zxvf /home/sr/setup/java-jdk-1.8/jdk-8u65-linux-x64.tar.gz" ps: sr是做者的用户名,请改为本身的!
tar 是 linux 下的打包和解压命令行工具,具体细节能够参考 ” man tar” 。这个命令将 jdk-8u65-linux-x64.tar.gz 压缩包解压到当前目录下。解压缩完毕以后,执行"ls",能看到当前目录下有一个新目录叫"jdk 1.8.0_65" ssh
5 配置环境变量:4.5.1 “gedit /etc/profile”
gedit 是 linux 下相似 Windoes 的记事本的编辑器,文件/etc/profile 是 linux 下的配置文件。本命令会打开这个
配置文件,以备编辑。 编辑器
6 添加配置
在/etc/profile 文件末尾加上以下的三行代码: ps:注意更改本身的JDK版本
export JAVA_HOME=/usr/local/lib/jdk1.8.0_65
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin 分布式
7 "source /etc/profile"使配置当即生效 工具
8 "java -version"
这条命令检查 jdk 安装是否成功。
其次,下载hadoop2.7.1放到” /home/sr/setup/hadoop”目录
hadoop stable版下载连接:
http://mirror.esocc.com/apache/hadoop/common/stable/
1 "su sr"
su 命令,切换用户。安装 jdk 用的是 root 用户。如今切回 sr 用户。
2 "mkdir -p ~/usr/hadoop"建立 Hadoop 的安装目录
3 "cd ~/usr/hadoop"
4 "tar -xvzf ~/setup/hadoop/hadoop-2.7.1.tar.gz"解压缩完毕后,就有目录~/usr/hadoop/hadoop-2.7.1,这是 hadoop 的主目录
5 配置伪分布式 hadoop:
配置文件在~/usr/hadoop/hadoop-2.7.1/etc/hadoop目录下
将 core-site.xml 文件内容修改为以下: ps:注意是在<configuration> </configuration>中间添加
<configuration>
<property><name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
将 mapred-site.xml 文件内容修改以下:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
将 hdfs-site.xml 文件内容修改以下:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
在 hadoop-env.sh 文件里添加以下一条语句:
export JAVA_HOME=/usr/local/lib/jdk 1.8.0_65
6 "sudo apt-get install ssh rsync"这条命令安装 ssh 和 rsync。 ssh 是一个很著名的安全外壳协议 Secure Shell Protocol。 rsync 是文件同步命令行工具。
7 "ssh-keygen -t dsa -f ~/.ssh/id_dsa"执行这条命令生成 ssh 的公钥/私钥,执行过程当中,会一些提示让输入字符,直接一路回车就能够。
8 "cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys"ssh 进行远程登陆的时候须要输入密码,若是用公钥/私钥方式,就不须要输入密码了。上述方式就是设置公钥/私钥登陆。
9 “ssh localhost”第一次执行本命令,会出现一个提示,输入 ” yes”而后回车便可。
10 "cd ~/usr/hadoop/hadoop-2.7.1"
11 "./bin/hadoop namenode -format"格式化 NameNode。
12 "./sbin/start-all.sh"启动全部节点,包括 NameNode, SecondaryNameNode, JobTracker, TaskTracker, DataNode。
13 “jps”检查各进程是否运行,这时,应该看到有 6 个 java 虚拟机的进程,分别是 Jps, NameNode, SecondaryNameNode,DataNode, JobTracker, TaskTracker,看到 6 个是对的,代表启动成功。若是提示 ” jps”没安装或者找不到,执行一次 ” source /etc/profile”便可。
最后,一块儿来运行wordcount:
1 "cd ~/usr/hadoop/hadoop-2.7.1"
2 “bin/hadoop fs -mkdir /input”HDFS下建立input文件夹
3 “bin/hadoop fs -put LICENSE.txt /input”将LICENSE.txt放入文件夹
4“bin/hadoop fs -ls /input”显示input中内容
5“bin/hadoop fs -cat /input/LICENSE.txt”查看文件内容
6“bin/hadoop jar /home/sr/usr/hadoop/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output”运行并输出 PS:请注意绝对路径!
hadoop之路已开启,努力~