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. 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题

    如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 如何利用PopupWindow实现弹出菜单并解决焦点获取以及与软键盘冲突问题 在android中有时候可能要实现一个底部弹 ...

  2. Windows应用商店API

    Windows应用商店API 动手实验 实验 8: Windows应用商店API 2012年9月 简介 编写Windows应用商店应用最令人瞩目的理由之一是您可以方便地将它们发布到Windows应用商 ...

  3. 【Oracle】-【体系结构】-【DBWR】-DBWR进程相关理解

    对DBWR的一些理解 首先从名称上,DBWR全称是Database Writer Process,属于Oracle后台进程的一种,有的地方也叫DBWn,我想这里是出于DBWR进程个数的原因,DBWR进 ...

  4. C语言中判断int,long型等变量是否赋值的方法

    博主这段时间在写一些C程序的代码,由于以前对C不是了解很多,故遇到很多瓶颈,当然,其中也有很多有趣的方法可以利用以解决这些难题,下面这个问题就是博主遇到的一个麻烦. 声明了 int ,long 型等局 ...

  5. .Net程序员学用Oracle系列(8):触发器、任务、序列、连接

    <.Net程序员学用Oracle系列:导航目录> 本文大纲 1.触发器 1.1.创建触发器 1.2.禁用触发器 & 启用触发器 & 删除触发器 2.任务 2.1.DBMS_ ...

  6. JQuery动态操作表格

    新人,小白一枚,刚刚参加工作,所以会在这里记录一些遇到的问题. 最近要做的东西,是对一个表格动态的添加行,删除行,并且对表格中内容进行非空验证. <!DOCTYPE html> <h ...

  7. SQL Server 2016 的「動態資料遮罩 (Dynamic Data Masking)」

    一些特別注重資訊安全.個人資料的公司或產業 (如: 金融.保險業),通常「測試用資料庫」的資料,會加上「遮蔽:去識別化」的功能,避免個資外洩.以往必須自己撰寫 SQL 語句或 Stored Proce ...

  8. 关于JAVA中split方法使用竖线异常的问题

    split表达式,其实就是一个正则表达式. *  ^ | 等符号在正则表达式中属于一种有特殊含义的字符,如果使用此种字符作为分隔符,必须使用转义符即\\加以转义.不然分割的结果就不是你想要的.

  9. Sipdroid实现SIP(五): 用Java实现的UserAgent

    I. 概述 UserAgent是SIP协议中的一个概念, 将"打电话"功能中的主叫和被叫逻辑上封装成UserAgent, 就像将"注册"功能的发起方和接收方封装 ...

  10. C++ 处理 utf-8

    类似"abc汉字"这样的字符串是以utf-8编码; C++ 的 cout执行的操作是把参数发送给stdout,因此如果终端支持utf-8, 汉字可以使用cout打印: 比较好的办法 ...