hadoop1.2.1伪分布式安装

1、安装虚拟机OS环境:

1)安装virtualbox虚拟机,配置网络

2)安装centos系统

3)安装jdk,配置环境变量

4ssh互信:

  1>ssh-keygen -t rsa在~/.ssh目录下产生了秘钥id_rsa.pub

  2>复制秘钥给对方(自己)作为公钥:cp id_rsa.pubauthorized_keys

  3>验证 ssh localhost


2、修改linux配置:

1配置静态ip:

  service network restart

2修改主机名:

  1>修改当前回话主机名(仅仅当前回话有效):hostname hadoop

  2>修改配置文件中的主机名(永久有效):vim/etc/sysconfig/network

  3>查看主机名:hostname

3把hostname和ip绑定:

  执行命令 vim /etc/hosts,增加一行内容:192.168.100.123hadoop

  验证:ping hadoop

4关闭防火墙:

  执行命令:service iptables stop

  查看状态:service iptables status

5关闭防火前开机自启动:

  chkconfig --list | grep iptables

  执行命令:chkconfig iptables off


3、hadoop伪分布式安装:

1)下载hadoop1.2.1.tar.gz(下载地址:http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/hadoop/common/);直接解压.tar.gz包即可;然后设置hadoop的环境变量:

       tar -xvzfhadoop1.2.1.tar.gz

   export HADOOP_HOME=/usr/local/hadooop

   exportPATH=.:$HADOOP_HOME/bin:$JAVA_HOME/bin:$PATH

   source /etc/profile

 

2)伪分布式安装(默认hadoop是本地模式)

   修改$HADOOP_HOME/conf目录下的 hadoop-env.sh、core-site.xml、 hdfs-site.xml 、mapred-site.xml

   1>在hadoop-env.sh中把JAVA_HOME这一行的注释删掉,然后修改正确的java_home位置(大约在第9行)

   2> 在core-site.xml中添加如下:

    <property>

             <name>fs.default.name</name>

             <value>hdfs://hadoop:9000</value><!--使用本机自己的主机名-->

    </property>

    <property>

      <name>hadoop.tmp.dir</name>

      <value>/usr/local/hadoop/tmp</value>

    </property>

 

    <!-- fs.default.name是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。-->

    <!—hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中-->

   3> hdfs-site.xml中增加如下:

    <property>

        <name>dfs.replication</name>

         <value>1</value>

    </property>

    <property>

            <name>dfs.name.dir</name>

            <value>/home/hdfs/name</value>

    </property>

    <property>

        <name>dfs.data.dir</name>

       <value>/home/hdfs/data</value>

    </property>

    <property>

                  <name>dfs.permissions</name>

                  <value>false</value>

    </property>

    <!-- dfs.replication -它决定着系统里面的文件块的数据备份个数。对于一个实际的应用,它应该被设为3(这个数字并没有上限,但更多的备份可能并没有作用,而且会占用更多的空间)。少于三个的备份,可能会影响到数据的可靠性(系统故障时,也许会造成数据丢失)-->

    <!-- dfs.data.dir -这是DataNode结点被指定要存储数据的本地文件系统路径。DataNode结点上的这个路径没有必要完全相同,因为每台机器的环境很可能是不一样的。但如果每台机器上的这个路径都是统一配置的话,会使工作变得简单一些。默认的情况下,它的值hadoop.tmp.dir,这个路径只能用于测试的目的,因为,它很可能会丢失掉一些数据。所以,这个值最好还是被覆盖。-->

    <!-- dfs.name.dir -这是NameNode结点存储hadoop文件系统信息的本地系统路径。这个值只对NameNode有效,DataNode并不需要使用到它。上面对于/temp类型的警告,同样也适用于这里。在实际应用中,它最好被覆盖掉。注:为了保证namenod中元数据的信息安全性,value可以还用逗号隔开,指定多个位置存放。-->

    <!—解决:org.apache.hadoop.security.AccessControlException:Permission denied:user=Administrator,access=WRITE,inode="tmp":root:supergroup:rwxr-xr-x。因为Eclipse使用hadoop插件提交作业时,会默认以 DrWho 身份去将作业写入hdfs文件系统中,对应的也就是 HDFS 上的/user/hadoop,  由于 DrWho 用户对hadoop目录并没有写入权限,所以导致异常的发生。解决方法为:放开 hadoop 目录的权限, 命令如下 :$ hadoop fs -chmod 777 /user/hadoop-->

   4>mapred.xml中增加:

    <property>

      <name>mapred.job.tracker</name>

       <value>hadoop:9001</value><!--使用本机自己的主机名-->

    </property>

    <!-- mapred.job.tracker-JobTracker的主机(或者IP)和端口。-->

 

3)对hadoop的hdfs进行格式化:

    hadoop namenode –format

 

4)启动hadoop:

   进入hadoop目录,在bin/下面有很多启动脚本,可以根据自己的需要来启动。

   * start-all.sh 启动所有的Hadoop守护。包括namenode,datanode, jobtracker, tasktrack

   * stop-all.sh 停止所有的Hadoop

   * start-mapred.sh启动Map/Reduce守护。包括Jobtracker和Tasktrack

   * stop-mapred.sh 停止Map/Reduce守护

   * start-dfs.sh 启动HadoopDFS守护Namenode和Datanode

   * stop-dfs.sh 停止DFS守护

   1>使用了start-all.sh 启动后,会发现有5个java进程,可以使用jps命令查看这5个java进程:JobTracker、SecondaryNameNode、DataNode、TaskTracker、NameNode

   2> 通过浏览器可以访问

    http://ip:50070可以访问到hdfs的信息(NameNode、DataNode)

    http://ip:50030可以访问到mapred的信息(JobTracker、TaskTracker)


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赶路人儿

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值