自说
Hadoop的运行环境有两种,分别是windows和linux系统,Linux更适合作为服务器操作系统,也更加方便使用。
学习路径
BIG DATA 神奇的大数据 - hadoop简章
准备工作
在部署之前需要用到几个工具以及包,需要提前下载准备
1:linux系统(这里用的是cenos7版本的),具体安装及下载方式可以看之前的文章,非常详细哦
【超详细】Linux系统与管理 - (一)安装Linux系统
2:xshell工具 主要用于连接虚拟机方便操作,具体下载安装方式可以看以下文章
Xshell5(远程终端工具)工具的安装使用 【免费】
3:winscp工具 主要用于本机与虚拟机之间传输数据用,如果直接拖至虚拟机会导致文件损坏
WinSCP的安装与使用
4:Hadoop-3.2.2的下载
https://mirrors.cnnic.cn/apache/hadoop/common/hadoop-3.2.2/
5:JDK1.8版本的下载,前面说到过,因为hadoop是使用java语言实现开源的软件框架,所以需要用到
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
环境搭建
首先使用xshell工具连接虚拟机,再使用WinSCP登录
这里我创建了一个名为hadoop_info文件夹在/usr/local目录下,创建文件夹的命令为 mkdir 文件名
将下载好的jdk拖至创建的文件夹下
这时候我们查看并安装,等待安装进度加载显示安装完成即可,这里我已经安装过了,命令是rpm -ivh 包名
安装完成后我们在前目录下找不到jdk是因为在安装时在顶级目录自动生成了一个java目录,我们安装的内容在/usr/java目录中
我们再将hadoop包以同样的方式拖至到创建的目录中去并查看
需要解压一下,使用tar -zxvf 包名命令解压,解压完成后我们再次查看便会看到相应目录
上面都完成之后,这里我们需要配置hadoop文件
我们可以在etc/hadoop中查看hadoop的配置文件
修改hadoop-env.sh文件
其中主要记录hadoop的主要环境变量
打开hadoop-env.sh文件并在末端添加java环境变量,可食用shift+g快捷键到文件尾部
export JAVA_HOME=/usr/java/jdk1.8.0_301-amd64
export HADOOP_HOME=/usr/local/hadoop_info/hadoop-3.2.2/
修改core-site.xml
其中主要是Hadoop的核心配置
修改之前在图中目录中创建tmp目录用于hadoop存放生成的文件
在core-site.xml 文件中添加以下内容
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop_info/hadoop-3.2.2/tmp</value>
</property>
</configuration>
修改hdfs-site.xml文件
hdfs的进程配置
在hdfs-site.xml文件中添加以下内容,并在tmp目录中创建namenode目录用于存放
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--指定hdfs中namenode的存储位置-->
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop_info/hadoop-3.2.2/tmp/namenode</value>
</property>
<property>
<!--指定hdfs中datanode的存储位置-->
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop_info/hadoop-3.2.2/tmp/datanode</value>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
初始化Hadoop
hdfs namenode –format
修改mapred-site.xml文件
mapreduce的配置
如果没有mapred-site.xml文件,默认文件名为mapred-queues.xml.template,我们需要复制一份将名称改为mapred-site.xml即可
cp mapred-queues.xml.template mapred-site.xml
在mapred-site.xml文件中添加以下内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
修改yarn-site.xml文件
YARN进程配置
在yarn-site.xml文件中添加以下内容
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<description>指定ResourceManager的地址</description>
<name>yarn.resourcemanager.hostname</name>
<value>localhost</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
启动namenode和datanode
在hadoop/sbin目录中输入一下命令启动
hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
接着jps查看是否启动
测试namenode
打开浏览器输入当前主机的IP地址:50070查看,若显示成功
http://192.168.31.63:50070
如果有什么问题或者遗漏错误之处,欢迎指出留言!