详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation

一、 伪分布模式Pseudo-Distributed Operation

这里关于VM虚拟机的安装就不再介绍了,详细请看《VMware虚拟机的三种网络管理模式》一章介绍。这章只介绍hadoop伪分布模式的环境搭建

1、 设置静态IP

(1)   修改网卡配置:

$ vi /etc/sysconfig/network-scripts/ifcfg-eth0

(2)   重启网卡:

$ service network restart

(3)   验证一下:

$ ifconfig

2、 修改主机名:

(1)   修改当前会话中的主机名,执行命令hostname Hadoop (临时修改不推荐)

$ hostname hadoop

(2)   修改配置文件中的主机名,执行命令vi /etc/sysconfig/network

$ vi /etc/sysconfig/network

修改设置内容:

 HOSTNAME=hadoop (主机名命名为hadoop)

3、 Hostname和IP绑定

(1)  修改vi /etc/hosts,增加一行内容,如:

192.168.100.129 hadoop

(2)  验证一下:

$ ping hadoop

4、 关闭防火墙service iptables stop

查看防火墙是否关闭:

$ service iptables status

5、 关闭防火墙的自动运行(推荐彻底关闭)

chkconfig --list 查看服务的启动级别

chkconfig --list | grep iptables 查看防火墙的启动级别

chkconfig iptables off 关闭(彻底)

开启/关闭防火墙: chkconfig iptables on/off

$ chkconfig iptables off

6、 ssh(secure shell)免密码登录

(1)   检查ssh是否安装:rpm -qa | grep ssh 或者(rpm -qa | grep openssh)

(2)   安装:

CentOS安装yum install openssh-server

Ubuntu 安装apt-get install ssh

(3)   验证查看 ssh是否启动 /etc/init.d/sshd status 或者(service sshd status)

(4)   执行命令ssh-keygen -t rsa 产生密钥,位于~./.ssh文件夹中(没有则自动创建),输入命令后一直回车

$ ssh-keygen -t rsa

(5)   ssh在验证时要读取authorized_keys公钥文件的内容 ,执行命令

cp id_rsa.pub authorized_keys

(6)   验证:ssh localhost 或:ssh hadoop

$ ssh localhost

7、 下载安装jdk

(1)   一定要下载Oracle的官方jdk版本,这里实验的版本是jdk1.8.0_231,具体看hadoop的版本要求,否则会有不兼容的问题,下载地址:

https://download.oracle.com/otn/java/jdk/8u231-b11/5b13a193868b4bf28bcb45c792fce896/jdk-8u231-linux-x64.tar.gz

(2)   将jdk-8u231-linux-x64.tar.gz 解压到 /opt/modules目录下

(3)   解压命令:tar –zxvf jdk-8u231-linux-x64.tar.gz –C /opt/modules

(4)   执行命令vi /etc/profile设置JAVA_HOME环境变量,增加2行内容:

export JAVA_HOME=/opt/modules/jdk1.8.0_231

export PATH=$JAVA_HOME/bin:$PATH

(5)   执行命令source /etc/profile 让设置生效

(6)   验证:java –version

8、 下载安装hadoop

(1)   由于考虑到jdk和hadoop版本的兼容,下载时请看一下相关版本的要求,这里实验是hadoop-3.2.1,下载地址:

https://archive.apache.org/dist/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz

(2)   将hadoop-3.2.1.tar.gz 解压到 /opt/modules目录下

(3)   解压命令:tar –zxvf hadoop-3.2.1.tar.gz –C /opt/modules

(4)   执行命令vi /etc/profile设置JAVA_HOME和HADOOP_HOME环境变量,

增加1行内容:

export HADOOP_HOME=/opt/modules/hadoop-3.2.1

修改1行内容:

export PATH=$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

(5)   执行命令source /etc/profile 让设置生效

(6)   验证:hadoop version

9、 配置hadoop环境变量:修改$HADOOP_HOME/etc/hadoop/hadoop-env.sh

export JAVA_HOME=/opt/modules/jdk1..0_231

10、配置$HADOOP_HOME/etc/hadoop/core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop:9000</value>
</property>
</configuration>

11、配置$HADOOP_HOME/etc/hadoop/hdfs-site.xml,文件分布式系统的name和data的目录

 <configuration>
<property>
<name>dfs.name.dir</name>
<value>/opt/data/hadoopfs/name</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/opt/data/hadoopfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

12、配置$HADOOP_HOME/sbin/start-dfs.sh、stop-dfs.sh

文件开头增加:

HDFS_DATANODE_USER=root
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root

13、格式化hadoop

执行命令hadoop namenode –format

或者  $ bin/hdfs namenode -format

$ hadoop namenode –format

14、启动hadoop

(1)   执行$HADOOP_HOME/sbin/start-dfs.sh,会有三个进程启动:用jps命令查看一下服务进程

$ ./start-dfs.sh
$ jps
DataNode
SecondaryNameNode
NameNode

(2)   在浏览器输入:http://192.168.100.129:9870,可以看到hadoop分布式系统建立起来了。

详细的Hadoop的入门教程-伪分布模式Pseudo-Distributed Operation

15、 如果没有出现第14的结果,可能出现的问题有:

(1)   没有进行格式化

(2)   hostname与ip没绑定

(3)   配置文件xml未配置正确

(4)   环境变量

(5)   ssh免密登录没有配置成功

下一章内容:完全分布模式Fully-Distributed Operation

上一篇:knn-伪代码与实现过程


下一篇:AC日记——【模板】KMP字符串匹配 洛谷 3375