hadoop环境搭建编译

安装:

JDK1.7+ 
maven 3.0 or later 
findbugs 1.3.9 
protocolBuffer 2.5.0 
cmake 2.6 
zlib-devel 
openssl-devel

yum -y install svn ncurses-devel gcc* maven java-openjdk-*

yum -y install lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel

安装protobuf-2.5.0.tar.gz(注意版本必须是2.5.0)

tar zxvf protobuf-2.5.0.tar.gz

/configure --prefix=/home/work /protobuf/  

    make && make install

    编译成功后将export PATH= /home/work /protobuf/bin:$PATH加入到环境变量中

    最后输入  protoc --version命令,如显示libprotoc 2.5.0则安装成功

tar zxvf apache-ant-1.9.4-bin.tar.gz -C /usr/local/apache-ant-1.9.4

export ANT_HOME=/usr/local/apache-ant-1.9.4

export PATH=$PATH:$ANT_HOME/bin

下载findbugs-3.0.1.tar.gz,选择上面的standard version即可

 tar -zxvf findbugs-3.0.1.tar.gz -C /usr/local/findbugs

export FINDBUGS_HOME=/usr/local/findbugs

export PATH=$PATH:$FINDBUGS_HOME/bin

mvn clean package –Pdist,native –DskipTests –Dtar

或者: 

mvn package -Pdist,native -DskipTests -Dtar(我用的这个)

将编译的文件释放到目录下:

tar zxvf hadoop-dist/target/hadoop-2.7.3.tar.gz -C /usr/local/

 core-site.xml

<configuration>
  <!--配置NN在哪台机器以及它的端口,也可说是HDFS的入口  -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <!-- HDFS工作目录的设置,默认是linux的/temp,每次linux重启会清空,hadoop中
         的数据会全部丢失.-->
    <!-- 其它一些目录是以这个临时目录为基本目录的,如dfs.name.dir和dfs.name.edits.dir等-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/tmp</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
<property>
  <name>mapred.job.tracker</name>
  <value>master:49001</value>
</property>
<property>
  <name>mapred.local.dir</name>
 <value>/tmp</value>
</property>
</configuration>

hdfs-site.xml

<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop-2.7.4/name</value>
<description>  </description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop-2.7.4/data/</value>
<description> </description>
</property>
<property>
  <name>dfs.replication</name>
  <value>1</value>
</property>
</configuration>

slaves

slave1
slave2

masters

master

配置完以后,scp 到slave1 slave2 hadoop工作目录

打通ssh无密登录

各服务器执行

hadoop namenode -format

然后执行master上的sbin/start-all.sh即可

 PS:如果一直提示没有找到JAVA_HOME,./libexec/hadoop-config.sh中166行增加export JAVA_HOME="/usr/lib/jvm/java"即可

原文地址:https://www.cnblogs.com/a-xu/p/7993776.html