Hadoop单机伪分布部署

Posted VV大数据

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop单机伪分布部署相关的知识,希望对你有一定的参考价值。


前言

有读者反馈:初学Hadoop,不太想用Ambari,还是想手动的搭建Hadoop的环境

今天就带来Hadoop单机伪分布部署

工欲善其事必先利其器

文章分为两部分

第一部分为在VMware下如何新建虚拟机,如何使用软件

第二部分为在Centos6.5系统下Hadoop单机伪分布式的搭建


Hadoop单机伪分布部署

工欲善其事必先利其器,先把我们的环境和软件准备好!

需要准备:

1.VMware 12虚拟机软件

2.Centos6.5 64位iso安装盘

3.Jdk1.8,Hadoop2.7.3

4.X-Shell5,Winscp

§§


1

第一阶段:VMware下新建安装虚拟机

Hadoop单机伪分布部署

Hadoop单机伪分布部署

Hadoop单机伪分布部署

Hadoop单机伪分布部署

下一步,指定磁盘容量

Hadoop单机伪分布部署

配置硬件,根据实际情况设置

Hadoop单机伪分布部署

点击完成,等待安装完毕即可

注意:在刚刚入门Linux时,推荐使用图形化界面,好上手(不推荐使用鼠标操作系统),但实际工作环境中图形化交互并不多,更多的是命令行,所以需要大家掌握基本Linux Shell的操作

Tips

Tips:发现点进虚拟机没法操作windows系统,按Ctrl + Alt键即可跳出虚拟机操作界面

Hadoop单机伪分布部署

选择使用其它用户,使用root用户登录

Hadoop单机伪分布部署

Hadoop单机伪分布部署

Hadoop单机伪分布部署

在下方,我们看见了有一个小窗口,English(系统语言选项),为了方便查看,VV选择了中文(推荐使用英文)

登陆后,发现弹窗,使用root超级用户权限的提示,现在关闭即可

Hadoop单机伪分布部署

进入桌面

Hadoop单机伪分布部署

首先,修改时间和时区

Hadoop单机伪分布部署

配置网络:

先配置VM虚拟机网络

Hadoop单机伪分布部署

Hadoop单机伪分布部署

如果电脑主机能够上网,并希望虚拟机也能够上网,选择桥接模式,其余情况,选择NAT模式即可,这里不多讲解

Hadoop单机伪分布部署

VV选择了桥接模式,下面要配置Linux系统的网络,进入系统,在右上角找到一个小电脑图标,右键点击,弹出菜单,点击编辑连接

Hadoop单机伪分布部署

Hadoop单机伪分布部署

点击编辑

Hadoop单机伪分布部署

选择IPv4设置,方法选择手动,点击添加

VV根据主机网络情况,做了如下配置,需要自定义修改(如果不知道自己的网段,在Windows中网络和共享中心查看哦!)

点击应用,关闭

Hadoop单机伪分布部署

在桌面空白处,单击鼠标右键,弹出菜单,点击在终端中打开

Hadoop单机伪分布部署

打开了命令行页面

Hadoop单机伪分布部署

现在,我们就要使用命令来操作我们的Linux系统了

刚才配置好网络,需要重启一下网络

在命令行输入如下语句

service network restart

这时候发现右上角的小电脑开始转动,就是在重启网络啦,等待一会,全部OK,说明网络设置成功

Hadoop单机伪分布部署


到此为止,虚拟机基础配置已经完成

Hadoop单机伪分布部署

下面使用远程登录软件X-shell

新建回话

Hadoop单机伪分布部署

Hadoop单机伪分布部署

接收并保存

Hadoop单机伪分布部署

输入用户名

Hadoop单机伪分布部署

输入密码

Hadoop单机伪分布部署

确定

Hadoop单机伪分布部署

登录成功

Hadoop单机伪分布部署

上面菜单栏可以更换界面主题,请自定义修改


2


下面要开始搭建单点Hadoop

先查看主机名:

[root@localhost ~]# hostname

localhost.localdomain

修改主机名有两种办法

1.临时修改(当时生效,重启无效)

2.非临时修改(重启生效)

我们这里两种办法都使用

[root@localhost ~]# hostname louisvv.com

[root@localhost ~]# hostname

louisvv.com

修改主机名文件/etc/sysconfig/network

[root@localhost ~]# vim /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=louisvv.com #修改此项

修改主机名和IP的映射关系 /etc/hosts

[root@localhost ~]# vim /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.1.210 louisvv.com

测试连通性

[root@localhost ~]# ping louisvv.com

PING louisvv.com (192.168.1.210) 56(84) bytes of data.

64 bytes from louisvv.com (192.168.1.210): icmp_seq=1 ttl=64 time=0.024 ms

64 bytes from louisvv.com (192.168.1.210): icmp_seq=2 ttl=64 time=0.056 ms

64 bytes from louisvv.com (192.168.1.210): icmp_seq=3 ttl=64 time=0.046 ms

关闭防火墙

查看防火墙状态,以下状况就是开启的

