Hadoop单机模式安装
一、实验介绍
1.1 实验内容
- hadoop三种安装模式介绍
- hadoop单机模式安装
- 测试安装
1.2 实验知识点
- 下载解压/环境变量配置
- Linux/shell
- 测试WordCount程序
1.3 实验环境
- hadoop2.7.6
- Linux CentOS6终端
1.4 适合人群
本课程难度为一般,属于初级级别课程,适合具有linux基础的用户。
1.5 相关文件
- https://pan.baidu.com/s/1a_Pjl8uJ2d_-r1hbN05fWA
二、Hadoop启动模式
Hadoop集群有三种启动模式:
- 单机模式:默认情况下运行为一个单独机器上的独立Java进程,主要用于调试环境
- 伪分布模式:在单个机器上模拟成分布式多节点环境,每一个Hadoop守护进程都作为一个独立的Java进程运行
- 完全分布式模式:真实的生产环境,搭建在完全分布式的集群环境
三、用户及用户组
需要先添加用来运行Hadoop进程的用户组hadoop及用户hadoop。
3.1 添加用户及用户组
创建用户hadoop
# adduser hadoop
# passwd
并按照提示输入hadoop用户的密码,例如密码设定为 hadoop。注意输入密码的时候是不显示的。
将hadoop用户添加进sudo用户组
# usermod -G sudo hadoop
四、安装及配置依赖的软件包
4.1 安装jdk
# yum install java-1.8.0-openjdk* -y
# echo $JAVA_HOME
$ java -version
4.2 配置ssh免密码登录
切换到 hadoop 用户,hadoop 用户时密码为 hadoop。后续步骤都将在 hadoop 用户的环境中执行。
$ su hadoop # 密码为hadoop
配置ssh环境免密码登录。 在/home/hadoop目录下执行
$cd ~
$ ssh-keygen -t rsa #一路回车
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
验证登录本机是否还需要密码,第一次需要密码以后不需要密码就可以登录。
$ sudo vi /etc/ssh/sshd_config
ListenAddress 127.0.0.1 #添加ssh这行监听本机
$ ssh localhost #仅需输入一次hadoop密码,以后不需要输入
五、下载并安装Hadoop
在hadoop用户登录的环境中进行下列操作:
5.1 下载Hadoop 2.7.6
$ wget http://labfile.oss.aliyuncs.com/hadoop-2.7.6.tar.gz
5.2 解压并安装
$ tar -zxvf hadoop-2.7.6.tar.gz
$ rm -r /home/hadoop/hdfs #删除原本目录中的hdfs文件夹
$ mv hadoop-2.7.6 /home/hadoop/hdfs
$ chmod 777 /home/hadoop/hdfs
5.3 配置Hadoop
$ vim /home/hadoop/.bashrc
在/home/hadoop/.bashrc文件末尾添加下列内容:
#HADOOP START
export HADOOP_HOME=/home/hadoop/hdfs
#export JAVA_HOME=/usr/lib/jvm/java-8-oracle
#HADOOP END
在/home/hadoop/.bashrc文件中PATH路径更改HADOOP相关内容:
export PATH=/usr/local/sbin:/usr/local/bin/:/usr/bin:/usr/sbin:/sbin:/bin:/home/hadoop/hdfs/bin:/home/hadoop/hdfs/sbin
环境中的hive以及hbase等环境本次实验不会用到可以删去,保存退出后,激活新加的环境变量。
$ source ~/.bashrc
至此,Hadoop单机模式安装完成,可以通过下述步骤的测试来验证安装是否成功。
六、测试验证
创建输入的数据,暂时采用/etc/protocols文件作为测试
$ cd /home/hadoop/hdfs
$ mkdir input
$ cp /etc/protocols ./input
执行Hadoop WordCount应用(词频统计)
$ hadoop jar /home/hadoop/hdfs/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.6-sources.jar wordcount input output
若以上语句执行错误可以尝试应用以下语句执行
$ hadoop jar /home/hadoop/hdfs/share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.7.6-sources.jar org.apache.hadoop.examples.WordCount input output
查看生成的单词统计数据
$ cat output/*
注意:如果要继续下一节“伪分布式部署”实验,请勿停止本实验环境,直接点击文档上方的“下一个实验”按钮进入,因为伪分布式部署模式需要在单机模式基础上进行配置。
七、小结
本实验中介绍了Hadoop单机模式的安装方法,并运行wordcount进行基本测试。
八、课后作业
请使用hadoop的wordcount对日志文件/var/log/dpkg.log进行词频统计。
九、参考文档
本实验参考下列文档内容制作:
- http://hadoop.apache.org/docs/r2.7.6/hadoop-project-dist/hadoop-common/SingleCluster.html
- http://www.cnblogs.com/kinglau/p/3794433.html
实验楼练习平台:http://www.shiyanlou.com/register?inviter=NTY0MzE5NjA1NjM3