[本文仅供备忘,看客可自行忽略]
虚拟机准备
由于没有测试机,只能使用虚拟机。
1、下载虚拟机工具并安装,老胡使用VMware Workstation,版本为10.0.2;
2、下载操作系统,老胡选择的是CentOS,版本为6.5,下载地址为:http://mirrors.usc.edu/pub/linux/distributions/centos/6.5/isos/ ,根据自己的计算机情况选择下载,老胡选择64位;
创建虚拟机
以下步骤:
1、点击新建
2、选择类型
3、选择操作系统
4、配置Linux信息
5、配置虚拟机位置和名称
6、磁盘大小设置
7、点完成
8、在VM选择创建的虚拟机,点击开启,然后等待安装完成。
JDK安装
安装玩操作系统,就需要安装JDK
1、去oracle下载jdk,当前最高版本为8u5,老胡选择7u60。
2、点击accept,下载jdk
老胡是64位机,故可选择第三和第四个下载中任一下载,32位机下载前两个任一个。老胡下载的第四个tar.gz。
3、将jdk文件鼠标拖入虚拟机中。
4、打开命令行终端(右键菜单中Open in Terminal),依次执行
$ su
注:切换至root,需要输入root密码,默认root密码与第一次创建的用户密码相同
# mkdir /usr/java
注:创建jdk目录,随自己的爱好创建要放置的目录,下一步将用到
# tar -zxvf /home/hoocoln/Desktop/jdk-7u60-linux-x64.tar.gz -C /usr/java/
注:红色部分替换为jdk放置路径,自行修改,C为大写。
至此,安装完成,
5、配置jdk环境变量
方法一:
# vi /etc/profile
点击键盘【i】键进入编辑模式,按方向键【↓】键至文件末尾,输入以下内容
export JAVA_HOME=/usr/java/jdk1.7.0_60
export JRE_HOME=/usr/java/jdk1.7.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
注:其中红色修改为自己的jdk路径
按【ESC】退出编辑模式,输入 :wq 保存退出。
#chown root:root -R /usr/java/jdk1.7.0_60/
#chmod 755 -R /usr/java/jdk1.7.0_60/
#source /etc/profile
注:让配置文件立即生效
方法二:
$gedit ~/.bashrc
文件末尾输入以下内容:
export JAVA_HOME=/usr/java/jdk1.7.0_60
export JRE_HOME=/usr/java/jdk1.7.0_60/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$PATH
$ source ~/.bashrc
测试:
# java -version
注:测试是否成功。
Hadoop安装
1、下载hadoop
下载地址 http://mirror.esocc.com/apache/hadoop/common/
老胡选择的是1.2.1
选择bin文件下载
2、将两个文件拖到虚拟机,建立安装文件放置路径(【mkdir -p 文件夹路径】),如果需要复制移动文件就使用
【mv 移动前文件 移动后文件路径 】命令移动。
$ mkdir -p ~/setup/hadoop
$ mv hadoop-1.2.1.tar.gz ~/setup/hadoop/
3、创建文件路径,解压缩文件。
$ mkdir -p ~/usr/hadoop
$ cd ~/usr/hadoop
$ tar -zxvf ~/setup/hadoop/hadoop-1.2.1.tar.gz
等解压完,hadoop完成。
配置单机版伪分布式hadoop单机版伪分布式hadoop是啥意思?就是一个机器同事运行NameNode,SecondaryNameNode,DataNode,JobTracker,TaskTracher 5个任务。配置文件均在~/usr/hadoop/hadoop-1.2.1/conf/下面,以下设置不再包含文件前缀路径。
1、修改core-site.xml,在configuration标签中添加如下内容(注:后几条修改均类似,只贴添加的内容):
修改完,保存退出。
最终图如下:
2、修改mapred-site.xml,添加内容如下:
3、修改hdfs-site.xml,添加内容如下:
‘
4、在hadoop.env.sh 文件中添加如下语句即完成hadoop配置:
export JAVA_HOME=/usr/java/jdk1.7.0_60
配置SSH免密码登陆
1、使用当前用户,输入以下命令生成ssh密钥对
$ ssh-keygen -t rsa -P ''
注:ssh与-keygen连在一起,最后有两个【’】符号。
询问文件路径选择时,直接回车就好。
2、追加到授权文件
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3、修改权限
$ chmod 600 ~/.ssh/authorrized_keys
4、切换到root(【su】),配置ssh。
$ su
#vi /etc/ssh/sshd_config
注释掉以下三行
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存退出,重启sshd服务。
# service sshd restart
5、最后
# su -hoocoln
注:切换回自己的用户
$ ssh locahost
输入密码即可
启动hadoop
命令如下:
$ cd ~/usr/hadoop/hadoop-1.2.1
$ ./bin/hadoop namenode -format
注:格式化NameNode
$ ./bin/start-all.sh
注:启动所有
$jps
注:查看开启情况(5个全在即OK)
测试hadoop
$ cd ~/usr/hadoop/hadoop-1.2.1
$ ./bin/hadoop fs -put README.txt readme.txt
注:复制文件到分布式文件系统HDFS,重命名为readme.txt
$ ./bin/hadoop jar hadoop-examples-1.2.1.jar wordcount readme.txt output
注:运行hadoop 的examples 的wordcount,测试hadoop 的执行。这条语句用Hadoop 自带的examples 里的wordcount程序,对readme.txt进行处理,处理后的结果放到HDFS的output目录。
$ ./bin/hadoop fs -cat output/part-r-00000
注:这条命令查看处理结果,part-r-00000文件存放wordcount的运行结果,cat命令将文件内容输出到屏幕,显示
字符的统计结果。这是一个简单的字符统计,wordcount只是做了简单的处理,所以会看到单词后面有标点符号。
如果需要修改主机名
# vi /etc/sysconfig/network
修改主机名(HOSTNAME)即可
修改host
# vi /etc/hosts
添加host映射