[root@localhost ~]# service iptables status

Table: filter

Chain INPUT (policy ACCEPT)

num target prot opt source destination

1 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED

2 ACCEPT icmp -- 0.0.0.0/0 0.0.0.0/0

3 ACCEPT all -- 0.0.0.0/0 0.0.0.0/0

4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22

5 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited


Chain FORWARD (policy ACCEPT)

num target prot opt source destination

1 REJECT all -- 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited


Chain OUTPUT (policy ACCEPT)

num target prot opt source destination

关闭防火墙

[root@localhost ~]# service iptables stop

iptables: Setting chains to policy ACCEPT: filter [ OK ]

iptables: Flushing firewall rules: [ OK ]

iptables: Unloading modules: [ OK ]

关闭防火墙开机自启

[root@localhost ~]# chkconfig iptables off

配置SSH免登陆,多次回车

[root@localhost ~]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/root/.ssh/id_rsa):

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /root/.ssh/id_rsa.

Your public key has been saved in /root/.ssh/id_rsa.pub.

The key fingerprint is:

2e:75:72:ff:54:65:51:e7:e6:cb:42:e9:45:3e:ac:7f root@louisvv.com

The key's randomart image is:

+--[ RSA 2048]----+

| .+|

| .o|

| .=|

| =+.|

| S o o =o|

| o + .o +.o|

| . . .+.o |

| . oo E|

| ...|

+-----------------+

[root@localhost ~]# cd ~/.ssh/

若没有该目录,请先执行一次ssh localhost

[root@localhost .ssh]# ls

id_rsa id_rsa.pub

加入授权

[root@localhost .ssh]# cat id_dsa.pub >> authorized_keys

[root@localhost .ssh]# ls

authorized_keys id_rsa id_rsa.pub

修改文件权限,如果不改,无法通过

[root@localhost .ssh]# chmod 600 ./authorized_keys

[root@localhost .ssh]# ll

total 8

-rw-------. 1 root root 0 Nov 22 15:52 authorized_keys

-rw-------. 1 root root 1675 Nov 22 15:47 id_rsa

-rw-r--r--. 1 root root 398 Nov 22 15:47 id_rsa.pub

SSH测试,此时需要密码

[root@localhost .ssh]# ssh localhost

The authenticity of host 'localhost (::1)' can't be established.

RSA key fingerprint is a8:ff:da:27:2e:1c:80:e6:1e:7c:c2:c3:27:88:25:1d.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'localhost' (RSA) to the list of known hosts.

root@localhost's password:

Last login: Wed Nov 22 15:20:47 2017 from 192.168.1.74

拷贝id到本机

[root@louisvv ~]# ssh-copy-id localhost

root@localhost's password:

Now try logging into the machine, with "ssh 'localhost'", and check in:


.ssh/authorized_keys


to make sure we haven't added extra keys that you weren't expecting.

这是SSH登陆就不需要验证了

[root@louisvv ~]# ssh localhost

Last login: Wed Nov 22 15:55:16 2017 from localhost

安装Java,需要使用Winscp软件远程拷贝到虚拟机中

Hadoop单机伪分布部署

Hadoop单机伪分布部署

Hadoop单机伪分布部署

Hadoop单机伪分布部署

进入界面后,选择最上面剪头,找到 /opt目录,上传Java和Hadoop的压缩包到该目录

Hadoop单机伪分布部署

切换回X-shell

[root@louisvv opt]# ls

hadoop-2.7.3.tar.gz jdk-8u91-linux-x64.tar.gz rh

解压Java包

[root@louisvv opt]# tar -zxf jdk-8u91-linux-x64.tar.gz

[root@louisvv opt]# ls

hadoop-2.7.3.tar.gz jdk1.8.0_91 jdk-8u91-linux-x64.tar.gz rh

配置全局环境变量

[root@louisvv opt]# vim /etc/profile

#java env

export JAVA_HOME=/opt/jdk1.8.0_91

export JRE_HOME=/opt/jdk1.8.0_91/jre

export CLASSPATH=$JAVA_HOME/lib

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

更新配置文件

[root@louisvv opt]# source /etc/profile

查看Java是否配置成功,如下所示,即已配置成功

[root@louisvv opt]# java -version

java version "1.8.0_91"

Java(TM) SE Runtime Environment (build 1.8.0_91-b14)

Java HotSpot(TM) 64-Bit Server VM (build 25.91-b14, mixed mode)

下面就要开始安装Hadoop了

解压hadoop压缩包

[root@louisvv opt]# tar -zxf hadoop-2.7.3.tar.gz

[root@louisvv opt]# ls

hadoop-2.7.3 hadoop-2.7.3.tar.gz jdk1.8.0_91 jdk-8u91-linux-x64.tar.gz rh

进入hadoop-2.7.3目录

[root@louisvv opt]# cd hadoop-2.7.3

查看该目录结构

[root@louisvv hadoop-2.7.3]# ll

total 132

drwxr-xr-x. 2 root root 4096 Aug 18 2016 bin

