配置依赖包
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
镜像地址配置为开源中国的
对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
然后配置环境变量
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就可以解决了。