Hadoop单机伪分布部署
Posted VV大数据
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop单机伪分布部署相关的知识,希望对你有一定的参考价值。
有读者反馈:初学Hadoop,不太想用Ambari,还是想手动的搭建Hadoop的环境
今天就带来Hadoop单机伪分布部署
工欲善其事必先利其器
文章分为两部分
第一部分为在VMware下如何新建虚拟机,如何使用软件
第二部分为在Centos6.5系统下Hadoop单机伪分布式的搭建
工欲善其事必先利其器,先把我们的环境和软件准备好!
需要准备:
1.VMware 12虚拟机软件
2.Centos6.5 64位iso安装盘
3.Jdk1.8,Hadoop2.7.3
4.X-Shell5,Winscp
1
第一阶段:VMware下新建安装虚拟机
下一步,指定磁盘容量
配置硬件,根据实际情况设置
点击完成,等待安装完毕即可
注意:在刚刚入门Linux时,推荐使用图形化界面,好上手(不推荐使用鼠标操作系统),但实际工作环境中图形化交互并不多,更多的是命令行,所以需要大家掌握基本Linux Shell的操作
Tips:发现点进虚拟机没法操作windows系统,按Ctrl + Alt键即可跳出虚拟机操作界面
选择使用其它用户,使用root用户登录
在下方,我们看见了有一个小窗口,English(系统语言选项),为了方便查看,VV选择了中文(推荐使用英文)
登陆后,发现弹窗,使用root超级用户权限的提示,现在关闭即可
进入桌面
首先,修改时间和时区
配置网络:
先配置VM虚拟机网络
如果电脑主机能够上网,并希望虚拟机也能够上网,选择桥接模式,其余情况,选择NAT模式即可,这里不多讲解
VV选择了桥接模式,下面要配置Linux系统的网络,进入系统,在右上角找到一个小电脑图标,右键点击,弹出菜单,点击编辑连接
点击编辑
选择IPv4设置,方法选择手动,点击添加
VV根据主机网络情况,做了如下配置,需要自定义修改(如果不知道自己的网段,在Windows中网络和共享中心查看哦!)
点击应用,关闭
在桌面空白处,单击鼠标右键,弹出菜单,点击在终端中打开
打开了命令行页面
现在,我们就要使用命令来操作我们的Linux系统了
刚才配置好网络,需要重启一下网络
在命令行输入如下语句
service network restart |
这时候发现右上角的小电脑开始转动,就是在重启网络啦,等待一会,全部OK,说明网络设置成功
到此为止,虚拟机基础配置已经完成
下面使用远程登录软件X-shell
新建回话
接收并保存
输入用户名
输入密码
确定
登录成功
上面菜单栏可以更换界面主题,请自定义修改
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软件远程拷贝到虚拟机中
进入界面后,选择最上面剪头,找到 /opt目录,上传Java和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 |
恭喜你,格式化成功啦!
开启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情况
赶快试试好不好用吧
创建一个文件,内容如下
[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查看刚才执行的任务
在hdfs上查看刚才wordcount程序的输出
现在网页上看一下输出文件
[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单机伪分布部署的主要内容,如果未能解决你的问题,请参考以下文章