hadoop伪分布式环境安装

参考官方网址:

http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/SingleCluster.html

1、linux中安装lrzsz

[hadoop@hadoop ~]$ yum install lrzsz

注意需要使用root用户,普通用户需要sudo进行授权

2、为了方便普通用户(hadoop)用户root权限,需要设置sudo

[root@hadoop ~]# visudo
97 ## Allow root to run any commands anywhere
98 root    ALL=(ALL)       ALL 
99 madman  ALL=(ALL)       NOPASSWD:ALL
100 hadoop  ALL=(ALL)      NOPASSWD:ALL

这样我就把hadoop和madman两个用户的权限设置成了和root一样了。

3、关闭防火墙和selinux

[hadoop@hadoop soft]$ vi /etc/sysconfig/selinux
 8 #关闭selinux
 9 SELINUX=disabled
这里把SELINUX=disabled就行
关闭防火墙
sudo service iptables status --查看状态
sudo service iptables stop --停止
sudo service iptables start --启动
sudo chkconfig iptables off --关闭开机启动防火墙 (注意这都用到sudo哦)

4、卸载linux自带的jdk

sudo rpm -qa |grep java   --查看是否安装了jdk
sudo rpm -e --nodeps  xxxx --卸载jdk  我这里已经卸载了..关于rpm卸载可自行百度查看

5、上传hadoop和jdk的安装包并设置环境变量
上传hadoop-2.5.0和jdk到你的服务器上,并解压到自定义目录,我这里放到了/opt/moduels

[hadoop@hadoop soft]$ echo $JAVA_HOME
/opt/moduels/jdk1.7.0_67 --这个就是我的jdk安装目录,并设置好了环境变量
[hadoop@hadoop soft]$ 
[root@hadoop moduels]# pwd
/opt/moduels
[root@hadoop moduels]# l
drwxr-xr-x. 11 hadoop hadoop 4096 Jan  6 14:11 hadoop-2.5.0
drwxr-xr-x.  8 hadoop hadoop 4096 Jul 25  2014 jdk1.7.0_67
[root@hadoop moduels]# 
6、设置JDK和HADOOP的环境变量
[hadoop@hadoop soft]$ sudo vi /etc/profile
#设置环境变量JAVA_HOME
export JAVA_HOME=/opt/moduels/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/opt/moduels/hadoop-2.5.0
export PATH=$PATH:$HADOOP_HOME
[hadoop@hadoop soft]$ source /etc/profile --设置保存好之后记得source重生生效,然后重新登录服务器。

7、修改文件hadoop-env.sh,mapred-env.sh,yarn-env.sh中的JAVA_HOME路劲,文件路劲在
/opt/moduels/hadoop-2.5.0/etc/hadoop下面

hadoop-env.sh>>export JAVA_HOME=/opt/moduels/jdk1.7.0_67  --25行左右
mapred-env.sh>>export JAVA_HOME=/opt/moduels/jdk1.7.0_67  --16行左右
yarn-env.sh>>export JAVA_HOME=/opt/moduels/jdk1.7.0_67   --23行左右

8、修改core-site.xml内容

<configuration>
<!--开启fdfs文件系统 -->
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop.madmant.com:8020</value> 
</property>
<!--设置hadoop的临时目录 -->
<property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
</property>
<!-- 设置静态用户访问权限-->
<property>
          <name>hadoop.http.staticuser.user</name>
          <value>hadoop</value>
</property>
</configuration>
修改hdfs-site.xml
<configuration>
<!--设置默认节点个数  默认是3 这里设置成1  因为是伪分布式 -->
<property>
        <name>dfs.replication</name>
        <value>1</value>
</property>
<!-- 设置文件目录的访问权限 设置成false 不设置权限-->
<property>
        <name>dfs.permissions.enabled</name>
        <value>false</value>
