前言
Hadoop单机版本的环境搭建比较简单,这里总结一下。
Centos基本配置
网络配置
IPADDR=192.168.43.101
NETMASK=255.255.255.0
GATEWAY=192.168.43.2
DNS1=202.96.128.166
DNS2=202.96.128.86
配置完成后重启网络:
service network restart
修改主机名和IP地址映射文件
vim /etc/sysconfig/network
将HOSTNAME改为uplooking01
保存退出:
vim /etc/hosts
加入一行内容:
192.168.43.101 uplooking01
关闭防火墙,并从开机启动项中去处防火墙
关闭防火墙:
service iptables stop
从开机启动项中移除防火墙
chkconfig iptables off
关闭selinux服务(重启生效)
vim /etc/selinux/config
SELINUX=disabled
jdk安装
第一步:解压
tar -zxvf /opt/soft/jdk-8u112-linux-x64.tar.gz [-C /opt/]
第二步:重命名
mv jdk1.8.0_112/ jdk
第三步:配置JAVA_HOME环境变量
vim /etc/profile.d/hadoop-etc.sh,添加一下内容
export JAVA_HOME=/opt/jdk
export PATH=$PATH:$JAVA_HOME/bin
保存退出,并让环境生效
source /etc/profile.d/hadoop-etc.sh
第四步:验证
java -version
hadoop安装
hadoop的版本:hadoop-2.6.4.tar.gz
1°、解压:
[uplooking@uplooking01 ~]$ tar -zxvf soft/hadoop-2.6.4.tar.gz -C /home/uplooking/app/
2°、重命名:
[uplooking@uplooking01 ~]$ mv /home/uplooking/app/hadoop-2.6.4/ /home/uplooking/app/hadoop
3°、添加hadoop相关命令到环境变量中
~]$ vim ~/.bash_profile
加入以下内容:
export HADOOP_HOME=/home/uplooking/app/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
生效:
~]$ source ~/.bash_profile
4°、创建数据存储目录:
1) NameNode 数据存放目录: /home/uplooking/data/hadoop/name
2) SecondaryNameNode 数据存放目录: /home/uplooking/data/hadoop/secondary
3) DataNode 数据存放目录: /home/uplooking/data/hadoop/data
4) 临时数据存放目录: /home/uplooking/data/hadoop/tmp
5°、配置 hadoop-env.sh 、yarn-env.sh hdfs-site.xml core-site.xml mappred-site.xml yarn-site.xml
1)、配置hadoop-env.sh
export JAVA_HOME=/opt/jdk
2)、配置yarn-env.sh
export JAVA_HOME=/opt/jdk
3)、配置hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/uplooking/data/hadoop/name</value>
<description>存放元数据的磁盘目录</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/uplooking/data/hadoop/data</value>
<description>存放数据的磁盘目录</description>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/home/uplooking/data/hadoop/secondary</value>
<description>存放检查点数据的磁盘目录</description>
</property>
<!-- secondaryName http地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>uplooking01:9001</value>
</property>
<!-- 数据备份数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
<description>默认有3分,但是目前只有一台机器,所以备份数设置为1</description>
</property>
<!-- 运行通过web访问hdfs-->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<!-- 剔除权限控制-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4)、配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://uplooking01:9000</value>
<description>hdfs内部通讯访问地址</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/uplooking/data/hadoop/tmp</value>
</property>
</configuration>
5)、配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史job的访问地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>uplooking01:10020</value>
</property>
<!-- 历史job的访问web地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>uplooking01:19888</value>
</property>
<property>
<name>mapreduce.map.log.level</name>
<value>INFO</value>
</property>
<property>
<name>mapreduce.reduce.log.level</name>
<value>INFO</value>
</property>
</configuration>
6)、配置yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>uplooking01</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>uplooking01:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>uplooking01:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>uplooking01:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>uplooking01:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>uplooking01:8088</value>
</property>
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
</configuration>
格式化hadoop文件系统
hdfs namenode -format
当出现Storage directory /home/uplooking/data/hadoop/name has been successfully formatted.则说明格式化成功
负责失败,如果失败的话:就要检查配置文件,再次进行格式化,如果要再次进行格式化,
必须要把dfs.namenode.name.dir配置目录下面的数据清空。
启动hadoop
start-all.sh
分为以下
start-dfs.sh
start-yarn.sh
启动成功之后,通过java命令jps(java process status)会出现5个进程:
NameNode
SecondaryNameNode
DataNode
ResourceManager
NodeManager
在启动的时候,提示需要输入的密码,是因为没有配置ssh免密码登录模式,如何配置?
ssh-keygen -t rsa
一路回车
ssh-copy-id -i uplooking@uplooking01
根据提示输入当前机器的密码
验证:ssh uplooking@uplooking01 不需要再输入密码
验证:
1°、在命令中执行以下命令:
hdfs dfs -ls /
2°、在浏览器中输入http://uplooking01:50070
3°、验证mr
/home/uplooking/app/hadoop/share/hadoop/mapreduce目录下面,执行如下命令:
yarn jar hadoop-mapreduce-examples-2.6.4.jar wordcount /hello /out
在执行作业的过程中,也可以在地址栏中输入:http://uplooking01:8088来查看作业的执行状态
问题:
如果要进行多次格式化,那么需要将刚才创建的/home/uplooking/data/hadoop/中的文件夹删除重建,
才能进行二次格式化