Hadoop 2.x 伪分布式环境搭建
XY个人笔记
Linux 01
中分配
opt
文件权限给普通用户
$ sudo chown ijeffrey:ijeffrey -R /opt/
在
opt
中创建两个文件夹,并将两个tar上传到software里
software(
存放
tar)
和
modules(
解压
tar
后的文件
)
$ mkdir modules software
首先上传两个
tar
包(
点击下载):
在
modules
里创建两个文件夹
cdh
和
apache
分别放两个版本的软件包
$ mkdir cdh apache
解压:
$ tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/apache/
$ tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/modules
卸载自带的
JDK
:
搜索
jdk:rpm -qa | grep jdk
卸载:
$ sudo rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64
$ sudo rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64
配置环境变量
:
配置全局环境变量:
$ sudo vim /etc/profile
增加完后source一下,输入java javac验证
进入目录:
$ cd /opt/modules/apache/hadoop2.7.3
因为doc占的目录比较大 所以删除。
$ rm -rf doc
进入到/opt/modules/apache/hadoop2.7.3/etc/hadoop里面配置三个env文件:
hadoop.env.sh
mapred.env.sh
yarn.env
三个文件配置JDK的路径
下面两个注释放开并编辑:
===================================================
===================================================
hdfs相关的配置 ${HADOOP_HOME}/etc/hadoop
1)core-site.xml
=============core-site.xml===================
<!--NameNode地址,8020是指定进程8020,访问入口 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:8020</value>
</property>
<!--hadoop在运行时产生的文件,元数据在本地的存放目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/apache/hadoop-2.7.3/data/tmp</value>
</property>
============================================
2)hdfs-site.xml
=============hdfs-site.xml============
<configuration>
<!--存放到hdfs上的文件的副本数,伪分布式配置为1 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!-- 配置 secondarynamenode -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop01.com:50090</value>
</property>
</configuration>
======================================
配置参考地址地址:
http://hadoop.apache.org/docs/r2.7.3/
--->
Configuration
指定你的主机名
slaves文件中localhost更改为自己的主机名
3)格式化namenode
只格式化一遍,不要重复格式化
${HADOOP_HOME}目录下
$ bin/hdfs namenode -format
看到如下命令行代表成功格式化
3)启动hdfs守护进程
$ sbin/hadoop-daemon.sh start namenode
$ sbin/hadoop-daemon.sh start datanode
<!-- 启动secondarynamenode -->
$ sbin/hadoop-daemon.sh start secondarynamenode
主节点是namenode
从节点是datanode
辅助namenode是secondarynamenode
--Secondary NameNode 用来监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS元数据的快照
$ jps 多次查看是否宕机(
如果失败了一般是网络映射或防火墙未关闭的原因)
成功后访问自己的web界面
【常见问题】
1.格式化问题
一般格式化一次即可
生成fsimage
操作hdfs之后会生成edits
先关闭服务
需要把hadoop,tmp.dir下面的目录全部清空,重新格式化
2.出现错误
学会查看日志文件,查看logs目录下的.log后缀结尾的文件
3.clusterID
集群id不一致
第一种解决办法修改VERSION文件,以namenode的ID为准,改为一致即可
第二种解决办法,重新格式化 data logs 删掉
4.PID进程号
多用户启动进程,会记录不同用户的pid进程号
如果出现不同的pid进程号 直接删除
在去用同一个用户启动
删除PID
$ rm -rf /tmp/xxx.pid
1.关闭防火墙并且不开机启动
1).关闭Linux 防火墙
# service iptables status ##查看防火墙状态
iptables: Firewall is not running.
# service iptables stop ##关闭防火墙
2).设置不开机启动防火墙
# chkconfig iptables off ##不随机启动
3).查看防火墙的开机启动设置
# chkconfig --list | grep iptables
2.关闭安全子系统
# vi /etc/sysconfig/selinux
SELINUX=disabled
hadoop tar包和jdk tar 包下载地址:
https://download.csdn.net/download/u014414323/10420850
https://download.csdn.net/download/u014414323/10420846