超详细Hadoop安装教程(单机版、伪分布式)
1.Hadoop分布式系统基础架构介绍
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
1.1.Hadoop核心
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,而MapReduce则为海量的数据提供了计算 。
2.Hadoop安装教程
2.1.环境准备
此次我们选择的是通过在VMware虚拟机上面进行Hadoop的安装和配置,需要准备的东西如下:
系统环境:Ubtun20.04
JAVA jdk:jdk-8u11-linux-x64.tar
Hadoop:hadoop-2.7.1.tar
上面所需的环境准备,我已经打包整理好全部放在了网盘,有需要的同学可以自行下载
下载链接: 环境准备.提取码:phmr
2.2.配置用户ssh 免密登录
集群、单节点模式都需要用到 SSH 登陆(类似于远程登陆,你可以登录某台 Linux 主机,并且在上面运行命令)
Ubuntu 默认已安装了 SSH client,我们还需要安装 SSH server,才可以实现ssh免密登录利用 ssh-keygen 生成密钥,并将密钥加入到授权中,让用户实现免密登录
//Linux命令---安装SSH server
sudo apt-get install openssh-server
安装完成后,可以通过下面的命令来进行SSH登录
//Linux命令---SSH登录
ssh localhost
输入后有如下提示,我们输入yes,在输入用户的密码,就可以实现登录了
但这样登陆是需要每次输入密码的,我们需要配置成SSH无密码登陆比较方便,所以我们需要执行以下代码,来实现SSH免密登录:
//Linux命令---实现SSH免密登录
exit # 退出前面的登录
cd ~/.ssh/ # 若没有该目录,请先执行一次ssh localhost
ssh-keygen -t rsa # 回车后,一直回车直到出现图形化界面
cat ./id_rsa.pub >>./authorized_keys # 加入授权
出现上面的图形化界面则表示我们的SSH已经配置成功了
做到这一步的小伙伴恭喜你,已经距离终点又近了一步!
2.3.JAVA环境的安装和配置
在配置JAVA环境之前
首先我们通过FTP工具将下载后的软件传输到Linux虚拟机之中
FTP传输文件教程可以参考:链接
上传完成之后,执行以下命令
cd /usr/lib
sudo mkdir jvm #创建/usr/lib/jvm目录用来存放JDK文件
cd ~ #进入hadoop用户的主目录
cd Downloads #注意区分大小写字母,刚才已经通过FTP软件把JDK安装包jdk-8u162-linux-x64.tar.gz上传到该目录下
sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C/usr/lib/jvm #把JDK文件解压到/usr/lib/jvm目录下
通过cd命令进入到解压目录,通过ls命令进行查看解压结果是否成功
解压完成以后,再对jdk进行环境变量配置,方便以后使用调用jdk
cd ~ #回到根目录
vim ~/.bashrc #编辑环境变量配置文件
在环境变量中添加如下配置:
exportJAVA_HOME=/usr/lib/jvm/jdk1.8.0_162exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
!!!注意:编辑保存后,一定要通过source ~/.bashrc命令使配置生效
配置生效后,我们可以通过
java -version
来验证JAVA环境变量配置是否成功;成功则返回JAVA版本号,失败则报异常!
链接: link.
2.4.Hadoop安装
这里还是老规矩,配置Hadoop我们也需要通过前面的FTP工具把下载好的haodop传输到我们的Linux虚拟机中,这里我们上传选择的是根/Downolads目录下,具体上传操作请参照2.3的JDK配置
上传工作完成后,
操作设想:首先我们先对Hadoop安装包进行解压,解压目录选择/usr/local,解压完毕后,进入前面解压到目录下,将文件更名为Hadoop,并将目录的所有权限赋予给用户:
具体执行命令如下:
sudo tar -zxf ~/下载/hadoop-2.6.0.tar.gz -C/usr/local # 解压Hadoop到/usr/local中
cd /usr/local/ #进入刚刚解压的目录
sudo mv ./hadoop-2.6.0/./hadoop # 将文件夹名改为hadoop
sudo chown -R xiaoming ./hadoop # 将hadoop目录的权限赋予给用户xiangming
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop #进入hadoop安装目录
./bin/hadoop version #用于查看hadoop的版本号
操作截图如下:
如果出现Hadoop的版本号,则我们的安装工作已经完成,下面将进行配置工作
2.5.单机版Hadoop配置
Hadoop 默认模式为非分布式模式(单机版),不需要修改任何配置文件即可以运行。
为了让各位同学能进一步了解hadoop,这里我们可以通过运行一个实例来直观感受一下Hadoop的魅力
cd /usr/local/hadoop #进入到haodop的目录下
mkdir ./input #创建一个文件,作为后面的输入文件
cp ./etc/hadoop/.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar grep ./input ./output 'dfs[a-z.]+' #正则表达式
cat ./output/* # 查看运行结果
以上的功能是通过正则表达式来实现hadoop的配置文件词频统计:
如果你查看的结果和上面的截图一样,那么恭喜你,你的hadoop没有任何毛病!
2.6.伪分布式Hadoop配置
在伪分布式中,我们主要是修改Hadoop的两个配置文件:
要修改的配置文件名core-site.xmlhdfs-site.xml
以上两个文件的位置都处于Hadoop的安装目录/etc/hadoop/目录下
我们首先执行
cd /usr/local/hadoop #进入到hadoop目录下
我们通过执行以下两个命令来实现对配置文件进行修改:
命令1:vim ./etc/hadoop/core-site.xml
进入目录后,在<configuration>-</configuration>标签中加入以下配置
<property><name>hadoop.tmp.dir</name><value>file:/usr/local/hadoop/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.defaultFS</name><value>hdfs://localhost:9000</value></property>
命令2:vim ./etc/hadoop/hdfs-site.xml
同理在两个标记中加入如下配置
<property><name>dfs.replication</name><value>1</value></property><property><name>dfs.namenode.name.dir</name><value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property><name>dfs.datanode.data.dir</name><value>file:/usr/local/hadoop/tmp/dfs/data</value></property>
部分配置截图如下:
完成以上两个配置文件配置后,我们的配置工作也就完成了
2.7Hadoop初始化
初始化工作比较简单,只需要执行以下命令即可:
cd /usr/local/hadoop #进入hadoop目录
./bin/hdfs namenode -format #初始化hadoop
成功的话,会看到 “successfully formatted” 的提示,具体返回信息类似如下:
初始工作完成之后,我们就可以开启Hadoop了,具体命令如下:
cd /usr/local/hadoop
./sbin/start-dfs.sh #start-dfs.sh是个完整的可执行文件,中间没有空格
启动完成后,我们可以通过输入jps命令来进行验证Hadoop伪分布式是否配置成功:
如果第一次使用jps命令,可能会提示报错,我们只需要按照他的提示安装即可:sudo apt install jps***
若成功启动则会列出如下进程: “NameNode”、“DataNode” 和 “SecondaryNameNode”(如果 SecondaryNameNode 没有启动,请运行 sbin/stop-dfs.sh 关闭进程,然后再次尝试启动尝试)。如果没有 NameNode 或 DataNode ,那就是配置不成功,请仔细检查之前步骤,或通过查看启动日志排查原因。
到此,我们Hadoop安装和配置就到了尾声,Hadoop第一次安装配置的过程中可能会遇到各种困难,但是各位同学一定要坚持下去!!!
勇敢牛牛,不怕困难!
版权归原作者 ctrl+c程序猿 所有, 如有侵权,请联系我们删除。