介绍伪分布式安装Hadoop步骤。
- 操作系统:CentOS-7-x86_64-Everything-1611
切换到root用户
1
2$ su
Password:开启SSH远程登录
关闭防火墙和禁用SELinux
1
2
3
4
5
6# service iptables stop // 暂时关闭
# chkconfig iptables off // 永久关闭
# systemctl stop firewalld.service // 关闭firewall
# systemctl disable firewalld.service // 禁止firewall开机启动
# service iptables status // 查看防火墙状态
# vim /etc/sysconfig/selinux // 设置SELINUX=disabled设置静态IP地址
1
2
3
4
5
6# vim /etc/sysconfig/network-scripts/ifcfg-eth0
ONBOOT=yes
IPADDR=10.211.55.11
GATEWAY=10.211.55.1
# service network restart修改HostName
1
2
3
4# hostname hadoop.o.cn // 当前生效
# vim /etc/sysconfig/network // 下次启动生效
NETWORKING=yes
HOSTNAME=hadoop.o.cnIP与HostName绑定
1
2# vim /etc/hosts
10.211.55.11 hadoop.o.cn hadoop // 用tab分隔,不用空格安装JDK
1
2
3
4
5
6
7
8安装目录 /opt/modules/jdk1.8.0_121
# sudo vim ~/.bashrc // 文件末尾添加以下内容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
# source ~/.bashrc设置系统默认jdk版本
1
2
3
4
5
6
7
8# update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_121/bin/java 300
# update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/jdk1.8.0_121/bin/javac 300
# update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/jdk1.8.0_121/bin/jar 300
# update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/jdk1.8.0_121/bin/javah 300
# update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/jdk1.8.0_121/bin/javap 300
# update-alternatives --config java
# java -version
java version "1.8.0_121"hadoop安装目录:/opt/modules/
解压TAR包
1
# tar -zxvf hadoop-2.8.0.tar.gz -C /opt/modules/
进入hadoop文件夹
1
# cd /opt/modules/hadoop-2.8.0
修改配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47# cd /opt/modules/hadoop-2.8.0/etc/hadoop
# vim hadoop-env.sh // 如下修改JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1.8.0_121
# vim yarn-env.sh // 添加以下内容
export JAVA_HOME=/opt/modules/jdk1.8.0_121
# vim mapred-env.sh // 添加以下内容
export JAVA_HOME=/opt/modules/jdk1.8.0_121
# vim core-site.xml // 配置NameNode和缓存文件夹
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop.o.cn:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.8.0/data/tmp</value>
</property>
</configuration>
# vim hdfs-site.xml // 设置hdfs副本数为1
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
# vim yarn-site.xml // 配置yarn
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
# cp mapred-site.xml.template mapred-site.xml // 复制模板
# vim mapred-site.xml // mapreduce运行于yarn框架中
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>退回Hadoop根目录
1
2# cd /opt/modules/Hadoop-2.8.0 // 退回Hadoop根目录
# mkdir -p data/tmp // 创建core-site.xml中的tmp目录启动HDFS
1
2
3
4
5
6
7
8
9
10
11
12
13# bin/hdfs namenode -format // NameNode格式化
扩展:
* 指定Cluster ID为yarn-cluster
# bin/hdfs namenode -format -clusterid yarn-cluster
# sbin/hadoop-daemon.sh start namenode // 启动NameNode
# sbin/hadoop-daemon.sh start datanode // 启动DataNode
# sbin/hadoop-daemon.sh start secondarynamenode // 启动SecondaryNameNode
# jps // 查看进程
5751 DataNode
11114 Jps
5098 NameNode
11051 SecondaryNameNode创建File system
1
2
3
4# bin/hdfs dfs -mkdir /data01
# bin/hdfs dfs -ls / // 查看
Found 1 items
drwxr-xr-x - root supergroup 0 2017-04-06 14:41 /data01登录hadoop.o.cn:50070
Utilities -> Browser the file system 可看到data01日志文件:$HADOOP_HOME/logs
.log :通过log4j记录的大部分应用程序的日志
.out :记录标准输出和标准错误日志,少量
命名规则:框架名称 - 用户名 - 进程名 - 主机名 - 日志格式后缀