drwxr-xr-x. 3 root root 4096 Aug 18 2016 etc

drwxr-xr-x. 2 root root 4096 Aug 18 2016 include

drwxr-xr-x. 3 root root 4096 Aug 18 2016 lib

drwxr-xr-x. 2 root root 4096 Aug 18 2016 libexec

-rw-r--r--. 1 root root 84854 Aug 18 2016 LICENSE.txt

-rw-r--r--. 1 root root 14978 Aug 18 2016 NOTICE.txt

-rw-r--r--. 1 root root 1366 Aug 18 2016 README.txt

drwxr-xr-x. 2 root root 4096 Aug 18 2016 sbin

drwxr-xr-x. 4 root root 4096 Aug 18 2016 share

配置hadoop环境变量

[root@louisvv hadoop-2.7.3]# vim /etc/profile

#hadoop env

export HADOOP_HOME=/opt/hadoop-2.7.3

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

更新配置文件

[root@louisvv hadoop-2.7.3]# source /etc/profile

修改hadoop配置文件

[root@louisvv hadoop-2.7.3]# cd etc/hadoop/

修改env.sh文件

找到配置Java路径

export JAVA_HOME=$

export JAVA_HOME=/opt/jdk1.8.0_91

修改core-site.xml,添加如下内容

<configuration>

<property>

<name>fs.default.name</name>

<value>hdfs://louisvv.com:9000</value>

</property>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop-2.7.3/tmp</value>

</property>

</configuration>

修改hdfs-site.xml,添加如下内容

<configuration>

<property>

<!--设置副本数1,不写默认是3份-->

<name>dfs.replication</name>

<value>1</value>

</property>

</configuration>

拷贝mapred-site.xml.template样例配置文件mapred-site.xml

[root@louisvv hadoop]# cp mapred-site.xml.template mapred-site.xml

修改mapred-site.xml文件,添加内容如下

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

</configuration>

修改yarn-site.xml文件,添加内容如下

<configuration>

<property>

<name>yarn.nodemanager.aux-services </name>

<value>mapreduce_shuffle</value>

</property>

</configuration>

配置文件修改完后,需要对HDFS进行格式化,关键的一步来了!

[root@louisvv hadoop]# hdfs namenode -format

在打印的日志中发现Storage directory /opt/hadoop-2.7.3/tmp/dfs/name has been successfully formatted

恭喜你,格式化成功啦!

Hadoop单机伪分布部署

开启HDFS

[root@louisvv hadoop]# start-dfs.sh

开启YARN

[root@louisvv hadoop]# start-yarn.sh

开启后查看进程,发现都起来了,大功告成!

[root@louisvv hadoop]# jps

37555 DataNode

37972 NodeManager

37461 NameNode

37736 SecondaryNameNode

38009 Jps

37881 ResourceManager

在浏览器中输入 192.168.1.210:50070查看HDFS情况

Hadoop单机伪分布部署

赶快试试好不好用吧

创建一个文件,内容如下

[root@louisvv ~]# vim test.txt

hello world

hello you

hello me

hello louisvv

将该文件上传到HDFS

[root@louisvv ~]# hadoop fs -put test.txt /

在HDFS上查看,发现刚才上传的文件存在哦!

[root@louisvv ~]# hadoop fs -ls /

Found 1 items

-rw-r--r-- 1 root supergroup 45 2017-11-22 16:42 /test.txt

测试一下mapreduce的程序,wordcount!

[root@louisvv hadoop-2.7.3]# hadoop jar /opt/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /test.txt /out

17/11/22 16:45:36 INFO mapreduce.Job: map 0% reduce 0%

17/11/22 16:46:18 INFO mapreduce.Job: map 100% reduce 0%

17/11/22 16:46:56 INFO mapreduce.Job: map 100% reduce 100%

17/11/22 16:46:58 INFO mapreduce.Job: Job job_1511339896424_0001 completed successfully

也成功了,快去看看吧

现在192.168.1.210:8088 yarn查看刚才执行的任务

Hadoop单机伪分布部署

在hdfs上查看刚才wordcount程序的输出

现在网页上看一下输出文件

Hadoop单机伪分布部署

[root@louisvv hadoop-2.7.3]# hadoop fs -cat /out/part-r-00000

hello 4

louisvv 1

me 1

world 1

you 1

好啦!到此,hadoop单点伪分布式搭建完成啦!

记得点赞和分享哦!

Hadoop单机伪分布部署

大家都在看

► 

► 

► 

► 

Hadoop单机伪分布部署
Hello,伙伴们
长按二维码就可以关注我们啦!


以上是关于Hadoop单机伪分布部署的主要内容,如果未能解决你的问题,请参考以下文章

hadoop 伪分布式单机部署练习hive

hadoop分布式部署(转载)--贼靠谱

Hadoop中单机模式和伪分布式的区别是啥

Hadoop2.6.0安装—单机/伪分布

[Nutch]Hadoop单机伪分布模式的配置

hadoop单机模式和伪分布式模式的异同