一、hadoop的安装
hadoop安装的三种形式:
- 单机模式
- 伪分布式
- 基于yarn的完全分布式模式
安装前的准备:
一个纯净版的centos7 虚拟机,配置好静态ip,主机名,主机映射
配置静态ip:vi /etc/sysconfig/network-scripts/ifcfg-ens33
配置完成后重新启动network:systemctl restart network
修改主机名:vi /etc/hostname
使主机名立即生效(如果不行可以重启虚拟机):hostnamectl
配置主机映射: vi /etc/hosts
在家目录下创建software文件夹,用于放软件压缩包。
停止防火墙,并且设置防火墙开机禁止启动
systemctl stop firewalld ---关闭防火墙
systemctl disable firewalld ---禁止防火墙开机启动
生成秘钥:ssh-keygen -t rsa -P ""
将秘钥变成公钥:cat /root/.ssh/id_rsa.pub > /root/.ssh/authorized_keys
安装前软件要求:
安装好jdk,我这里选择的是jdk1.8版本。安装好jdk,配置好JDK环境变量。
二、开始安装hadoop
解压配置hadoop安装包
- 将hadoop安装包以及hadoop-native安装包放入原先创建的software文件夹中。(直接拖入即可)
安装包下载链接:
链接:hadoop、hbase、hive安装包
提取码:ay31 - 解压hadoop安装包到opt目录下
tar -zxvf hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt
- 进入/opt目录中将hadoop改名:
mv hadoop-2.6.0-cdh5.14.2/ hadoop
(注:改名为了与后面环境变量相匹配,也可以选择不改,那后面的配置文件,就要相应变化,与本文不符,自己去改) - 分别解压hadoop-native到改名后的hadoop文件夹中lib文件夹中和lib文件夹中的native文件。
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib ---解压到hadoop中的lib文件夹中
tar -xvf hadoop-native-64-2.6.0.tar -C /opt/hadoop/lib/native ---解压到hadoop中的lib中的native文件夹中
配置hadoop的配置文件
- 进入hadoop配置文件目录
cd /opt/hadoop/etc/hadoop
- 打开hadoop-env.sh文件
vi hadoop-env.sh
# The java implementation to use.
<--在查看状态下输入25gg找到相应位置-->
export JAVA_HOME=/opt/jdk_1.8.0_221
- 打开core-site.xml文件
vi core-site.xml
<configuration>
<!-- 默认节点(自己主机的ip)端口,端口默认为9000 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.222.101:9000</value>
</property>
<!-- hdfs的临时文件的目录,临时目录这里取得是hdfsTmp,名字可以自己去,记住就好 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hdfsTmp</value>
</property>
<!-- 其他机器的root用户可访问 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<!-- 其他root组下的用户都可以访问 -->
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
- 打开hdfs-site.xml文件
vi hdfs-site.xml
<configuration>
<!-- 设置数据块应该被复制的份数(和集群机器数量相等,由于只创建了一台虚拟机,所以这里是1) -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 用来帮助NameNode将内存中的元数据信息checkpoint到硬盘上 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop101:50090</value>
</property>
</configuration>
- 配置mapred-site.xml文件,由于没有此文件,可以选择新建或者复制mapred-site.xml.template文件到mapred-site.xml中,然后进行操作
cp mapred-site.xml.template mapred-site.xml
复制的时候自动会创建mapred-site.xml文件。
<configuration>
<!-- mapreduce的工作模式:yarn -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- mapreduce的工作地址,如果配集群可以改成别的ip地址,在别的机器上工作 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>192.168.56.101:10020</value>
</property>
<!-- web页面访问历史服务端口的配置 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>192.168.56.101:19888</value>
</property>
</configuration>
- 打开yarn-site.xml文件,配置yarn
vi yarn-site.xml
<configuration>
<!-- reducer获取数据方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop101</value>
</property>
<!-- 日志聚集功能使用 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 日志保留时间设置7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
- 打开slaves文件,配置slaves文件:
vi slaves
把自己的主机名写进去hadoop101,保存退出
slaves介绍:slaves文件是只对namenode节点有作用,是帮助namenode节点识别datanode节点位置的一个文件。
配置环境变量vi /etc/profile
按shift+g跳到最后一行,按o在下一行写入
export HADOOP_HOME=/opt/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
保存退出之后,别忘记source /etc/profile
验证是否成功hadoop version
格式化HDFS:hadoop namenode -format
启动hadoop:start-all.sh
启动历史服务:mr-jobhistory-daemon.sh start historyserver
启动成功后输入:jps
出现上图所示,表示hadoop正确安装并启动
三、访问相应的网页
访问Hadoop: http://192.168.222.101:50070
访问YARN的管理界面:http://192.168.222.101:8088
访问历史服务:http://192.168.222.101:19888/