关于hadoop及相关模块的安装,自己下载模块安装的话较为麻烦,有配置、版本对应的些许问题,使用cloudera集成好的平台也不错,但如果跑的任务多的话,机器配置要好一点,模糊的记得是最低需要8G内存?下面先记录下单机模式的安装。
hadoop集群有三种启动模式:
- 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
- 伪分布模式:再单个机器上模拟成分布式环境,每一个hadoop守护进程都作为一个独立的java进程运行
- 完全分布式模式:真实的环境,一般公司用到。
搭建步骤:
1、添加用户及用户组(提示输入密码,自己输入)
sudo adduser hadoop(自己输入自己想用的,在这使用hadoop)
将该用户添加进sudo用户组
sudo usermod -G sudo hadoop
2、安装jdk
java -version
echo $JAVA_HOME
首先可以使用上面两句先检查自己的ubuntu有没有安装jdk,没有的话安装一下。注意自己linux的版本,可以使用uname -a来检查操作系统的版本。JDK下载地址:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
下载完毕后,在/usr(可自选自己习惯的放的目录)目录下创建java文件夹,将压缩包解压至此处。
sudo mkdir /usr/java
tar -zxvf jdk-8u171-linux-x64.tar.gz -C /usr/java/
解压完毕后,配置环境变量
vim ~/.bashrc
#在文件底部添加以下
export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
完成后激活更改的环境变量:
source ~/.bashrc
之后便可以使用java -version 查看java是否安装成功。
3、安装ssh,并设置免密登录
因为Hadoop需要使用ssh进行通信,所以我们需要在我们的操作系统上安装ssh。在安装之前,我们需要查看系统是否已经安装并且启动了ssh。
#查看ssh安装包情况
dpkg -l | grep ssh
#查看是否启动ssh服务
ps -e | grep ssh
如果没有ssh服务,则可以使用下一句来安装ssh。
$ sudo apt-get install openssh-server
安装完成,开启服务。
$ sudo /etc/init.d/ssh start
ssh作为一个安全通信协议,自然就需要通信的时候输入密码,所以我们将设置免密码登录。
在/home/hadoop目录下执行
#生成秘钥
ssh-keygen -t rsa #一直按回车就好
#导入authorized_keys
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
chmod 600 .ssh/authorized_keys
验证登录本机是否还需要密码,第一次需要密码以后不需要密码就可以登录。$ ssh localhost #只需输入一次hadoop用户密码,之后不需要输入
至此,准备工作基本完成了。
4、下载安装Hadoop
下载地址:http://hadoop.apache.org/releases.html
https://mirrors.cnnic.cn/apache/hadoop/common/
可以找相应的版本进行下载,下载速度是有点慢,也可以使用下面方法(下载目录是当前目录,下载完毕后自行查看)
$ wget http://labfile.oss.aliyuncs.com/hadoop-2.6.0.tar.gz
解压安装:(路径为hadoop用户目录的hadoop-2.6.0目录下)
$ tar zxvf hadoop-2.6.0.tar.gz
$ mv hadoop-2.6.0 /home/hadoop/hadoop-2.6.0
$ chmod 777 /home/hadoop/hadoop-2.6.0
配置Hadoop
$ vi /home/hadoop/.bashrc
在/home/hadoop/.bashrc文件末尾添加以下内容:
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0
export JAVA_HOME=/usr/java/jdk1.8.0_171
export PATH=/usr/local/sbin:/usr/local/bin/:/usr/bin:/usr/sbin:/sbin:/bin:/home/hadoop/hadoop-2.6.0/bin:/home/hadoop/hadoop-2.6.0/sbin
如果改了相应java和hadoop的安装文件目录,对应的路径更改就好。
完成添加后,激活新加的环境变量;
source ~/.bashrc
至此,单机模式的安装就完成了,验证单机模式安装成功,使用
hadoop version
显示hadoop版本后,说明已经安装配置完成。5、下面用单词统计来验证一下。
先创建一个空白文档,在里面随意输入一些词语,之后再/home/hadoop/hadoop-2.6.0目录下创建一个提供数据的文档,进行mapreduce是map方法在此处读取要统计单词的文档,创建好之后将数据文档复制到此处。命令行如下:
cd /home/hadoop/hadoop-2.6.0
mkdir hgg #我创建的文件夹
cp /home/hcx/Desktop/test ./hgg #test测试文档
执行hadoop wordcount应用(词频统计)
$ hadoop jar /home/hadoop/hadoop-2.6.0/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.0-sources.jar org.apache.hadoop.examples.WordCount hgg hggoutput
查看生成的结果,在上述命令行中指定的hggoutput文件夹中,可以使用
cat /hggoutput/*
查看结果。统计词频成功。