</property>
<!--这个是设置第二节点 可以不用配置-->
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop.madmant.com:50090</value>
</property>
</configuration>
修改slaves文件
 hadoop.madmant.com  --这里就是linux服务器的主机名
9、执行格式化命令&启动命令
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs namenode -format --格式化目录 注意只能格式一次,如果格式化多次,请删除临时目录下的文件夹,重新格式化话
[hadoop@hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start namenode --启动namenode节点
[hadoop@hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh start datanode --启动datanode节点
访问hadoop的hdfs文件系统, 这里注意访问端口是50070,我们设置的内部端看看8020
http://hadoop.madmant.com:50070

hadoop.madmant.com是我的域名,可以直接IP访问,到此如果能正常访问,那么伪分布式就能搭建完成了。

10、hadoop的hdfs的常用命令

[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir /bf --根目录下创建bf文件夹
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir  -p /bf1 --根目录下创建文件夹
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir  -p bf1 --hdfs文件系统用户目录下创建目录
关于hdfs的更多命令可使用命令
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs --会自动提示命令的使用方式
上传文件命令
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -put etc/hadoop/log4j.properties  /bf
查看文件内容
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -text /bf/log4j.properties
下载文件
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -get /bf/log4j.properties /home/hadoop/soft/ddd.txt --下载目录和文件名可自定义
#########################yarn&&MapReduce###########################################

11、修改mapred-site.xml文件,先去掉临时文件的后缀,使其真实生效

<configuration>
<!-- 设置MapReduce运行在yarn上面-->
<property>
     <name>mapreduce.framework.name</name>
     <value>yarn</value>
</property>
<!--设置历史服务器 这个其实没什么用 看看而已 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop.madmant.com:10020</value>
</property>
<!--配置历史服务器的web访问界面 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop.madmant.com:19888</value>
</property>
</configuration>

12、修改yarn-site.xml文件,先去掉临时文件的后缀,使其真实生效

<configuration>
<!--开启yarn运行到MapReduce上 -->
<property>
	<name>yarn.nodemanager.aux-services</name>
	<value>mapreduce_shuffle</value>
</property>
<!--设置secondaryname节点的主机名 貌似不是很对... -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop.madmant.com</value>
</property>
<!--开启日志聚合 设置为true-->
<property>
	<name>yarn.log-aggregation-enable</name>
	<value>true</value>
</property>
<!--设置日志聚合报错的时间 单位是秒 -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>106800</value>
</property>
</configuration>
13、启动yarn命令
[hadoop@hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh  start resourcemanager
[hadoop@hadoop hadoop-2.5.0]$ sbin/yarn-daemon.sh  start nodemanager
访问yarn的web界面
http://hadoop.madmant.com:8088,ip+外部端口号,默认8088

14、运行一个MapReduce程序

创建一个文本文件madman,内容如下
[hadoop@hadoop hadoop-2.5.0]$ cat madman 
上海 
长沙
武汉
小彭
疯子
老子
老婆
媳妇
上海
武汉
媳妇
老婆
上海
年
[hadoop@hadoop hadoop-2.5.0]$ 
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -mkdir -p /mapReduce/input --创建一个输入目录
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -put madman /mapReduce/input --上传文件
[hadoop@hadoop hadoop-2.5.0]$ bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar  
wordcount /mapReduce/input /mapReduce/ouput --执行MapReduce
[hadoop@hadoop hadoop-2.5.0]$ bin/hdfs dfs -text /mapReduce/ouput/p* -- 查看输入目录的的结果集
这里需要自己理解下。。。。

15、启动secondarynamenode节点

[hadoop@hadoop hadoop-2.5.0]$ sbin/hadoop-daemon.sh  start secondarynamenode
web访问http://hadoop.madmant.com:50090,端口是50090

16、启动历史服务(轻量级服务器)

[hadoop@hadoop hadoop-2.5.0]$ sbin/mr-jobhistory-daemon.sh start historyserver


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值