hadoop 2.6 编译

配置依赖包
    1.jdk1.7安装 环境变量配置(不会的自行百度)
    2.maven安装
      wget http://apache.fayea.com/maven/maven-3/3.2.5/binaries/apache-maven-3.2.5-bin.tar.gz
       修改 setting.xml
       镜像地址配置为开源中国的
      <mirror>  
             <id>nexus-osc</id>  
              <mirrorOf>*</mirrorOf>  
          <name>Nexusosc</name>  
          <url>http://maven.oschina.net/content/groups/public/</url>  
        </mirror>    

    同样,在<profiles></profiles>内新添加

    <profile>  
           <id>jdk-1.7</id>  
           <activation>  
             <jdk>1.7</jdk>  
           </activation>  
           <repositories>  
             <repository>  
               <id>nexus</id>  
               <name>local private nexus</name>  
               <url>http://maven.oschina.net/content/groups/public/</url>  
               <releases>  
                 <enabled>true</enabled>  
               </releases>  
               <snapshots>  
                 <enabled>false</enabled>  
               </snapshots>  
             </repository>  
           </repositories>  
           <pluginRepositories>  
             <pluginRepository>  
               <id>nexus</id>  
              <name>local private nexus</name>  
               <url>http://maven.oschina.net/content/groups/public/</url>  
               <releases>  
                 <enabled>true</enabled>  
               </releases>  
               <snapshots>  
                 <enabled>false</enabled>  
               </snapshots>  
             </pluginRepository>  
           </pluginRepositories>  
         </profile>  
    3.hadoop编译还需要protoc2.5.0的支持  下载地址 http://pan.baidu.com/s/1bnxYEfH
        对protoc进行编译安装前先要装几个依赖包:gcc,gcc-c++,make 如果已经安装的可以忽略
            yum install gcc  
            yum intall gcc-c++  
            yum install make 
            yum install cmake  
            yum install openssl-devel  
            yum install ncurses-devel
        安装protobuf
        tar -zxvf protobuf-2.5.0.tar.gz
        cd protobuf
        ./configure --prefix=/usr/local/protobuf
        make
        make install
        然后配置环境变量
        export PROTOBUF_HOME=/usr/local/protobuf
        export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig
        export JAVA_HOME=/usr/local/jdk
        export MAVEN_HOME=/usr/local/maven
        export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
        export PATH=$MAVEN_HOME/bin:$PROTOBUF_HOME/bin:$JAVA_HOME/bin:$PATH

剩下就是编译hadoop

 cd /usr/local/hadoop-2.6.0-src   
    在该目录中用如下命令:
       mvn clean install -DskipTests   
       mvn package -DskipTests -Pdist ,native ,docs -Dtar 或者
       mvn package -Pdist,native -DskipTests -Dtar
    接下来就是等了。
<strong>如果你看到命令行停止执行了,并且显示success,恭喜你,
请打开文件夹里面的hadoop-dist/target,里面的hadoop-2.6.0就是你编译好的源代码了.</strong>
hadoop2.6 的安装基本都差不多  hadoop2.6 X64下载地址:  http://pan.baidu.com/s/1pJ6xJOR 

环境变量的配置

export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

core-site.xml

<configuration>  
<property> 
     <name>hadoop.tmp.dir</name>
   <value>file:/usr/local/hadoop/tmp</value>
 </property>
<property>
   <name>fs.defaultFS</name>
   <value>hdfs://192.168.30.226:9000</value>
</property>
<property>
    <name>io.file.buffer.size</name>
   <value>4096</value>
</property>   
<pre name="code" class="html"></configuration> 
 

 属性”fs.defaultFS“表示NameNode节点地址,由”hdfs://主机名(或ip):端口号”组成 

hdfs-site.xml

<configuration>
    <property>
	<name>dfs.namenode.name.dir</name>
	<value>file:///usr/hadoop/dfs/name</value>
    </property>
    <property>
	<name>dfs.datanode.data.dir</name>
	<value>file:///usr/hadoop/dfs/data</value>
    </property>
    <property>
 	<name>dfs.replication</name>
	<value>2</value>
   </property>
    <property>
        <name>dfs.nameservices</name>
        <value>hadoop-cluster1</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop:50090</value>
    </property>
    <property>
        <name>dfs.webhdfs.enabled</name>
        <value>true</value>
    </property>
</configuration>
属性“dfs.namenode.name.dir”表示NameNode存储命名空间和操作日志相关的元数据信息的本地文件系统目录,该项默认本地路径为”/tmp/hadoop-{username}/dfs/name”
属性”dfs.datanode.data.dir“表示DataNode节点存储HDFS文件的本地文件系统目录,由”file://本地目录”组成,该项默认本地路径为”/tmp/hadoop-{username}/dfs/data”
属性“dfs.namenode.secondary.http-address”表示SecondNameNode主机及端口号(如果无需额外指定SecondNameNode角色,可以不进行此项配置)

yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
	<property>
		<name>yarn.resourcemanager.hostname</name>
		<value>hadoop</value>
	</property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>192.168.30.226:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>192.168.30.226:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>192.168.30.226:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>192.168.30.226:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>192.168.30.226:8088</value>
    </property>
</configuration>
mapred-site.xml

<configuration>
    <property>
	<name>mapreduce.framework.name</name>
	<value>yarn</value>
	<final>true</final>
   </property>
    <property>
        <name>mapreduce.jobtracker.http.address</name>
        <value>192.168.30.226:50030</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>192.168.30.226:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>192.168.30.226:19888</value>
    </property>
    <property>
	<name>mapred.job.tracker</name>
	<value>http://192.168.30.226:9001</value>
   </property>
</configuration>
将配置好的hadoop文件copy到另一台slave机器上

安装完毕后,需登陆NameNode节点或任一DataNode节点执行hdfs namenode -format格式化集群HDFS文件系统;

注:如果非第一次格式化HDFS文件系统,则需要在进行格式化操作前分别将NameNode和各个DataNode节点的dfs.namenode.name.dir目录(在本例中为/home/hadoop/hadoopdata)下的所有内容清空。

登陆ResourceManger执行start-yarn.sh命令启动集群资源管理系统yarn

登陆NameNode执行start-dfs.sh命令启动集群HDFS文件系统

有时会发现secondarynamenode 没有 需要执行 hadoop-daemon.sh  start  secondarynamenode

有时无法启动datanode,然后关闭时就会报no datanode to stop ,引起这个的原因是因为我多次格式化,导致namespaceID不一致,解决方法也就简单了,

修改Salve里的current/VERSION里的namespaceID,将其设置成与namenode里的一致,然后再启动hadoop就可以解决了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值