添加专门用户
# groupadd my_term
# useradd -g my_term myhadoop
设置用户口令为mypassword
# passwd myhadoop
建一个专用目录
# mkdir /home/myhadoop/res
把相关软件包都下载到这里
安装JDK
# cd /home/myhadoop/res
# tar -zvxf jdk-7u5-linux-x64.tar.gz
mv jdk1.7.0_05 /home/myhadoop/jdk1.7.0_05
安装基本编译程序
yum -y install svn ncurses-devel gcc*
yum -y install lzo-devel zlib-devel autoconf automake libtool
cmake openssl-devel ncurses-devel
安装maven
cd /home/myhadoop/res
tar zxvf apache-maven-3.1.1-bin.tar.gz
mv apache-maven-3.1.1 /home/myhadoop/maven
安装protobuf
tar zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0
./configure
make && make install
编译hadoop源代码
cd /home/myhadoop/res
tar -zvxf hadoop-2.2.0-src.tar.gz
cd hadoop-2.2.0-src
在hadoop-common-project/hadoop-auth/pom.xml文件中
org.mortbay.jetty
jetty
test
后边添加
org.mortbay.jetty
jetty-util
test
在hadoop-hdfs-project/hadoop-hdfs/pom.xml文件中
org.apache.maven.plugins
maven-javadoc-plugin
org.apache.hadoop.hdfs.protocol.proto
后边加上
attach-javadocs
jar
执行
/home/myhadoop/maven/bin/mvn clean package -Pdist,native
-DskipTests -Dtar
cp hadoop-dist/target/hadoop-2.2.0.tar.gz
../hadoop-2.2.0.tar.gz
安装hadoop
cd /home/myhadoop/res
tar -zvxf hadoop-2.2.0.tar.gz
mv hadoop-2.2.0 /home/myhadoop/hadoop
设置环境变量
# vi /etc/profile //在最后加上以下内容
JAVA_HOME=/home/myhadoop/jdk1.7.0_05
export JAVA_HOME
export HADOOP_HOME=/home/myhadoop/hadoop
CLASSPATH=/home/myhadoop/jdk1.7.0_05/lib:/home/myhadoop/jdk1.7.0_05/jre/lib:.
export CLASSPATH
export MAVEN_HOME=/home/myhadoop/maven
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$MAVEN_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH
JRE=/home/myhadoop/jdk1.7.0_05/jre
export JRE
重载
source /etc/profile
免密码ssh设置
现在确认能否不输入口令就用ssh登录localhost:
$ ssh localhost
如果不输入口令就无法用ssh登陆localhost,执行下面的命令:
$ ssh-keygen -t dsa -P '' -f
~/.ssh/id_dsa
$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
建相关目录
mkdir /home/myhadoop/hadoop/dir
mkdir /home/myhadoop/hadoop/dir/tmp
mkdir /home/myhadoop/hadoop/dir/dfs
mkdir /home/myhadoop/hadoop/dir/dfs/name
mkdir /home/myhadoop/hadoop/dir/dfs/data
mkdir /home/myhadoop/hadoop/dir/mr
mkdir /home/myhadoop/hadoop/dir/mr/tmp
mkdir /home/myhadoop/hadoop/dir/mr/local
配置
hadoop-env.sh中修改
export JAVA_HOME=/home/myhadoop/jdk1.7.0_05
core-site.xml配置文件
hadoop.tmp.dir
/apps/hadoop/dir/tmp
fs.default.name
hdfs://localhost:8020
The name of the default file system. Either the literal string
"local" or a host:port for NDFS.
hdfs-site.xml配置文件
dfs.replication
1
dfs.namenode.name.dir
file:/apps/hadoop/dir/dfs/name
true
dfs.datanode.data.dir
file:/apps/hadoop/dir/dfs/data
true
dfs.replication
1
dfs.permissions.enabled
false
复制mapred-site.xml.template成mapred-site.xml
修改mapred-site.xml
mapreduce.cluster.temp.dir
file:/apps/hadoop/dir/mr/tmp
true
mapreduce.cluster.local.dir
file:/apps/hadoop/dir/mr/local
true
yarn-site.xml配置文件
yarn.nodemanager.aux-services
mapreduce_shuffle
shuffle service that needs to be set for Map Reduce to
run
修改目录属性
chown -R myhadoop /home/myhadoop
格式化 namenode
/home/myhadoop/hadoop/bin/hdfs namenode -format
开始守护进程
/home/myhadoop/hadoop/sbin/start-dfs.sh
开始 yarn守护进程
/home/myhadoop/hadoop/sbin/start-yarn.sh
或
/home/myhadoop/hadoop/sbin/start-all.sh
看看成功不
jps
5949 SecondaryNameNode
6084 ResourceManager
5653 NameNode
5784 DataNode
恭喜您!