hadoop-2.7.2伪分布模式安装教程
扫描二维码
随时随地手机看文章
hadoop-2.7.2伪分布模式安装教程
安装环境:
Ubuntu14.04- server
1. 创建hadoop用户
若安装Ubuntu时已创建hadoop用户,可跳过此步骤。
(注:亦可使用其他用户安装hadoop,但建议最好使用hadoop用户。)
sudo useradd hadoop
设置密码:
sudo passwd hadoop
为hadoop用户添加管理员权限:
方法一:
sudo adduser hadoop sudo
方法二:
打开/etc/sudoers文件,在root用户组中添加hadoop
sudo nano /etc/sudoers
使用hadoop用户登录:
su hadoop
(注意:以下步骤均需在hadoop用户下完成!)
2. 安装ssh,配置ssh无密码登录
安装ssh前,先更新一下apt:
sudo apt-get update
安装ssh命令:
sudo apt-get install openssh-server
安装后,启动ssh登录本机:
ssh localhost
作为一个安全通信协议,使用ssh登录时需要输入密码,而在hadoop集群中,需要将ssh改成无密码登录,hadoop节点间才能正常通信。
退出ssh登录:
exit
生成私钥和公钥:
cd ~/.ssh/
ssh-keygen -t rsa
将公钥追加到authorized_keys文件中:
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
再次使用ssh localhost登录本机,此时便不在需要输入密码了。
3. 安装Java环境
安装JRE和JDK:
sudo apt-get install openjdk-7-jre openjdk-7-jdk
(注意:hadoop2.7.2不再支持jdk1.6及以下版本)
配置Java环境变量:
为了方便对环境变量的统一管理,我们将其添加到/etc/profile文件中。
打开/etc/profile文件:
sudo nano /etc/profile
将以下内容追加到文件中:
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
(注:JAVA_HOME为JDK的安装路径)
更新一下配置文件:
source /etc/profile
测试JAVA_HOME环境变量和Java版本:
echo $JAVA_HOME
java –version
若能正确输出JAVA_HOME和Java版本,则Java环境配置成功。
4. 安装hadoop-2.7.2
从Apache官网下载hadoop-2.7.2.tar.gz:
http://apache.fayea.com/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
解压hadoop-2.7.2.tar.gz:
sudo tar –zxvf ~/hadoop-2.7.2.tar.gz
将其移动到合适位置:
sudo mv hadoop-2.7.2 /usr/local
重命名文件夹:
sudo mv hadoop-2.7.2 hadoop
配置hadoop环境变量:
为方便执行hadoop命令,需在/etc/profile文件中配置hadoop环境变量。
打开/etc/profile文件:
sudo nano /etc/profile
将以下内容追加到/etc/profile文件中:
export HADOOP_HOME=/usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export PATH=$PATH:$HADOOP_HOME/lib export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
(注:HADOOP_HOME为HADOOP的安装路径)
更新一下配置文件:
source /etc/profile
修改hadoop-env.sh文件中的JAVA_HOME环境变量:
打开hadoop-env.sh文件:
sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh
将export JAVA_HOME=$JAVA_HOME改为JDK具体的安装路径。
更新hadoop-env.sh文件,使其生效:
source /usr/local/hadoop/etc/hadoop/hadoop-env.sh
查看hadoop版本:
hadoop version
若能正确显示hadoop版本,则hadoop单机模式安装成功。
5. 配置伪分布模式
需要在/hadoop/etc/hadoop目录下的core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml四个配置文件中添加配置,其中后两个是用于配置YARN的。
为方便伪分布模式的配置,可先对主机名进行修改,将/etc/hostname文件中的内容改为Master(名字可随意,不一定是Master),这样有利于后继的完全分布式配置。
在core-site.xml中添加:
hadoop.tmp.dir file:/usr/local/hadoop/tmp Abase for other temporarydirectories. fs.defaultFS hdfs://Master:9000
在hdfs-site.xml文件中添加:
dfs.replication 1 dfs.namenode.name.dir file:/tmp/hadoop/dfs/name dfs.datanode.data.dir file:/tmp/hadoop/dfs/data dfs.namenode.secondary.http-address Master:50090
mapred-site.xml文件原先并不存在,需先将mapred-site.xml.template更名为mapred-site.xml:
sudo mv mapred-site.xml.template mapred-site.xml
然后在mapred-site.xml文件中添加:
mapreduce.framework.name yarn mapreduce.jobhistory.address Master:10020 mapreduce.jobhistory.webapp.address Master:19888
在yarn-site.xml文件中添加:
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname Master
修改完配置文件后,对namenode进行格式化:
./bin/hdfs namenode –format
至此hadoop-2.7.2的伪分布模式配置完毕。
6. 启动hadoop守护进程
启动dfs:
start-dfs.sh
启动后使用jps命令查看进程,将看到NameNode、DataNode、SecondaryNamenode三个进程。
启动YARN:
start-yarn.sh
启动后将增加ResourceManager、NodeManager两个进程。
也可以使用start-all.sh命令启动全部进程(start-all.sh = start-dfs.sh + start-yarn.sh)
启动JobHistoryServer:
因为mapred-site.xml文件中配置了JobHistoryServer,所以必须启动hadoop才能正常运行。mr-jobhistory-daemon.sh start historyserver
7. 运行hadoop伪分布式实例
在hdfs中创建输入文件夹,并将文件拷贝到文件夹中:
./bin/hdfs dfs -mkdir input
./bin/hdfs dfs -put ./etc/hadoop/*.xml input
运行mapreduce作业:
hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar wordcount input output
等待mapreduce作业运行结束,查看运行结果:
hdfs dfs -cat output/*
(注意:在作业运行之前,输出路径不能存在!)