Ubuntu搭建Hadoop伪分布式(单节点集群)

可参考Apache Hadoop设置单节点群集官方文档。

在这里不对jdk以及ssh的安装进行介绍

一、下载安装包

在apache Hadoop官网中下载自己想要下载的版本,我这里以2.7.6版本为例,来做一个介绍。

下载后使用xftp复制到Ubuntu服务器中,并进行解压。

格式:tar -zxvf 文件名.tar.gz

tar -zxvf hadoop-2.7.6.tar.gz

二、配置环境变量

使用  vim /etc/profile 命令进入profile文件中,点击 i 进行输入,在export中插入以下语句:

export HADOOP_HOME=/root/hadoop-2.7.6   (这里的路径应当输入你自己的hadoop安装目录)
export PATH=$PATH:$JAVA_HOME:$HADOOP_HOME/bin

完成后 点击Esc键,输入 :wq  保存退出

配置完成后,还需在命令行中输入以下代码使其配置生效

source /etc/profile

三、检验环境变量是否配置成功

运行hadoop命令,出现下图所示内容,即为配置成功

四、修改hadoop-env.sh文件

使用vi或者vim命令,对hadoop文件夹中etc/hadoop目录下hadoop-env.sh文件进行修改,将其中的JAVA_HOME改为jdk安装目录(可直接在/etc/profile中复制)。修改后如下图:

五、修改core-site.xml文件

使用vi或者vim命令,对hadoop文件夹中etc/hadoop目录下core-site.xml文件进行修改,该文件的详细配置解释可在官网中进行查看,此处只对部分配置进行修改。

io.seqfile.local.dir

解释:io.seqfile.local.dir 的值是${hadoop.tmp.dir}/io/local,用来指定序列文件在合并期间存储中间数据文件的本地目录。可能是不同设备上以逗号分隔的目录列表,以便传播磁盘i / o。不存在的目录将被忽略。

hadoop.tmp.dir

它的值为 /tmp/hadoop-${user.name}。也就是说,默认情况下,文件合并期间产生的中间数据文件存放在临时目录/tmp/hadoop下。大家都知道这是一个临时文件目录,当我们再次启动服务器的时候,该目录下的文件就会清空,所以,为了更久的保存数据,我们可以重新指定一个目录,用来存储这些数据文件。

我们在当前用户目录下创建tmp(mkdir tmp)目录,路径为/root/hadoop-2.7.6/tmp。

然后使用vi或vim命令进行修改,在<configuration>中添加如下配置:

(1)添加指定中间数据文件存放目录的配置。
<property>
	<name>hadoop.tmp.dir</name>
  	<value>/root/hadoop-2.7.6/tmp</value>
</property>
(2)添加指定默认文件系统名称的配置。即,请求这个hdfs的URL地址。
<property>
	<name>fs.defaultFS</name>
  	<value>hdfs://localhost:9000</value>
</property>

 修改保存退出后,使用cat命令查看该文件信息,如下图所示

六、修改hdfs-site.xml文件

hdfs-site.xml文件详解

这个配置文件中的 dfs.replication 配置项,是用来指定hdfs的副本数的,默认值为3。现在我们用的是伪分布式,没有那么多副本节点,所以我们将其改为1。

打开hdfs-site.xml文件,在<configuration></configuration>标签中添加如下代码:

<property>
	<name>dfs.replication</name>
    	<value>1</value>
</property>

修改保存后,可使用cat命令进行查看。

8、设置ssh无密码登录。

现在当我们每次使用ssh localhost访问的时候,都需要输入密码。此时我们可以改成无密码登录。首先退出root用户,到普通用户。然后执行 ssh-keygen -t rsa(使用rsa加密,还有一种方式是dsa)命令生成密钥。执录行后会在用户登录目录下生成.ssh目和id_rsa、id_rsa.pub个文件。

将生成的公钥加入到许可文件中,即将公钥复制到 .ssh/authorized_keys中,这样登录就不需要密码了。执行命令 cp id_rsa.pub authorized_keys。

9、格式化文件系统。执行hadoop中bin目录下的hdfs namenode -format 指令即可。(因为已经设置了环境变量,可直接输入指令)

10、开启节点守护进程。执行hadoop 中sbin 目录下的start-dfs.sh 指令即可。

此时,可能会提示 rcmd: socket: Permission denied。可以在/etc/pdsh目录下新建 rcmd_default(touch rcmd_default)文件,然后用vi打开此文件,写入ssh,然后回车(注意:一定要回车另起一行,不然会报错)。然后在运行 sbin/start-dfs.sh 开启守护进程。

使用jps查看进程启动情况。

 

11、关闭防火墙。查看防火墙状态:sudo ufw status 关闭防火墙:sudo ufw disable 开启防火墙:sudo ufw enable    sudo ufw default deny。

systemctl stop firewalled

systemctl disable firewalled

systemctl status firewalled

当前禁用不会立即改变防火墙的状态,需要重启才行,所以需要我们手动的关闭一次。

12、在浏览器中输入http://<hadoop服务器IP地址>:50070,如:http://118.31.72.205:50070/能看到启动进程页面,说明搭建成功。页面如下:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值