hadoop32位编译为64位以及安装运行注意事项--centos7

注:请首先获得ROOT权限,并且在以下操作中尽量以管理员权限进行
一.安装JDK(请注意不要使用JDK8)
1.解压JDK(解压位置自行指定,这里解压到/hadoop/java 下)

tar -xvzf jdk-7u60-linux-x64.tar.gz

2.编辑 /etc/profile 文件 在最后一行添加

export JAVA_HOME=/hadoop/java/jdk1.7.0_75

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

3.使配置文件生效

source  /etc/profile

4.验证安装是否成功

java -version

出现如下则表示成功(centos7自带openJDK,请先卸载)

java version "1.7.0_75"

Java(TM) SE Runtime Environment (build 1.7.0_75-b13)

Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)

二、安装Maven

1.解压maven(我这里解压到/maven)

tar -xvzf apache-maven-3.3.3-bin.tar.gz

2.添加maven环境变量

cd /etc/profile.d/

touch maven.sh

向maven.sh中添加如下内容

export MAVEN_HOME='/maven/apache-maven-3.3.3'

export PATH=$MAVEN_HOME/bin:$PATH

3.使/etc/profile 生效

source /etc/profile

4.验证安装

mvn -version

出现如下则代表成功

Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T04:57:37-07:00)

Maven home: /maven/apache-maven-3.3.3

Java version: 1.7.0_75, vendor: Oracle Corporation

Java home: /hadoop/java/jdk1.7.0_75/jre

Default locale: en_US, platform encoding: UTF-8

OS name: "linux", version: "3.10.0-229.el7.x86_64", arch: "amd64", family: "unix"

三、安装Protobuf

1.安装依赖文件

yum install gcc*

2.解压缩

tar -xvf protobuf-2.5.0.tar.bz2

3.安装

cd protobuf-2.5.0/

./configure

make

make check

make install

4.验证安装

protoc --version

出现如下则代表成功

libprotoc 2.5.0

四、编译Hadoop

1.解压缩Hadoop源码

 tar -xvzf hadoop-2.5.1-src.tar.gz

2.修改Maven配置(下载速度更快)

sudo vi /maven/apache-maven-3.3.3/conf/settings.xml

在profiles中添加profile

<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. 安装依赖包

yum install ncurses-devel

yum install openssl-devel

yum install cmake

4.进入解压Hadoop源码的目录进行编译(我这里为 /hadoop-src/hadoop-2.5.1-src/)

mvn package -Pdist,native -DskipTests -Dtar

5.等待编译结束

最后出现以下内容代表成功

BUILD SUCCESS

6.编译后的文件存在于/hadoop-src/hadoop-2.5.1-src/hadoop-dist/target 中

7.进入/hadoop-src/hadoop-2.5.1-src验证版本号

bin/hadoop version

8.验证hadoop lib的位数

file lib//native/*

在最后一行出现如下内容,则代表编译成功

lib//native/libhdfs.so.0.0.0:   ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, not stripped


五、安装Hadoop(伪分布)

1.将/hadoop-src/hadoop-2.5.1-src/hadoop-dist/target 下的hadoop-2.5.1拷贝到某个文件夹(这里为/hadoop)

2.进入/hadoop/hadoop-2.5.1/etc/hadoop/ 修改五个文件

修改hadoop-env.sh

将${JAVA_HOME}处改成安装的Java目录

java -versionexport JAVA_HOME=/hadoop/java/jdk1.7.0_75

修改core-site.xml

<!-- 指定HDFS NameNode的地址 -->

<property>

<name>fs.defaultFS</name>

<value>hdfs://itcast01:9000</value>

</property>

<!-- 指定hadoop运行时产生文件的存储目录(可不写则默认在跟目录下的tmp中) -->

<property>

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

<value>/itcast/hadoop-2.4.1/tmp</value>

        </property>

修改hdfs-site.xml

<!-- 指定HDFS副本的数量 -->

<property>

<name>dfs.replication</name>

<value>1</value>

        </property>

修改mapred-site.xml

先运行 mv mapred-site.xml.template mapred-site.xml

后修改文件

<!-- 指定mr运行在yarn -->

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

        </property>

修改yarn-site.xml

<!-- 指定YARN的老大(ResourceManager)的地址 -->

<property>

<name>yarn.resourcemanager.hostname</name>

<value>itcast01</value>

        </property>

<!-- reducer获取数据的方式 -->

        <property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

        </property>


3.将hadoop添加到环境变量中(修改/etc/profile)

export JAVA_HOME=/hadoop/java/jdk1.7.0_75

export HADOOP_HOME=/hadoop/hadoop-2.5.1

export JRE_HOME=$JAVA_HOME/jre

export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export LD_LIBRARY_PATH=/protobuf/protobuf-2.5.0

生效配置

source /etc/profile

4.格式化namenode

hadoop namenode -format

5.启动hadoop

先启动hdfs

sbin/start-dfs.sh

再启动yarn

sbin/start-yarn.sh

6.使用jps命令查看是否启动成功

jps

出现六个进程即正常启动

27408 NameNode

28218 Jps

27643 SecondaryNameNode

28066 NodeManager

27803 ResourceManager

27512 DataNode


注:碰到的问题

1.启动dfs时namenode没有启动成功,查看日志出现

clusterID = CID-c22c7c08-b31c-45cb-a5f7-c16b725b9a36; datanode clusterID = CID-d2a8534e-cd04-4e23-875d-7b0e255b067d

解决方法:

进入格式化存储的目录(可默认,可指定。这里为默认)

cd /tmp/hadoop-hadoop/dfs/data/current/

sudo vi VERSION

#Wed May 27 06:13:52 PDT 2015

storageID=DS-25a85965-61a1-438b-8e1f-a129b1cf671f

clusterID=CID-c22c7c08-b31c-45cb-a5f7-c16b725b9a36 (改为namenode的clusterID)

cTime=0

datanodeUuid=8eaca581-11dc-4204-8295-ec8635fd6c7b

storageType=DATA_NODE

layoutVersion=-55

2.出现提示 Unable to load native-hadoop library for your platform

如果确定所安装的Hadoop版本的native版本为64位,则在/hadoop/hadoop-2.5.1/etc/hadoop/hadoop-env.sh中添加

export HADOOP_OPTS="-Djava.library.path=/hadoop/hadoop-2.5.1/lib:/hadoop/hadoop-2.5.1/lib/native"


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值