与安装Apache Hadoop2.6单机版类似,搭建虚拟机环境就不介绍了,直接介绍下载和安装CDH Hadoop2.6单机版,此处我安装的是hadoop-2.6.0-cdh5.10.0版本。
CDH Hadoop下载链接为:http://archive.cloudera.com/cdh5/cdh/5/。
为什么安装Cloudera公司发布的hadoop版本?因为该版本被大多数公司用于实际生产,并且不用考虑其他软件(如Hbase,Flume,Hive等)的版本兼容问题。
下面直接从安装java开始,具体的虚拟机相关设置、WinSCP安装、hadoop用户的创建可以参考链接地址的1和2两部分内容:http://www.jianshu.com/p/d5b0fb2f1d6d。
1 安装、配置oracle-java
1.1 安装oracle-java
Hadoop官方推荐安装Oracle公司的jdk,下载链接为:http://www.oracle.com/technetwork/java/javase/downloads/index.html。
注意:上述链接的jdk会更新,我打开的时候显示的是jdk 8u144。如果你打开的时候,发现版本不是jdk 8u144,不用担心,直接下载最新版的jdk即可,后续安装步骤不变。
点击Accept License Agreement之后,下载jdk-8u144-linux-x64.tar.gz。
使用WinSCP将下载好的jdk-8u144-linux-x64.tar.gz拖拽到虚拟机上。
打开虚拟机对应的文件位置,快捷键Ctrl+Alt+T,打开终端,输入解压命令:
sudo tar zxvf jdk-8u144-linux-x64.tar.gz
可使用tab键进行快速提示补全,比如上述解压命令,输到jdk的时候,按tab键,就会自动变成jdk-8u144-linux-x64.tar.gz。
解压之后,更改jdk1.8.0_144文件夹权限(hadoop为用户名):
sudo chown -R hadoop jdk1.8.0_144
将jdk1.8.0_144文件夹移动到/usr/local目录下(此步骤的目录自己可以随意指定,符合自己的习惯即可):
sudo mv jdk1.8.0_144/ /usr/local
切换到/usr/local目录下,确实可以发现已存在了jdk1.8.0_144文件夹。
1.2 配置java环境
1.编辑profile
sudo vim /etc/profile
根据提示,输入密码即可。
2.在弹出的窗口中,按字母键i,即可进入插入编辑状态。
输入以下内容:
export JAVA_HOME=/usr/local/jdk1.8.0_144
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
3.输入完成后,按esc键,然后输入:wq退出编辑状态。
4.使配置的环境生效:
source /etc/profile
输入java -version
,即可看见java的版本了。
注意:如果profile无法保存,可使用root权限。输入sudo su,然后输入登录密码,则进入root权限,然后再按照1-3重新操作,完成后,输入exit,退出root权限即可。
2 安装CDH Hadoop2.6单机版
1.使用WinSCP上传CDH Hadoop
直接使用WinSCP将下载好的hadoop-2.6.0-cdh5.10.0.tar.gz拖拽到虚拟机的home目录。
2.打开虚拟机的home主文件目录,快捷键Ctrl+Alt+T,打开终端,解压hadoop-2.6.0-cdh5.10.0.tar.gz。
输入
sudo tar zxvf hadoop-2.6.0-cdh5.10.0.tar.gz
然后输入登录密码,再按回车键即可。
3.解压完成,修改文件权限并将hadoop-2.6.0-cdh5.10.0文件夹移动到/usr/local目录下。
sudo chown -R hadoop hadoop-2.6.0-cdh5.10.0/
sudo mv hadoop-2.6.0-cdh5.10.0 /usr/local
4.配置HADOOP_HOME。
sudo vim /etc/profile
插入以下内容:
export HADOOP_HOME=/usr/local/hadoop-2.6.0-cdh5.10.0
export PATH=$HADOOP_HOME/bin:$PATH
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
5.保存后退出,使profile配置生效。
输入source /etc/profile,再切换到/usr/local/hadoop-2.6.0-cdh5.10.0目录下。输入./bin/hadoop version,显示输出的hadoop版本为Hadoop 2.6.0-cdh5.10.0。
source /etc/profile
cd /usr/local/hadoop-2.6.0-cdh5.10.0/
./bin/hadoop version
3 设置ssh无密码登录
由于安装单机,可以不配置ssh无密码登录,但是安装伪分布式和完全分布式都要使用ssh无密码登录,所以在此处安装ssh,演示一下。
集群、单节点模式都需要用到SSH登陆(类似于远程登陆,你可以登录某台Linux主机,并且在上面运行命令),Ubuntu默认已安装了SSH client,此外还需要安装SSH server。
1.安装openssh-server
sudo apt-get install openssh-server
2.输入ssh localhost
,此时会有如下提示(SSH首次登陆提示),输入yes。然后按提示输入密码,这样就登陆到本机了。退出刚才的ssh,就回到了原先的窗口。
3.切换到ssh目录下,生成秘钥,加入到授权。
cd ~/.ssh/
ssh-keygen -t rsa
cat ./id_rsa.pub >> ./authorized_keys
“~”代表的是用户所在目录,比如我当前的登录用户为hadoop,则“~”指的就是/home/hadoop。
输入ssh-keygen -t rsa
后,直接忽略提示,一直按Enter键即可。
然后直接输入ssh localhost,就可使用无密码登录到本机了。
4 运行单机hadoop实例
1.切换到/usr/local/hadoop-2.6.0-cdh5.10.0
2.生成input文件夹,mkdir ./input
3.将/usr/local/hadoop-2.6.0-cdh5.10.0/etc/hadoop/*.xml的配置文件复制到刚创建的input文件夹下。
4.运行./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples--2.6.0-cdh5.10.0.jar grep ./input ./output 'dfs[a-z.]+'
cd /usr/local/hadoop-2.6.0-cdh5.10.0/
mkdir ./input
cp ./etc/hadoop/*.xml ./input
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0-cdh5.10.0.jar grep ./input ./output 'dfs[a-z.]+'
5.打印输出结果cat ./output/*
,输出结果为1 dfsadmin。
6.运行结束后,删除创建的input、output文件。
sudo rm -rf ./input/
sudo rm -rf ./output/
如果您发现文中有不清楚或者有问题的地方,请在下方评论区留言,我会根据您的评论,更新文中相关内容,谢谢!