0、安装软件列表
jdk-7u25-linux-x64.tar.gz
hadoop-2.5.0.tar.gz
hadoop-native-64-2.5.0.tar
1、准备Linux环境(root用户)
1.1、修改主机名:vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop1
1.2、修改上网IP
#windows端:
打开虚拟软件VMware,Edit --> Virtual Network Editor下点击Restore Default。打开网络和共享中心 -> 更改适配器设置 -> 将连接网线的连接设置为“共享”,并共享给VMware Network Adapter VMnet8,此时IP为:192.168.137.1。
#Linux端:
修改配置文件方式:vim /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
BOOTPROTO="static"
HWADDR="00:0C:29:3C:BF:E7"
IPV6INIT="yes"
NM_CONTROLLED="yes"
ONBOOT="yes"
TYPE="Ethernet"
UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c"
IPADDR="192.168.137.31"
NETMASK="255.255.255.0"
GATEWAY="192.168.137.1"
1.3、修改主机名和IP的映射关系:vim /etc/hosts
192.168.137.31 hadoop1
1.4、关闭防火墙
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#关闭防火墙开机启动
chkconfig iptables off
#查看防火墙开机启动状态
chkconfig iptables --list
1.5、重启系统:reboot
2、配置ssh免登陆(非root用户,这里用户名为hadoop)
2.1、生成ssh免登陆密钥
ssh-keygen -t rsa -P ''
执行完这个命令后,在~/.ssh目录下生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
2.2、将公钥拷贝到要免登陆的机器上
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
2.3、修改文件authorized_keys权限,如果不设置,在验证时仍提示输入密码。
chmod 600 ~/.ssh/authorized_keys
2.4、用root用户设置SSH配置文件/etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
2.5、重启SSH服务,使刚才设置有效。
service sshd restart
2.6、退出root登录,使用hadoop普通用户验证是否成功。
ssh localhost
3、安装JDK(非root用户,这里用户名为hadoop)
3.1、上传到/home/hadoop/soft
3.2、解压安装:tar -xvf jdk-7u25-linux-x64.tar.gz
3.3、将java添加到环境变量中:vim ~/.bash_profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/jdk1.7.0_25
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin
3.4、刷新配置:source ~/.bash_profile
3.5、检验安装结果:java -version
java version "1.7.0_25"
Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
4、安装hadoop(非root用户,这里用户名为hadoop)
4.1、上传到/home/hadoop/soft
4.2、解压安装:tar -xvf hadoop-2.5.0.tar.gz
4.3、配置hadoop(配置文件目录$HADOOP_HOME/etc/hadoop)
第一个:hadoop-env.sh
export JAVA_HOME=/home/hadoop/jdk1.7.0_25
第二个:core-site.xml
<!-- 制定HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop1:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop-2.5.0/tmp</value>
</property>
第三个:hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
第四个:mapred-site.xml
mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
第五个:yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
4.4、将hadoop添加到环境变量:vim ~/.bash_profile
export JAVA_HOME=/home/hadoop/jdk1.7.0_25
export HADOOP_HOME=/home/hadoop/hadoop-2.5.0
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使配置生效:source ~/.bash_profile
4.5、格式化namenode(是对namenode进行初始化)
hdfs namenode -format
4.6、启动hadoop
先启动HDFS:sbin/start-dfs.sh
再启动YARN:sbin/start-yarn.sh
4.7、使用jps命令验证是否启动成功
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
4.8、打开管理界面验证是否启动成功
http://192.168.137.31:50070/dfshealth.jsp(HDFS管理界面)
http://192.168.137.31:8088/cluster(MR管理界面)
4.9、执行相关操作验证是否启动成功
第一种:上传文件。创建文件words并上传到hdfs,执行:hadoop fs -put ~/doc/words /test
第二种:统计字符。创建文件words并已经上传到hdfs,进入$HADOOP_HOME/share/hadoop/mapreduce,执行:
hadoop jar hadoop-mapreduce-examples-2.5.0.jar wordcount /words /wordCount
部署过程中问题
1、hadoop “util.NativeCodeLoader: Unable to load native-hadoop library for your platform”
hadoop安装完以后,经常会提示一下警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform...using builtin-java classes where applicable
搜了好多文章,都说是跟系统位数有关系,但我使用的Liunx、JDK、Hadoop都是64位。
【解决方式】需要下载hadoop-native-64-2.5.0.tar:http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.5.0.tar。下载完以后,解压到hadoop的native目录下,覆盖原有文件即可。操作如下:tar -xvf hadoop-native-64-2.5.0.tar -C /home/hadoop/hadoop-2.5.0/lib/native/。
- Hadoop-01 搭建hadoop伪分布式运行环境
Linux中配置Hadoop运行环境 程序清单 VMware Workstation 11.0.0 build-2305329 centos6.5 64bit jdk-7u80-linux-x64.r ...
- MHA非root用户搭建测试
最近一直在瞎搬砖,最大的感触是运维工作难做.不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢 ...
- 基于Centos搭建 Hadoop 伪分布式环境
软硬件环境: CentOS 7.2 64 位, OpenJDK- 1.8,Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 roo ...
- [转]搭建Hadoop伪分布式环境
https://my.oschina.net/MyHeaven1987/blog/1821509 http://hadoop.apache.org/docs/current/hadoop-projec ...
- 搭建hadoop伪分布式环境
伪分布式就是只有一台机器,既是namenode又是datanode.一台阿里云服务器(centos)即可完成. Java环境 首先需要安装Java环境,下载jdk的安装包,解压到/usr/java/, ...
- 本地搭建Hadoop伪分布式环境之四:开启搭建Hadoop2.4.0之旅
1.准备软件 64位下载包下载: hadoop-2.4.0-64bit.tar.gz 百度网盘: 链接: http://pan.baidu.com/s/1hqEDe2S password: ...
- 搭建Hadoop伪分布式时遇到的各种错
1.本地连接远端用户没有权限 2.执行时提示,保存三分数据,但是只有一个节点是活的 问题1解决办法:在hdfs-site.xml文件中添加一下配置(是否在HDFS中开启权限检查) <proper ...
- Hadoop伪分布式集群环境搭建
本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...
- Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0
Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...
随机推荐
- 使用C#开发ActiveX控件
使用C#开发ActiveX控件(新) 前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动 ...
- vps使用(centos)2
SVN Server搭建 1.安装软件包 [root@cloud ~]# yum install subversion mysql-server httpd mod-dav_svn mod-perl ...
- 在code first结构下的生成的数据迁移文件,upadate-database失败
程序控制台出现 already exist Table "xxx",是由于项目中的Migrations(迁移文件)与连接的mysql数据库里迁移记录表里的数量及名称不一致.
- [ios2]判断retina 屏幕
判断是否retina屏幕 #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSize ...
- 关于JavaMail
一.概述 1.邮件协议: SMTP:(Simple Mail Transfer Protocol,简单邮件传输协议)发邮件协议: POP3:(Post Office Protocol Version ...
- [转载]关于shell脚本的基本语法
关于shell脚本的基本语法 整理于:2014-03-31,何俭飞,mymladdr@sina.com 一.执行 1.shell脚本如果要被执行,一般地必须要有执行权限"x"(除了 ...
- 关于angularjs的$state.go()与ui-sref传参问题
上次转发过关于angularjs回退的文章,回退用到的还是js的回退功能,直接用history.back();实现功能,当时顺便提了下$state.go()有关路由跳转. 那这回就全面解析下$stat ...
- jQuery的css
1.css(name|pro|[,val|fn]) 访问匹配元素的样式属性. 参数name 描述: 取得第一个段落的color样式属性的值. $("p").css("co ...
- OSI模型第四层传输层--TCP协议
1.传输层2个协议tcp和udp 2.tcp的可靠性(挂号信). 面向链接的:类似寄挂号信,对方收到了并且能够确认.所以也是可靠的传输. 最大报文传输:两端可以协商传输报文大小.(协商一个报文的大小) ...
- (Nginx学习一)安装和启动及对应文件夹介绍
nginx 安装和启动及对应文件夹介绍 1 安装 官网下载nginx文件 http://nginx.org/en/download.html 解压即可 2 文件夹介绍 在解压后nginx压缩包后发现 ...