1、安装依赖环境
首先还是安装依赖的环境,分别是jdk和ssh
sudo apt-get install openjdk-7-jdk
sudo apt-get install ssh
2、创建用户组和用户
这里命名为hadoop
sudo addgroup hadoop
sudo adduser --ingroup hadoop
将用户添加到sudoer中,最简单的办法就是使用visudo命令,按照root的一行照样添加一行hadoop的
sudo visudo
添加一行,并且切换用户
hadoop ALL=(ALL:ALL) ALL
su hadoop
如果想使用自动安装脚本的请直接跳到最后!
3、添加设置环境变量
这里根据自己需求来,我的环境变量全部都添加在~/.bashrc中
在~/.bashrc中添加以下几行
export HADOOP_PREFIX=/opt
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
PATH=$HADOOP_PREFIX/hadoop/bin:$HADOOP_PREFIX/hadoop/sbin:/usr/lib/jvm/java-7-openjdk-i386/bin
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX/hadoop/share/mapred
export HADOOP_COMMON_HOME=$HADOOP_PREFIXt/hadoop/share/common
export HADOOP_HDFS_HOME=$HADOOP_PREFIX/hadoop/share/hdfs
export YARN_HOME=$HADOOP_PREFIX/hadoop/share/yarn
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export CLASSPATH=.:/usr/lib/jvm/java-7-openjdk-i386/lib/dt.jar:JAVA_HOME/lib/tools.jar
其中JDK相关的根据自己路径设置
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
PATH=$HADOOP_PREFIX/hadoop/bin:$HADOOP_PREFIX/hadoop/sbin:/usr/lib/jvm/java-7-openjdk-i386/bin
export HADOOP_MAPRED_HOME=$HADOOP_PREFIX/hadoop/share/mapred
export HADOOP_COMMON_HOME=$HADOOP_PREFIXt/hadoop/share/common
export HADOOP_HDFS_HOME=$HADOOP_PREFIX/hadoop/share/hdfs
export YARN_HOME=$HADOOP_PREFIX/hadoop/share/yarn
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
export CLASSPATH=.:/usr/lib/jvm/java-7-openjdk-i386/lib/dt.jar:JAVA_HOME/lib/tools.jar
其中JDK相关的根据自己路径设置
4、解压hadoop到目标目录
(我的是放在/opt下面),如果不是放在/opt下面则将第三步钟的HADOOP_PREFIX改成自己的
5、建立ssh信任关系
ssh-keygen -t rsa -P ""
cat .ssh/id_rsa.pub >>.ssh/authorized_keys
可以用ssh localhost验证是否成功
6、配置/opt/hadoop/etc/hadoop下面的配置文件
为了简单明了直接就上需要配置的文件吧
(1)hadoop-env.sh
将JAVA_HOME改成自己的jdk实际位置
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386
(2)hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
</property>
</configuration>
(3)core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
(4)mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
(5)yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>
7、测试(wordcount测试)
初始化namenode
/opt/hadoop/bin/hdfs namenode -format
启动
/opt/hadoop/sbin/start-all.sh
wget http://www.gutenberg.org/cache/epub/20417/pg20417.txt
/opt/hadoop/bin/hadoop dfs -mkdir /test
/opt/hadoop/bin/hadoop dfs -copyFromLocal ./pg20417.txt /test
使用mapreduce进行wordcount测试
/opt/hadoop/bin/hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar jar wordcount /test/pg20417.txt /test-out
运行完毕后导出到local查看结果
/opt/hadoop/bin/hadoop fs -get /test-out ~/testout
8、自动安装脚本
如果想省事,在完成前两步的情况下可以用我个人写的自动安装配置脚本(个人水平所限,脚本或许有考虑不周之处,如有问题请指出)