hadoop 1.x 安装配置过程-伪分布

环境

主机:ubuntu 14.04
主机ip:192.168.0.7
客户机:centos 6.5
客户机IP:192.168.0.101
jdk:jdk1.7.55

开发模式:

1.客户机关闭防火墙,selinux

2.客户机设置ssh免登陆
$ ssh-keygen -t rsa
在 ~/.ssh/有id_rsa和id_rsa.pub就是两个密钥,*.pub是公钥
$ cp id_rsa.pub authorized_keys
这步是伪分布的关键,如果是真正的集群,那么就需要把这个公钥复制到另一台机器的./ssh目录下,并且文件名仍然叫authorized_keys

2.解压hadoop1.1.2

3.配置环境变脸 /etc/profile

export JAVA_HOME=/usr/lib/jvm/jdk
export HADOOP_HOME/opt/hadoop

3.修改配置文件
修改4个文件

$HADOOP_HOME/conf/hadoop-env.sh
$HADOOP_HOME/conf/core-site.xml
$HADOOP_HOME/conf/hdfs-site.xml
$HADOOP_HOME/conf/mapred-site.xml

这几个配置文件都在jar包里存在默认配置

hadoop-core-1.1.2.jar里的core-default.xml
hadoop-core-1.1.2.jar里的hdfs-default.xml
hadoop-core-1.1.2.jar里的mapred-default.xml

3.1.修改hadoop-env.sh
修改

export JAVA_HOME=/usr/lib/jvm/jdk

3.2.修改core-site.xml
修改(其中的hdfs://ip:port是hadoop服务器的ip和端口号)

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://192.168.0.101:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/hadoop/hadoop1.1.2/tmp</value>
    </property>
</configuration>

注意hadoop.tmp.dir不要放到/tmp下,因为/tmp是易失的

3.3.修改hdfs-site.xml
修改

<configuration>
        <property>
                <name>dfs.replaction</name>
                <value>1</value>
        </property>
</configuration>

开发模式:
使用公众平台的开发接口,公众号可在自身服务器上接收用户的微信消息,并可按需回复。此外,我们还提供了更多更高级的功能和体验,如会话界面的自定义菜单、获取更多类型的消息等
更多功能接口问题,请点击这里了解。

<configuration>
        <property>
                 <name>dfs.permissions</name>
                 <value>false</value>
        </property>
</configuration>

3.4.修改mapred-site.xml
修改

<configuration>
        <property>
                <name>mapred.job.tracker</name>
                <value>192.168.0.101:9001</value>
        </property>
</configuration>

3.5.格式化hdfs
进入到 $HADOOP_HOME/bin

$ hadoop namenode -format

4.启动hadoop

$HADOOP_HOME/bin/start-all.sh

启动后可以执行jps查看,应该存在

NameNode
DataNode
SecondaryNameNode
JobTracker
TaskTracker

如果配置有错,会少服务,可以去观察$HADOOP_HOME/logs下的日志来分析
或者用浏览器访问

http://192.168.0.101:50070 可以打开namenode状态页
http://192.168.0.101:50030 可以打开map/reduce 管理页

5.测试

[root@vpc01 ~]# hadoop fs -mkdir /demo1
Warning: $HADOOP_HOME is deprecated.
[root@vpc01 ~]# hadoop fs -ls /
Warning: $HADOOP_HOME is deprecated.
Found 2 items
drwxr-xr-x   - root supergroup          0 2014-06-03 00:18 /demo1
drwxr-xr-x   - root supergroup          0 2014-06-02 13:58 /tmp
[root@vpc01 ~]#

算是配置好了

6.常用命令
6.1.hadoop进入/离开安全模式

hadoop dfsadmin -safemode get 获取状态
hadoop dfsadmin -safemode enter 进入安全模式
hadoop dfsadmin -safemode leave 离开安全模式
注意安全模式就算hadoop重启了依旧保持在安全模式,而且在安全模式无法进行部分操作

6.2.job操作

$ hadoop job -list //列出所有正在运行的job
$ hadoop job -kill <job_id> //杀掉某个job

6.3.文件操作

hadoop fsck //hdfs块状态检查,但速度会很慢
hadoop fsck /delete #hdfs块状态检查,删除受损块
hadoop dfsadmin -report #检查hdfs状态,包括DataNode信息
hadoop distcp hdfs://ip:port/source hdfs:/ip:port/target //并行复制source到target

6.4.执行类

hadoop jar <jar_filename> <类名>

在mapreduce中执行某个类,这个类里面可以直接写hdfs里面的相对路径,类似/usr/myfile这样写,而不用写hdfs://ip:port/usr/myfile

6.5.平衡集群文件
start-balancer.sh //平衡集群文件,加了新机器后,重新计算整个集群的文件负载,速度会很慢

7.MapReduce执行过程

1 MapReduce程序运行job
2 由JobClient向JobTracker获取一个jobId
3 JobClient向HDFS上复制job所需资源(以jobid为标示)
4 JobClient向JobTracker提交Job
5 JobTracker初始化Job,准备执行
6 JobTracker向HDFS获取输入数据
7 TaskTrackers向JobTracker发起心跳,告知自己的忙闲状态,由JobTracker分解任务到TaskTracker
8 TaskTrackers向HDFS获取执行Job所需的数据
9 TaskTracker执行Job(在JVM中执行)
10 JVM中运行MapTask/ReduceTask
11 结束

转载于:https://my.oschina.net/jim19770812/blog/304548

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值