Ubuntu14.04全分布式安装hadoop2.7.2(三)jdk环境配置+hadoop单机

前端之家收集整理的这篇文章主要介绍了Ubuntu14.04全分布式安装hadoop2.7.2(三)jdk环境配置+hadoop单机前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

前文回顾:

三台电脑,一台做主机,两台做从机。主机名分别是
master,slave1,slave2,ip分别是192.168.235.1~3
系统:ubuntu14.04
jdk:1.8.0_91
Hadoop: 2.7.2 (stable)
用户名:hadoop

从零开始的安装步骤:
1 创建Hadoop用户
2 下载jdk,hadoop,ssh,eclipse等等,
3 实现几台机之间的ssh无密码登陆
4 配置环境(jdk,hadoop单机)
5 改host和hostname文件
6 在主机上修改和配置
7 把修改好的hadoop文件夹整个复制到从机上
8 主机上格式化namenode,并开始运行整个工程
9 jps查看运行状态
10 主机上关闭整个工程


本文主要讲第四个步骤:
*配置jdk的环境,实现hadoop单机模式

1 解压之前下载的文件
之前已经下载好jdk1.8(可能还有1.7)还有hadoop2.7.2的tar.gz文件。需要将它们解压出来。
看到有些教程会把jdk放在/opt/下,有些会放在/usr/local/下,都可以,只要之后写路径的时候记得放哪了就好。你想默认哪个版本就先装哪个版本。我放在/usr/local/下,默认1.8。
hadoop同样,也可以放在其他地方。解压后可以改名字,让以后写路径的时候更方便点。
终端命令:

$sudo tar zxvf hadoop-2.7.2.tar.gz -C /usr/local
$sudo tar zxvf jdk-8u91-linux-i586.tar.gz -C /usr/local
$sudo tar zxvf jdk-7u79-linux-i586.tar.gz -C /usr/local
#hadoop文件夹改名
$sudo mv /usr/local/hadoop-2.7.2 /usr/local/hadoop
#修改hadoop文件夹的权限
$sudo chown -R hadoop:hadoop /usr/local/hadoop

注意改名的命令本质上是剪切。如果用户文件夹和该文件夹重名(比如我用户文件夹叫hadoop,又把hadoop的文件夹叫做hadoop),要注意写清楚路径,指明是哪个位置,否则/usr/local下的hadoop文件夹可能就到了用户文件夹下。

2 配置环境变量
修改的配置能运行需要修改.bashrc文件,有些教程会修改/etc/profile文件,也是可以的。

#修改bashrc文件
$sudo vim ~/.bashrc

在bashrc文件最后添加

#set java environment
export JAVA_HOME=/usr/local/jdk1.8.0_91
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

#set hadoop environment
export HADOOP_INSTALL=/usr/local/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

注意=前后没有空格,.和:不要漏
保存后关闭文件

再执行命令:

$source ~/.bashrc

以上是读取并执行刚刚修改文件中的命令。source很重要,如果忘记了,之前的修改都是无用的,之后如执行start all命令时,会出现command not found。

3安装jdk和切换版本

#设置默认jdk,安装java和javac
$sudo update-alternatives --install /usr/bin/java java /usr/local/jdk1.8.0_91/bin/java 300  
$sudo update-alternatives --install /usr/bin/javac javac /usr/local/jdk1.8.0_91/bin/javac 300

安装jdk1.7时也如是执行后面两条命令(修改下路径),300是指优先级(不是默认不需要写300),默认1072。

查看当前版本:

$java -version

切换java版本:

$sudo update-alternatives --config java
$sudo update-alternatives --config javac

提示选择版本,再用查版本的指令查看,可以看到版本改变。

4hadoop单机运行例子验证
以上如果配置无误的话,hadoop已经可以单机运行了。可以用自带的例子检验。
hadoop的例子在hadoop/share/hadoop/mapreduce/下,名为hadoop-mapreduce-examples-版本号.jar

$cd /usr/local/hadoop
#创建input目录,复制运行/etc/hadoop/下所有xml文件到该目录下
/usr/local/hadoop$ sudo mkdir input
/usr/local/hadoop$ sudo cp /etc/hadoop/*.xml input 
#运行示例,检测input中符合' '中正则匹配规则的单词出现的次数(这里为dfs开头的单词)
/usr/local/hadoop$ /bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
#查看结果
/usr/local/hadoop$ cat /output/*

如果正常运行,看到success即成功。hadoop下会自动生成一个output文件夹来存放结果,但是下次运行时不会自动覆盖,再次运行示例时会报错。要先把上次的结果删掉。

/usr/local/hadoop$ sudo rm -R /output

我配置过程中没出错,参考博客中提到可能会提示Java之类的错误,则需要配置hadoop-env.sh文件
参考:
http://www.thebigdata.cn/Hadoop/15906.html(也是装hadoop的完整过程的介绍,看它可能比看我的要快)

下一篇继续。

猜你在找的Ubuntu相关文章