Ubuntu14.04 (x64) 下hadoop2.5.0单节点安装与测试
详情见原文地址:http://jeyzhang.com/173/
在Ubuntu14.04(x64)下对hadoop2.5.0源码包进行编译后,就可以进行hadoop的安装与配置了。下面介绍一下如何进行hadoop2.5.0的单节点安装及测试验证,整个过程很简单,不用担心。
1. 创建用户组和用户
为了便于hadoop的统一安装与管理,需要增加hadoop用户组,同时在用户组中增加hadoop用户(这里默认用户组和用户的名字都是hadoop,当然你可以修改为其他)。后续的安装过程将使用hadoop用户进行登录操作。
1.1 创建hadoop用户组
输入
1 | sudo addgroup hadoop |
1.2 创建hadoop用户
在用户组中增加hadoop用户
输入
1 | sudo adduser -ingroup hadoop hadoop |
回车后会提示输入新的UNIX密码,这是新建用户hadoop的密码(密码不能为空),输入回车即可。最后确认信息是否正确(可以不填写),如果没问题,输入 Y,回车即可。
1.3 为hadoop用户添加权限
在此之前,用hadoop用户登录有些sudo命令是执行不了的,会提示“不在sudoers文件中”。这里需要提升hadoop用户的权限。
输入
1 | sudo gedit /etc/sudoers |
在打开的文件中的如下位置添加内容
1 2 3 4 5 | # User privilege specification root ALL=(ALL:ALL) ALL # 下方添加如下内容 # 提升hadoop权限至root等级 hadoop ALL=(ALL:ALL) ALL |
完成后,使用hadoop用户进行登录,以下的所有操作都需要以hadoop用户身份进行登录(否则有可能到时候会出现文件夹及文件的访问权限限制问题)。
切换为hadoop用户
1 | su hadoop |
如果需要输入密码,则输入之前设定好的密码即可。
2. 安装ssh
安装ssh的目的在于实现,本机与本机及后续集群安装时与其他节点进行无密码通信,并且保证了通信的安全性。ssh的原理在于由本机生成一个公钥 (.pub文件),将该公钥复制到另一个节点上,那么另一个节点可以凭借这个相同的公钥对本机进行无密码访问,其实公钥起到了一个免密码的认证作用。
输入
1 | sudo apt-get install openssh-server |
安装完成后,启动服务
1 | sudo /etc/init.d/ssh start |
查看服务是否正确启动
1 | ps -e | grep ssh |
如果有以下提示,启动正确
1 2 | 2345 ? 00:00:00 ssh-agent 5345 ? 00:00:00 sshd |
设置免密码登录,生成私钥和公钥
1 | ssh-keygen -t rsa -P "" |
一路回车即可
此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。下面将公钥追加到authorized_keys中,它将保存所有允许以当前用户身份登录到ssh客户端用户的公钥内容。
1 | cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys |
登录ssh,本机测试
输入
1 | ssh localhost |
第一次登录需要输入密码(本机密码),输入exit退出后,再次输入上面命令则不需要输入任何密码。最后退出ssh登录。
3. 检查JDK
在hadoop用户下,输入下面命令以检查jdk是否安装及版本信息
1 | java -version |
如果提示没有安装,有以下几种可能:
(1) 没有配置hadoop用户目录下的.bashrc文件
1 | vim ~/.bashrc |
加入
1 2 3 4 5 | # JAVA_HOME改为自己jdk的路径 export JAVA_HOME=/usr/lib/jvm/jdk1.7.0 export JRE_HOME=/usr/lib/jvm/jdk1.7.0 /jre export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$JAVA_HOME:$PATH |
生效
1 | source ~/.bashrc |
(2) hadoop用户没有访问jdk文件夹的权限
简单的做法是添加hadoop用户对jdk上层目录的访问权限,如下
1 2 3 4 5 6 | # 切换为root用户 su root # 注意改为自己的jdk安装路径 chown -R hadoop /usr/lib/jvm # 切换为hadoop用户,重试 java -version |
4. hadoop安装与配置
注意切换回hadoop用户
完成了以上部分,就可以进行hadoop2.5.0的安装了。下面将编译好的hadooop2.5.0文件夹复制到hadoop用户目录下
1 2 | # path为编译好的hadoop2.5.0文件夹路径 cp -r path/hadoop2.5.0/ ~/ |
重命名
1 | mv hadoop2.5.0 hadoop |
赋予用户对该文件夹的读写权限
1 | sudo chmod 774 ~/hadoop |
配置.bashrc文件
1 | sudo gedit ~/.bashrc |
添加
1 2 3 4 5 6 7 8 9 10 11 | #HADOOP VARIABLES START export HADOOP_INSTALL=/home/hadoop/hadoop export PATH=$PATH:$HADOOP_INSTALL/bin export PATH=$PATH:$HADOOP_INSTALL/sbin export HADOOP_MAPRED_HOME=$HADOOP_INSTALL export HADOOP_COMMON_HOME=$HADOOP_INSTALL export HADOOP_HDFS_HOME=$HADOOP_INSTALL export YARN_HOME=$HADOOP_INSTALL export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib" #HADOOP VARIABLES END |
生效
1 | source ~/.bashrc |
编辑~/hadoop/etc/hadoop/hadoop-env.sh
1 | sudo gedit ~/hadoop/etc/hadoop/hadoop-env.sh |
找到JAVA_HOME变量,修改为
1 | export JAVA_HOME=/usr/lib/jvm/jdk1.7.0 |
5. 安装验证与测试
下面通过一个hadoop自带的测试实例,即WordCount来验证单节点是否安装成功。
在~/hadoop/下创建input文件夹
1 2 | cd ~/hadoop mkdir input |
在input文件夹下新建一个test.txt文件
1 2 | cd input vim test.txt |
输入以下内容(可任意输入)
1 2 | Hello world, I'm Jerry. |
执行WordCount(注意在~/hadoop/目录下)
1 | bin/hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.5.0-sources.jar org.apache.hadoop.examples.WordCount input output |
运行完成后,执行下面命令,查看字符统计结果
1 | cat output/* |
如果出现以下提示,单节点安装成功
1 2 3 4 | Hello 1 world, 1 I'm 1 Jerry. 1 |
到此hadoop2.5.0的单节点安装就成功结束了,下一篇将介绍如何搭建和配置hadoop2.5.0的单机伪分布式环境。
转载请注明本文的链接地址: http://jeyzhang.com/173/,谢谢 : )