`
gcgmh
  • 浏览: 348716 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux hadoop setup

阅读更多
NOTE:因为hadoop远程调用用的是RPC,所以linux系统必须关闭防火墙
      service iptables stop
     格式化:hadoop namenode -format

1.vi /etc/inittab
  id:5:initdefault:改为id:3:initdefault:即为字符型启动

2.ip configuration:/etc/sysconfig/network-scripts/

3.vi /etc/hosts,add hostname

4.useradd hadoop :增加一个用户
  passwd hadoop  :给用户加密码

5.对于以下文件:
  -rw-r--r-- 1 root root 42266180 Dec 26 10:08 hadoop-0.19.0.tar.gz
  可用如下的命令修改:
  chmod 777 hadoop hadoop-0.19.0.tar.gz :修改文件权限为最大权限
  chown hadoop.hadoop hadoop-0.19.0.tar.gz :修改文件的所有者和组所有者都改为hadoop

6.在每台master和slavers上各增加ssh授权(在hadoop用户下操作)
  用ssh-keygen -t rsa命令后一路三个回车
  cd .ssh
  cp id_rsa.pub authorized_keys
  通过scp将master上的authorized_keys文件Copy到其他所有slaves机器上如:
  scp authorized_keys  root@slave01:/home/hadoop/master_au_keys
  同时将每天slave机器上的authorized_keys也copy到master机器上增加进master的authorized_keys中
  用ssh master或ssh slave01不用密码,即OK!

7.安装JDK
  到sun网站下载JDK安装包jdk-6u11-linux-i586.bin,copy到机器的usr目录中,并在每台机器的root用户下面安装.
  在root用户下:
  cd /usr
  chmod +x jdk-6u11-linux-i586.bin  给安装文件增加执行权限.
  ./jdk-6u11-linux-i586.bin,按提示按几个空格健后,输入yes后开始安装jdk6.
  安装好后,将目录名修改为jdk6.
注(Centos5.2可以不用删除1.4的jdk了):一般linux里安装好后自带一个1.4的jdk,必须删除.
  rpm -qa |grep -i java,将查看到的包含java的rmp包全部删除.
  rpm -e 包名.

  设置JDK的环境变量,考虑到JDK可能会有其他系统用户也会用到,建议将环境变量直接设置在/etc/profile中具体内容:
  export JAVA_HOME=/usr/jdk6
  export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
  export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin
  用source /etc/profile使用java环境生效.

8.Hadoop环境变量设置和配置文件修改
  在conf/hadoop-env文件里增加jdk目录
  export JAVA_HOME=/usr/jdk6

  在masters里增加nameNode机器名:master
  在slavers里增加dataNode机器名:slave01...
 
  在/etc/profile文件中增加hadoop的path路径:
  export HADOOP_HOME=/home/hadoop/hadoop-0.19.0
  export PATH=$PATH:$HADOOP_HOME/bin

  修改hadoop-site.xml
  增加以下内容:

<configuration>
  <property>

   <name>fs.default.name</name>//你的namenode的配置,机器名加端口

   <value>hdfs://10.2.224.46:54310/</value>

</property>

<property>

   <name>mapred.job.tracker</name>//你的JobTracker的配置,机器名加端口

   <value>hdfs://10.2.224.46:54311/</value>

</property>

<property>

   <name>dfs.replication</name>//数据需要备份的数量,默认是三

   <value>1</value>

</property>

<property>

    <name>hadoop.tmp.dir</name>//Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。

    <value>/home/hadoop/tmp/</value>

</property>

<property>

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

  <value>/home/hadoop/name/</value>
 
</property>

<property>

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

  <value>/home/hadoop/data/</value>
 
</property>

<property>

   <name>mapred.child.java.opts</name>//java虚拟机的一些参数可以参照配置

   <value>-Xmx512m</value>

</property>

<property>

  <name>dfs.block.size</name>//block的大小,单位字节,后面会提到用处,必须是512的倍数,因为采用crc作文件完整性交验,默认配置512是checksum的最小单元。

  <value>5120000</value>

  <description>The default block size for new files.</description>

</property>

</configuration>

-----------------------
启动之前,我们先要格式化namenode,先进入~/HadoopInstall/hadoop目录,执行下面的命令
$bin/hadoop namenode -format

下面就该正式启动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 启动Hadoop DFS守护.Namenode和Datanode
* stop-dfs.sh 停止DFS守护

--------------------------
查看和测试
bin/hadoop dfsadmin -report  查看所有的datanode节点情况

通过web形式去浏览 NameNode和 JobTracker
    * NameNode - http://10.0.0.88:50070
    * JobTracker - http://10.0.0.88:50030

------------------
linux文件compress
打包:tar cvf 打包后文件名.tar  要打包的目录名
压缩:gzip 压缩文件  ==>*.tar.gz

解包: tar xvzf *.tar.gz





 
 
 

 



分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics