Hadoop运行软件环境:
1. SSH及 SSHD服务正常运行2. JDK如果没装,可以自己安装一下:
Sudo yum –y install jdk –b current
二、 Hadoop基础篇(安装完成单节点Hadoop)1. 源代码下载1.1 下载Hadoop 源码压缩包至服务器
wget http://mirror.bjtu.edu.cn/apache/hadoop/core/hadoop-0.20.2/hadoop-0.20.2.tar.gz
1.2 解压源码压缩包 tar HadoopInstall
Tar –zvxf hadoop-0.20.2.tar.gz –C HadoopInstall
HadoopInstall即为Hadoop安装目录
2. 环境变量配置 : (hadoop_env.sh )目录/home/YOURDictionary/HadoopInstall/ hadoop-0.20.2 /conf
2.1 JAVA_HOME:必选变量。
设置export JAVA_HOME=/usr/java/jdk1.6.0 jdk路径
2.2 HADOOP_HOME:可选变量
HADOOP_HOME默认的是bin目录的父目录,即/home/usr/HadoopInstall/ hadoop-0.20.2。
设置export HADOOP_HOME=/home/usr/HadoopInstall/ hadoop-0.20.2
3. 环境配置文件配置主要有三个配置文件:core-site.xml, hdfs-site.xml, mapred-site.xml
3.1 conf/core-site.xml
同理配置其他参数:
a. Hadoop运行的临时目录
hadoop.tmp.dir=/home/ads/data(自己设定自己虚拟机上的文件夹路径)
3.2 conf/hdfs-site.xml:
a. DFS的数据保存目录:dfs.data.dir=/home/data,/home1/data(自己设定自己虚拟机上的文件夹路径
b. DFS Namenode保存的位置:dfs.name.dir=${hadoop.tmp.dir}/dfs/name,/home/ads/data1/dfs/name(自己设定自己虚拟机上的文件夹路径)
3.3 conf/mapred-site.xml:
$ ssh-keygen -t rsa -P ” -f ~/.ssh/id_ rsa
$ cat ~/.ssh/id_ rsa.pub >> ~/.ssh/authorized_keys
进入~/HadoopInstall/ hadoop-0.20.2目录
5.1 格式化namenode执行下面的命令[usr@servername: hadoop-0.20.2]$bin/hadoop namenode –format
5.2 简单启动所有守护[usr@servername: hadoop-0.20.2]$ bin/start-all.sh
高级启动参见:Hadoop高级篇(Link)
5.3 停止守护[usr@servername: hadoop-0.20.2]$bin/stop-all.sh
6 验证测试启动成功后,可浏览器查看以下地址:
6.1 Job trackerhttp://master名称:50030,能查看此页面,页面状态(Stated)显式为RUNNing(页面左上角)。
6.2 NameNodehttp://master名称:50070,能看到Live Datanodes。
三、 Hadoop进阶篇(安装多节点hadoop):3.1 集群SSH设置,集群打通(注意是双向哦)例如集群存在三台机器,servername-1为主机。
3.1.1 在servername-1上生成密钥对:
[usr@servername-1:~]$ssh-keygen -t rsa
询问保存路径时直接回车采用默认路径
提示要为生成的密钥输入passphrase的时,直接回车,将其设定为空密码
生成的密钥对id_rsa,id_rsa.pub,默认存储在/home/usr/.ssh目录下。
3.1.2 id_rsa.pub的内容复制到每个机器(也包括本机)
id_rsa.pub的内容复制到每个机器(也包括本机)的/home/usr/.ssh/authorized_keys文件中。
如果机器上已经有 authorized_keys文件,就在文件末尾加上id_rsa.pub中的内容。
如果没有authorized_keys这个文件,直接cp 或者scp就好了,下面的操作假设各个机器上都没有authorized_keys文件。
i. 对于servername-1
[usr@servername-1:.ssh]$cp id_rsa.pub authorized_keys
ii. 对于servername-2(servername-3同servername-2的方法)
[usr @ servername-2:~]$mkdir .ssh
[usr @ servername-1:.ssh]$scp authorized_keys servername-2:/home/ servername /.ssh/
iii. 设置authorized_keys文件读写权限
[dbrg@ servername-2:.ssh]$chmod 644 authorized_keys必须保证authorized_keys只对其所有者有读写权限,其他人不允许有写的权限,否则SSH是不会工作的。
iv. 验证测试
i. 注意每个机器上的.ssh目录的ls -la都应该和上面是一样的
[usr @ servername-2:.ssh]ls -la
drwx—— 2 usr users.
drwx—— 3 usr users..
-rw-r–r– 1 usr users authorized_keys
ii. 测试本机ssh servername-1
iii. [usr @ servername-1:~]$ssh servername-2
如果ssh配置好了,就会出现以下提示信息
The authenticity of host [servername-2] can’t be established.
Key fingerprint is 1024 5f:a0:0b:65:d3:82:df:ab:44:62:6d:98:9c:fe:e9:52.
Are you sure you want to continue connecting (yes/no)?
OpenSSH告诉你它不知道这台主机,但是你不用担心这个问题,因为你是第一次登录这台主机。键入“yes”。这将把这台主机的“识别标记”加到“~/.ssh/know_hosts”文件中。第二次访问这台主机的时候就不会再显示这条提示信息了。
然后你会发现不需要输入密码就可以建立ssh连接了,恭喜你,配置成功了
3.3.1 Masters
在master主机上的hadoop-0.20.2 /conf/目录下,打开master 文件,把master 主机名添加进去:,本文以servername-1做为master,所以在master文件内容是:
servername-1
3.3.2 Slaves
在master主机上的hadoop-0.20.2 /conf/目录下,打开slaves文件,该文件用来指定所有的从节点,一行指定一个主机名。即本文中的servername-2,servername-3,因此slaves文件看起来应该是这样的
servername-2
servername-3
前面讲的这么多Hadoop的环境变量和配置文件都是在dbrg-1这台master主机上的, 将上述配置好的hadoop分发至各个slave的相同位置,注意要保证目录结构一致,
[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-2:/home/YOURDictionary / HadoopInstall
[usr@ servername-1:~]$scp -r /home/ YOURDictionary /HadoopInstall servername-3:/home/YOURDictionary / HadoopInstall
同hadoop 基础篇启动
3.6 验证测试同hadoop 基础篇 验证测试