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/。

非root用户搭建hadoop伪分布式的更多相关文章

  1. Hadoop-01 搭建hadoop伪分布式运行环境

    Linux中配置Hadoop运行环境 程序清单 VMware Workstation 11.0.0 build-2305329 centos6.5 64bit jdk-7u80-linux-x64.r ...

  2. MHA非root用户搭建测试

    最近一直在瞎搬砖,最大的感触是运维工作难做.不过废话不多说,最近被分配了一项比较有意思的task,尝试着非root用户搭建MHA并测试下能否成功漂移,以下是两天测试和文档编写的成果,分享给各位看客,欢 ...

  3. 基于Centos搭建 Hadoop 伪分布式环境

    软硬件环境: CentOS 7.2 64 位, OpenJDK- 1.8,Hadoop- 2.7 关于本教程的说明 云实验室云主机自动使用 root 账户登录系统,因此本教程中所有的操作都是以 roo ...

  4. [转]搭建Hadoop伪分布式环境

    https://my.oschina.net/MyHeaven1987/blog/1821509 http://hadoop.apache.org/docs/current/hadoop-projec ...

  5. 搭建hadoop伪分布式环境

    伪分布式就是只有一台机器,既是namenode又是datanode.一台阿里云服务器(centos)即可完成. Java环境 首先需要安装Java环境,下载jdk的安装包,解压到/usr/java/, ...

  6. 本地搭建Hadoop伪分布式环境之四:开启搭建Hadoop2.4.0之旅

    1.准备软件  64位下载包下载:     hadoop-2.4.0-64bit.tar.gz 百度网盘: 链接: http://pan.baidu.com/s/1hqEDe2S password: ...

  7. 搭建Hadoop伪分布式时遇到的各种错

    1.本地连接远端用户没有权限 2.执行时提示,保存三分数据,但是只有一个节点是活的 问题1解决办法:在hdfs-site.xml文件中添加一下配置(是否在HDFS中开启权限检查) <proper ...

  8. Hadoop伪分布式集群环境搭建

    本教程讲述在单机环境下搭建Hadoop伪分布式集群环境,帮助初学者方便学习Hadoop相关知识. 首先安装Hadoop之前需要准备安装环境. 安装Centos6.5(64位).(操作系统再次不做过多描 ...

  9. Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0

    Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...

随机推荐

  1. 使用C#开发ActiveX控件

    使用C#开发ActiveX控件(新) 前言 ActiveX控件以前也叫做OLE控件,它是微软IE支持的一种软件组件或对象,可以将其插入到Web页面中,实现在浏览器端执行动态程序功能,以增强浏览器端的动 ...

  2. vps使用(centos)2

    SVN Server搭建 1.安装软件包 [root@cloud ~]# yum install subversion mysql-server httpd mod-dav_svn mod-perl ...

  3. 在code first结构下的生成的数据迁移文件,upadate-database失败

    程序控制台出现 already exist Table "xxx",是由于项目中的Migrations(迁移文件)与连接的mysql数据库里迁移记录表里的数量及名称不一致.

  4. [ios2]判断retina 屏幕

    判断是否retina屏幕 #define isRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSize ...

  5. 关于JavaMail

    一.概述 1.邮件协议: SMTP:(Simple Mail Transfer Protocol,简单邮件传输协议)发邮件协议: POP3:(Post Office Protocol Version ...

  6. [转载]关于shell脚本的基本语法

    关于shell脚本的基本语法 整理于:2014-03-31,何俭飞,mymladdr@sina.com 一.执行 1.shell脚本如果要被执行,一般地必须要有执行权限"x"(除了 ...

  7. 关于angularjs的$state.go()与ui-sref传参问题

    上次转发过关于angularjs回退的文章,回退用到的还是js的回退功能,直接用history.back();实现功能,当时顺便提了下$state.go()有关路由跳转. 那这回就全面解析下$stat ...

  8. jQuery的css

    1.css(name|pro|[,val|fn]) 访问匹配元素的样式属性. 参数name 描述: 取得第一个段落的color样式属性的值. $("p").css("co ...

  9. OSI模型第四层传输层--TCP协议

    1.传输层2个协议tcp和udp 2.tcp的可靠性(挂号信). 面向链接的:类似寄挂号信,对方收到了并且能够确认.所以也是可靠的传输. 最大报文传输:两端可以协商传输报文大小.(协商一个报文的大小) ...

  10. (Nginx学习一)安装和启动及对应文件夹介绍

    nginx 安装和启动及对应文件夹介绍 1 安装 官网下载nginx文件  http://nginx.org/en/download.html 解压即可 2 文件夹介绍 在解压后nginx压缩包后发现 ...