您的位置:首页 > 运维架构

最新版hadoop2.7.1单机版与伪分布式安装配置

2016-01-23 18:12 357 查看
前提:熟悉Linux系统操作,掌握基本的Linux命令注意:安装路径中不能有任何中文字符和空格!我安装的是ubuntu14,用户名是ubuntu,机器名是ubuntu,hadoop的版本是hadoop-2.7.1.tar.gz

一、在Ubuntu下创建hadoop用户组和用户

1、  将hadoop用户添加到系统用户
ubuntu@ubuntu:~$ sudo addgroup hadoop
ubuntu@ubuntu:~$ sudo adduser --ingroup hadoop hadoop
2、 现在只是添加了一个用户hadoop,它并不具备管理员权限,我们给hadoop用户添加权限,打开/etc/sudoers文件
ubuntu@ubuntu:~$ sudo vim /etc/sudoers
在root  ALL=(ALL:ALL)  ALL下添加hadoop  ALL=(ALL:ALL)  ALL

二、配置Java环境

1、 将jdk-7u80-linux-x64.tar.gz解压到相应路径(可以用命令也可以直接选中右键解压),我这里是解压/home/ubuntu/software/java,解压后文件夹为jdk1.7.0_80(所在路径为/home/ubuntu/software/java/jdk1.7.0_80)2、 解压完之后配置环境变量
ubuntu@ubuntu:$ sudo vim /etc/profile
在最后添加如下:
export JAVA_HOME=/home/ubuntu/software/java/jdk1.7.0_80
export JRE_HOME=/home/ubuntu/software/java/jdk1.7.0_80/jre
exportCLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
运行java -version命令验证Java是否安装配置成功。
ubuntu@ubuntu:~$ java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)

三、SSH安装

1、  先安装ssh。记住:从这里开始需要先从ubuntu用户切换到hadoop用户
ubuntu@ubuntu:~$ su - hadoop
Password:
hadoop@ubuntu:~$ sudo apt-get install openssh-server
2、  如果ssh安装完成之后,先启动服务
hadoop@ubuntu:~$ sudo /etc/init.d/ssh start
启动后通过命令查看是否正确启动
hadoop@ubuntu:~$ ps -e |grep ssh
3、  作为一个安全通信协议(ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式),使用时需要密码,因此我们要设置成免密码登录,生成私钥和公钥:
hadoop@ubuntu:~$ ssh-keygen -t rsa -P ""
(注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的前者为私钥,后者为公钥)进入~/.ssh/目录下,将公钥id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的(authorized_keys 用于保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容):hadoop@ubuntu:~$ cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys执行ssh localhost命令进行登录:
hadoop@ubuntu:~$ ssh localhost
Welcome to Ubuntu 14.04.3 LTS (GNU/Linux 3.19.0-43-generic x86_64)

* Documentation:  https://help.ubuntu.com/ 
18 packages can be updated.
18 updates are security updates.

Last login: Thu Jan 21 14:40:38 2016 from localhost
出现“Welcome to Ubuntu 14.04.3 LTS。。。”则表示登录成功。( 注:当ssh远程登录到其它机器后,现在你控制的是远程的机器,需要执行退出命令才能重新控制本地主机。)使用命令exit可以进行退出
hadoop@ubuntu:~$ exit
logout
Connection to localhost closed.
编辑/etc/hosts文件,将127.0.0.1      localhost127.0.1.1       ubuntu改为192.168.1.128       localhost192.168.1.128       ubuntu注:192.168.1.128为虚拟机机的ip地址(用命令ifconfig可以查看ip)

四、安装hadoop-2.7.1

1、  将hadoop-2.7.gz解压到/usr/local下面
hadoop@ubuntu:~$ sudo tar –xzf hadoop-2.7.gz
重命名hadoop-2.7.1文件夹名为hadoop(为了敲命令方便)
hadoop@ubuntu:~$ sudo mv hadoop-2.7.1 hadoop
2、 要确保所有的操作都是在用户hadoop下完成的,所以将该hadoop文件夹的属主用户设为hadoop。
hadoop@ubuntu:/usr/local$sudo chown –R hadoop:hadoop hadoop
3、  配置hadoop-env.sh文件(hadoop-env.sh文件在hadoop/etc/hadoop路径下面)
hadoop@ubuntu:/usr/local$ sudo vim /usr/local/hadoop/etc/hadoop/hadoop-env.sh
在hadoop-env.sh中export JAVA_HOME后面添加以下信息(JAVA_HOME路径改为实际路径):
export JAVA_HOME=/home/ubuntu/software/java/jdk1.7.0_80
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
保存之后运行下面命令使配置生效
hadoop@ubuntu:/usr/local/hadoop/etc/hadoop$source hadoop-env.sh
再到/etc/profile中添加HADOOP_INSTALL并修改PATH,结果为
export JAVA_HOME=/home/ubuntu/software/java/jdk1.7.0_80
export
4000
JRE_HOME=/home/ubuntu/software/java/jdk1.7.0_80/jre
export HADOOP_INSTALL=/usr/local/hadoop
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
exportPATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_INSTALL/bin:$HADOOP_INSTALL/sbin
保存后重启虚拟机。切换到hadoop用户,运行命令
hadoop@ubuntu:/usr/local/hadoop$ hadoop version
如果看到如下hadoop版本信息则表示hadoop单机模式安装成功
hadoop@ubuntu:/usr/local/hadoop$ hadoop version
Hadoop 2.7.1
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r15ecc87ccf4a0228f35af08fc56de536e6ce657a
Compiled by jenkins on 2015-06-29T06:04Z
Compiled with protoc 2.5.0
From source with checksum fc0a1a23fc1868e4d5ee7fa2b28a58a
This command was run using/usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar
现在运行一下hadoop自带的例子wordcount来感受以下MapReduce过程:在hadoop目录下新建input文件夹
hadoop@ubuntu:/usr/local/hadoop$ sudo mkdir input
将etc中的所有文件拷贝到input文件夹中
hadoop@ubuntu:/usr/local/hadoop$ cp etc/*input
运行wordcount程序,并将结果保存到output中(注意input所在路径、jar所在路径)
hadoop@ubuntu:/usr/local/hadoop/share/hadoop/mapreduce$bin/hadoop jar hadoop-mapreduce-examples-2.7.1.jarwordcount /usr/local/hadoop/input/hadoop output
运行
hadoop@ubuntu:/usr/local/hadoop$ cat output/*
会看到conf所有文件的单词和频数都被统计出来。   

到此单机模式已经安装成功,下面可以接着伪分布模式安装

一、在/etc/hadoop下配置一下几个文件core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml在后面添加如下信息

core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporarydirectories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.154.128:9000</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
mapred-site.xml(没有则复制一份mapred-site.xml.template并命名为mapred-site.xml)
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
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>
 

二、HDFS文件系统格式化和系统启动

下面进行HDFS文件系统进行格式化: 
$bin/hdfs namenode -format
然后启用NameNode及DataNode进程:
hadoop@ubuntu:/usr/local/hadoop$ sbin/start-dfs.sh
hadoop@ubuntu:/usr/local/hadoop$ sbin/start-yarn.sh
启动进程之后用jps命令查看进程情况,出现6个进程名字说明启动成功
8431 JobTracker8684 TaskTracker7821 NameNode7281 DataNode8915 Jps8341 SecondaryNameNode 
至此,hadoop伪分布式安装成功。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息