ubuntu14.04下hadoop2.6.0安装
2016-07-05 20:16
363 查看
1. 下载ubuntu14.04 i386
地址:http://old-releases.ubuntu.com/releases/14.04.1/
2. 安装JDK
地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.1.解压安装
我们把JDK安装到这个路径:/jdk 或/usr/lib/jvm
如果没有这个目录(第一次当然没有),我们就新建一个目录
sudo mkdir /jdk
建立好了以后,我们来到刚才下载好的压缩包的目录,解压到我们刚才新建的文件夹里面去,并且修改好名字方便我们管理
sudo tar -zxvf jdk-8u91-linux-i586.gz -C /jdk
// sudo mv jdk1.7.0_05/jdk7
2.2.配置环境变量
Vim ~/.bashrc
在打开的文件的末尾添加
exportJAVA_HOME=/jdk1.8.0_91
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效
source ~/.bashrc
2.3配置环境变量
sudo gedit /etc/profile
exportJAVA_HOME=/jdk1.8.0_91
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
3.在Ubuntu下创建hadoop用户组和用户
1. 创建hadoop用户组;
1. sudo addgroup hadoop
2. 创建hadoop用户;
1. sudo adduser -ingroup hadoop hadoop
3. 给hadoop用户添加权限,打开/etc/sudoers文件;
1. sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL.
4.2 建立ssh无密码登录本机
切换到hadoop用户,执行以下命令:
1. su - hadoop
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1. 创建ssh-key,,这里我们采用rsa方式;
1. ssh-keygen -t rsa -P "" (注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)
2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;
1. cd ~/.ssh
2. cat id_rsa.pub >> authorized_keys (完成后就可以无密码登录本机了。)
3. 登录localhost;
1. ssh localhost
4. 执行退出命令;
1. exit
5.安装Hadoop
0. sudo tar -xzvf hadoop-2.6.0.tar.gz-C /usr/local/hadoop
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
6.尝试运行自带例子
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看运行结果
删除目录 sudo rm –r output
7.Hadoop伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop
进程以分离的 Java
进程来运行,节点既作为 NameNode
也作为 DataNode,同时,读取的是 HDFS
中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/
中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是
xml 格式,每个配置以声明property
的 name
和 value 的方式来实现。
修改配置文件 core-site.xml (通过
gedit 编辑会比较方便:
<configuration>
</configuration>
修改为下面配置:
同样的,修改配置文件 hdfs-site.xml:
Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop
时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml
中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS
和 dfs.replication
就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir
参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format
才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir
和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
配置完成后,执行 NameNode
的格式化:
成功的话,会看到 “successfully formatted”
和“Exitting with status 0”
的提示,若为 “Exitting with status 1”
则是出错。
![](http://img.blog.csdn.net/20160705201531708?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
执行namenode格式化
如果在这一步时提示 Error:JAVA_HOME is not set and could not be found. 的错误,则说明之前设置JAVA_HOME
环境变量那边就没设置好,请按教程先设置好JAVA_HOME
变量,否则后面的过程都是进行不下去的。
接着开启 NameNode
和 DataNode
守护进程。
1. ./sbin/start-dfs.sh
#start-dfs.sh是个完整的可执行文件,中间没有空格
Shell
命令
若出现如下SSH提示,输入yes即可。
![](http://img.blog.csdn.net/20160705201219703?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
启动Hadoop时的SSH提示
启动时可能会出现如下 WARN
提示:WARNutil.NativeCodeLoader: Unable to load native-hadoop library for your platform…using builtin-java classes where applicable WARN
提示可以忽略,并不会影响正常使用。
成功启动后,可以访问Web
界面 http://localhost:50070 查看
NameNode 和 Datanode
信息,还可以在线查看 HDFS
中的文件。
地址:http://old-releases.ubuntu.com/releases/14.04.1/
2. 安装JDK
地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
2.1.解压安装
我们把JDK安装到这个路径:/jdk 或/usr/lib/jvm
如果没有这个目录(第一次当然没有),我们就新建一个目录
sudo mkdir /jdk
建立好了以后,我们来到刚才下载好的压缩包的目录,解压到我们刚才新建的文件夹里面去,并且修改好名字方便我们管理
sudo tar -zxvf jdk-8u91-linux-i586.gz -C /jdk
// sudo mv jdk1.7.0_05/jdk7
2.2.配置环境变量
Vim ~/.bashrc
在打开的文件的末尾添加
exportJAVA_HOME=/jdk1.8.0_91
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
保存退出,然后输入下面的命令来使之生效
source ~/.bashrc
2.3配置环境变量
sudo gedit /etc/profile
exportJAVA_HOME=/jdk1.8.0_91
exportJRE_HOME=${JAVA_HOME}/jre
exportCLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
exportPATH=${JAVA_HOME}/bin:$PATH
3.在Ubuntu下创建hadoop用户组和用户
1. 创建hadoop用户组;
1. sudo addgroup hadoop
2. 创建hadoop用户;
1. sudo adduser -ingroup hadoop hadoop
3. 给hadoop用户添加权限,打开/etc/sudoers文件;
1. sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL下添加hadoop ALL=(ALL:ALL) ALL.
4.安装ssh服务
4.1 sudo apt-get install ssh openssh-server4.2 建立ssh无密码登录本机
切换到hadoop用户,执行以下命令:
1. su - hadoop
ssh生成密钥有rsa和dsa两种生成方式,默认情况下采用rsa方式。
1. 创建ssh-key,,这里我们采用rsa方式;
1. ssh-keygen -t rsa -P "" (注:回车后会在~/.ssh/下生成两个文件:id_rsa和id_rsa.pub这两个文件是成对出现的)
2. 进入~/.ssh/目录下,将id_rsa.pub追加到authorized_keys授权文件中,开始是没有authorized_keys文件的;
1. cd ~/.ssh
2. cat id_rsa.pub >> authorized_keys (完成后就可以无密码登录本机了。)
3. 登录localhost;
1. ssh localhost
4. 执行退出命令;
1. exit
5.安装Hadoop
0. sudo tar -xzvf hadoop-2.6.0.tar.gz-C /usr/local/hadoop
cd /usr/local/
sudo mv ./hadoop-2.6.0/ ./hadoop # 将文件夹名改为hadoop
sudo chown -R hadoop ./hadoop
Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:
cd /usr/local/hadoop
./bin/hadoop version
6.尝试运行自带例子
cd /usr/local/hadoop
mkdir ./input
cp ./etc/hadoop/*.xml ./input # 将配置文件作为输入文件
./bin/hadoop jar ./share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep ./input ./output 'dfs[a-z.]+'
cat ./output/* # 查看运行结果
删除目录 sudo rm –r output
7.Hadoop伪分布式配置
Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop
进程以分离的 Java
进程来运行,节点既作为 NameNode
也作为 DataNode,同时,读取的是 HDFS
中的文件。
Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/
中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml 。Hadoop的配置文件是
xml 格式,每个配置以声明property
的 name
和 value 的方式来实现。
修改配置文件 core-site.xml (通过
gedit 编辑会比较方便:
gedit./etc/hadoop/core-site.xml),将当中的
<configuration>
</configuration>
修改为下面配置:
1. <configuration>
2. <property>
3. <name>hadoop.tmp.dir</name>
4. <value>file:/usr/local/hadoop/tmp</value>
5. <description>Abase for other temporary directories.</description>
6. </property>
7. <property>
8. <name>fs.defaultFS</name>
9. <value>hdfs://localhost:9000</value>
10. </property>
11. </configuration>
同样的,修改配置文件 hdfs-site.xml:
1. <configuration>
2. <property>
3. <name>dfs.replication</name>
4. <value>1</value>
5. </property>
6. <property>
7. <name>dfs.namenode.name.dir</name>
8. <value>file:/usr/local/hadoop/tmp/dfs/name</value>
9. </property>
10. <property>
11. <name>dfs.datanode.data.dir</name>
12. <value>file:/usr/local/hadoop/tmp/dfs/data</value>
13. </property>
14. </configuration>
Hadoop配置文件说明
Hadoop 的运行方式是由配置文件决定的(运行 Hadoop
时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml
中的配置项。
此外,伪分布式虽然只需要配置 fs.defaultFS
和 dfs.replication
就可以运行(官方教程如此),不过若没有配置 hadoop.tmp.dir
参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format
才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir
和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。
配置完成后,执行 NameNode
的格式化:
1. ./bin/hdfs namenode -format
成功的话,会看到 “successfully formatted”
和“Exitting with status 0”
的提示,若为 “Exitting with status 1”
则是出错。
执行namenode格式化
如果在这一步时提示 Error:JAVA_HOME is not set and could not be found. 的错误,则说明之前设置JAVA_HOME
环境变量那边就没设置好,请按教程先设置好JAVA_HOME
变量,否则后面的过程都是进行不下去的。
接着开启 NameNode
和 DataNode
守护进程。
1. ./sbin/start-dfs.sh
#start-dfs.sh是个完整的可执行文件,中间没有空格
Shell
命令
若出现如下SSH提示,输入yes即可。
启动Hadoop时的SSH提示
启动时可能会出现如下 WARN
提示:WARNutil.NativeCodeLoader: Unable to load native-hadoop library for your platform…using builtin-java classes where applicable WARN
提示可以忽略,并不会影响正常使用。
成功启动后,可以访问Web
界面 http://localhost:50070 查看
NameNode 和 Datanode
信息,还可以在线查看 HDFS
中的文件。
相关文章推荐
- CentOS6.5 安装CPAN,从而安装perl的各种模块
- snoopy
- HDU 4016 Magic Bitwise And Operation(dfs+剪枝)
- linux ls和 ll 命令
- 关于@property()的那些属性及ARC简介
- hadoop中exmaple运行参数分析
- opencv_246.dll无法找到
- shell脚本:收集系统和各种服务的状态信息
- prop()和attr()获取a 标签href值的重大区别
- Linux的多任务多进程
- 使用php调用shell脚本同步文件
- 转:使用rsync在linux(服务端)与windows(客户端)之间同步
- 7月份 北京有关openstack的会议
- Android 4.4 移植到了 PowerPC 架构,支持大端架构
- 每天一个Linux命令(1):ls命令
- 每天一个Linux命令(1):ls命令
- 每天一个Linux命令(1):ls命令
- 每天一个Linux命令(1):ls命令
- 每天一个Linux命令(1):ls命令
- 每天一个Linux命令(1):ls命令