欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

hadoop伪分布式环境搭建

程序员文章站 2022-07-14 15:18:29
...

一、修改主机名,IP映射

为了在集群管理中,能够方便的对各个节点进行管理,进行批处理操作,所以需要修改主机名,同时因为很少有公司提供域名解析器,所以需要配置IP映射。

修改主机名

sudo vim /etc/sysconfig/network

hadoop伪分布式环境搭建
但是修改配置文件后,并不能使其立即生效
解决办法:
重启(服务器上不推荐使用)
sudo hostname 主机名,然后退出重新登录

修改IP映射

sudo vim /etc/hosts

hadoop伪分布式环境搭建

二、安装jdk

1、使用wget命令或直接从Windows系统上传jdk压缩包到Linux;
hadoop伪分布式环境搭建
2、解压jdk压缩包,即可完成jdk的安装

tar -zxvf jdk-7u65-linux-i586.tar.gz -C ~/app/

hadoop伪分布式环境搭建
3、配置java环境变量

sudo vim /etc/profile

在profile文件最后添加上JAVA_HOME
hadoop伪分布式环境搭建
要使配置文件生效,需要执行source /etc/profile重新读取配置文件

三、安装hadoop

1、使用wget命令或直接从Windows系统上传hadoop压缩包到Linux;
hadoop伪分布式环境搭建
2、解压hadoop压缩包,即可完成hadoop的安装

tar -zxvf hadoop-2.4.1.tar.gz -C ../app/

hadoop伪分布式环境搭建
3、配置hadoop环境变量

sudo vim /etc/profile

在profile文件最后添加上HADOOP_HOME
hadoop伪分布式环境搭建
修改完毕后,同样需要执行source /etc/profile重新读取配置文件

四、配置hadoop

进入hadoop安装目录下的etc目录
hadoop伪分布式环境搭建

修改slaves

因为start-dfs.sh脚本启动NameNode后,需要读取slaves文件,从而知道需要启动的DataNode在哪些主机上;start-yarn.sh脚本启动resourcemanager后,需要读取slaves文件,从而知道需要启动的nodemanager在哪些主机上;
所以需要在slaves文件中加入节点的主机名,主机名列表按行分隔

主机名1
主机名2
.....

在slaves文件中加入本节点主机名

vim slaves

hadoop伪分布式环境搭建

修改hadoop-env.sh

因为可能会因为各种原因获取系统环境变量中的JAVA_HOME时发生错误,所以直接指定JAVA_HOME位置:

vim hadoop-env.sh

hadoop伪分布式环境搭建

配置core-site.xml

vim core-site.xml
---------------------------------------
<property>
<name>fs.defaultFS</name>
<value>hdfs://ha01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/xiaobai/app/hadoop-2.4.1/data</value>
</property>

hadoop伪分布式环境搭建

配置hdfs-site.xml

vim hdfs-site.xml
---------------------------------------
<property>
<name>dfs.replication</name>
<value>1</value>
</property>

hadoop伪分布式环境搭建
配置完这core-site.xml和hdfs-site.xml后,ha就可以运行了,但是无法使用yarn和MapReduce功能

配置mapred-site.xml

配置文件夹下,是没有mapred-site.xml文件的,所以需要将mapred-site.xml.template重命名为mapred-site.xml

 mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
---------------------------------------
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>

hadoop伪分布式环境搭建

配置yarn-site.xml

vim yarn-site.xml
---------------------------------------
<property>
<name>yarn.resourcemanager.hostname</name>
<value>ha01</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>

hadoop伪分布式环境搭建

关闭防火墙

因为ha是通过网络监听进行通信的,所以需要打开相应的端口。一般在公司内网进行ha的部署,所以可以采用关闭防火墙的方式来代替打开相应端口的操作。

sudo chkconfig iptables off

hadoop伪分布式环境搭建

格式化

第一次运行hadoop需要进行格式化,以后运行hadoop不需要再进行格式化。

hdfs namenode -format

在运行结果中找到successfully formatted表示格式化成功

启动hadoop

不推荐使用start-all.sh启动所有,而是一个组件一个组件的启动
启动hdfs:
start-dfs.sh

启动yarn:
start-yarn.sh

因为hadoop启动NameNode和DataNode时采用的是远程登录到目标主机,然后运行启动命令,所以每次启动时,都会要求输入密码。可以通过配置ssh免密登录来解决该问题。
其实,伪分布式的免密登录,就是请求主机和目标主机都是本机的情况。所以直接将本机的公钥追加到 authorized_keys文件即可实现无密登录