hadoop经典系列(三)2.x真集群安装
一安装JDK
#/etc/profile
exportJAVA_HOME=/application/search/java/default
exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#source/etc/profile
二无密码ssh登录(建议本机也弄)
#本地执行:生成密钥对
ssh-keygen-tdsa-P''-f~/.ssh/id_dsa
#远程服务器执行:用公钥给远程机器授权
#注意:在namenode上,为Secondarynamenode也需要操作一次本机的无密钥登陆
cat~/.ssh/id_dsa.pub>>~/.ssh/authorized_keys
#远程机器授权全后,可以删除公钥
rm-rf~/.ssh/id_dsa.pub
三配置hadoop
1)配置hadoop-env.sh
exportJAVA_HOME=/application/search/java/default
可以不配,默认地址为/log,但是为了防止其他地方修改
exportHADOOP_LOG_DIR=/application/search/hadoop/hadoop-2.1.0-beta/logs
2)配置conf/core-site.xml
如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:/tmp/hadoo-hadoop。而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/data0/search/hadoop/tmp</value>
<!--备注:请先在/data0/search/hadoop目录下建立tmp文件夹-->
<description>Abaseforothertemporarydirectories.</description>
</property>
<!--filesystemproperties-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://QT-H-0117:9000</value>
</property>
</configuration>
3)配置hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<!--备注:replication是数据副本数量,例如:设置为3的话,salve少于3台就会报错,副本数量没必要设置太多-->
</property>
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>QT-H-0118:50090</value>
<description>Thesecondarynamenodehttpserveraddressandport.</description>
</property>
4)配置yarn-site.xml
<property>
<description>ThehostnameoftheRM.</description>
<name>yarn.resourcemanager.hostname</name>
<!--其他端口和地址都引用此host,所以必须配置,resourcemanager可以与namenode分离-->
<value>QT-H-0117</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
<description>此项目不配置,报错java.lang.IllegalStateException:Invalidshuffleportnumber-1returned</description>
</property>
5)配置mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<description>classic,yarn,local</description>
</property>
</configuration>
6)配置slaves:namenode和resourceManager特有datanode可以不配置
QT-H-0118
QT-H-0119
四格式化
/bin/hdfsnamenode-format
五启动
/sbin/start-hfs.sh
/sbin/start-yarn.sh
六验证,在namenode上
http://10.10.160.150:8088/resourcemanager管理页面
http://10.10.160.150:50070/
七本地库安装
操作系统:CentOS-6.2-x86_64-minimal.iso
yuminstalllrzszvim
yuminstallmakecmakezlib-developenssl-develgccgcc+gcc-c++
protobuf自定义安装(hadoop2.1的版本必须使用2.5),protobuf-2.5.0.tar.gz
编译
在目标64位操作系统上重新编译源码
mvnpackage-Pdist,native-DskipTests-Dtar
替换文件
${hadoop_home}/lib/native
下面的4个文件,软连接不用动
libhadoop.a
libhadoop.so.1.0.0
libhdfs.a
libhdfs.so.0.0.0
libhadoop.so->libhadoop.so.1.0.0
libhdfs.so->libhdfs.so.0.0.0
libhadoop在源码编译的目录¥${hadoop_home_src}/hadoop-common-project/hadoop-common/target/native/target/usr/local/lib
libhdfs在源码编译的目录¥${hadoop_home_src}/hadoop-hdfs-project/hadoop-hdfs/target/native/target/usr/local/lib
tips:
本地库安装方法
glibc版本不一致
http://blog.csdn.net/jiedushi/article/details/7496327
重新编译
http://www.jm47.com/g/60913.htm
Hadoop新MapReduce框架Yarn详解
http://www.ibm.com/developerworks/cn/opensource/os-cn-hadoop-yarn/#_3.1_hadoop_0.23.0
【附加阅读】
http://blog.csdn.net/bxyz1203/article/details/8087233
【失败案例,可以继续研究】
其他ubuntu安装资料
1)安装protobuf2.5
默认hadoop-2.1-beta版本里默认不带64位的本地库,只有32位的,所以需要自行编译
首先安装protobuf-2.5,否则报错[ERROR]Failedtoexecutegoalorg.apache.hadoop:hadoop-maven-plugins:2.1.0-beta:protoc(compile-protoc)onprojecthadoop-common:org.apache.maven.plugin.MojoExecutionException:'protoc--version'didnotreturnaversion->[Help1]
ubuntu目前默认自带2.4.1,无法安装
apt-getinstallprotobuf-compiler
或者自行编译安装
http://blog.csdn.net/xocoder/article/details/9155901
下载protobuf
下载地址:http://code.google.com/p/protobuf/downloads/list
2)安装zlib
apt-getinstallzlib1g-dev