Hadoop 集群安装(主节点安装)
1、下载安装包及测试文档
切换目录到/tmp
view plain copy
cd /tmp
下载Hadoop安装包
view plain copy
wget http://192.168.1.100:60000/hadoop-2.6.0-cdh5.4.5.tar.gz
下载JDK安装包
view plain copy
wget http://192.168.1.100:60000/jdk-7u75-linux-x64.tar.gz
下载实验测试数据
view plain copy
wget http://192.168.1.100:60000/word.txt
2、安装Java JDK
这里安装的版本是jdk-7u75-linux-x64.tar.gz;
当前是普通用户,超级管理员才能对/opt目录进行操作,所有要使用sudo命令获取获取特权才能成功解压; 命令将其解压到/opt目录下:
view plain copy
sudo tar -zxvf /tmp/jdk-7u75-linux-x64.tar.gz -C /opt/
并将解压后的文件夹jdk-7u75-linux-x64改名为java:
view plain copy
sudo mv /opt/jdk1.7.0_75 /opt/java
修改java目录的所属用户和所属组:
view plain copy
sudo chown -R zhangyu.zhangyu /opt/java
jdk安装完配置环境变量,编辑/etc/profile:
view plain copy
sudo vim /etc/profile
在文档末端添加如下内容:
view plain copy
export JAVA_HOME=/opt/java
export PATH=\(JAVA_HOME/bin:\)PATH
刷新环境变量:
view plain copy
source /etc/profile
刷新环境变量后,可以通过java的家目录找到java可使用的命令。 利用java查看版本号命令验证是否安装成功:
view plain copy
java -version
正常结果显示如下:
3、Hadoop安装
这里安装的版本是hadoop-2.6.0-cdh5.4.5.tar.gz;命令将其解压到/opt目录下:
view plain copy
sudo tar -zxvf /tmp/hadoop-2.6.0-cdh5.4.5.tar.gz -C /opt/
并将解压后的文件夹hadoop-2.6.0-cdh5.4.5改名为hadoop:
view plain copy
sudo mv /opt/hadoop-2.6.0-cdh5.4.5 /opt/hadoop
修改hadoop目录的所属用户和所属组:
view plain copy
sudo chown -R zhangyu.zhangyu /opt/hadoop
jdk安装完配置环境变量,编辑/etc/profile:
view plain copy
sudo vim /etc/profile
末端添加如下内容:
view plain copy
export HADOOP_HOME=/opt/hadoop
export PATH=\(HADOOP_HOME/bin:\)PATH
刷新环境变量:
view plain copy
source /etc/profile
利用hadoop查看版本号命令验证是否安装成功:
view plain copy
hadoop version
正常结果显示如下:
4、修改hosts文件
获取网卡信息得命令有:ifconfig 和 ip a ;使用获取网卡信息得命令,查看到当前节点的IP地址;编辑/etc/hosts文件:
view plain copy
sudo vim /etc/hosts
添加本机IP地址对应本机映射名和其它节点IP地址对应映射名:
view plain copy
0.0.0.0 master
0.0.0.0 slave1
0.0.0.0 slave2
节点IP地址即”内网管理地址“
配置完hosts文件,可以通过映射名访问对应的IP地址;
5、创建数据文件夹
view plain copy
sudo mkdir /data
所有者修改为当前用户:
view plain copy
sudo chown -R zhangyu.zhangyu /data
6、修改hadoop hadoop-env.sh文件配置
view plain copy
vim /opt/hadoop/etc/hadoop/hadoop-env.sh
将JAVA_HOME修改成java所在目录:
view plain copy
export JAVA_HOME=/opt/java/
7、修改hadoop core-site.xml文件配置
编辑core-site.xml文件:
view plain copy
vim /opt/hadoop/etc/hadoop/core-site.xml
替换为下面的xml文本:
view plain copy
一项是hadoop.tmp.dir,配置hadoop处理过程中,临时文件的存储位置。这里的目录/data/需要提前创建。 另一项是fs.defaultFS,配置hadoop HDFS文件系统的地址。
8、修改hadoop hdfs-site.xml文件配置
编辑hdfs-site.xml文件:
view plain copy
vim /opt/hadoop/etc/hadoop/hdfs-site.xml
替换为下面的xml文本:
view plain copy
dfs.namenode.name.dir,配置元数据信息存储位置; dfs.datanode.data.dir,配置具体数据存储位置; dfs.replication,配置每个数据库备份数,由于目前我们使用1台节点,所以,设置为1,如果设置为2的话,运行会报错。
9、修改hadoop yarn-site.xml文件配置
编辑yarn-site.xml文件:
view plain copy
vim /opt/hadoop/etc/hadoop/yarn-site.xml
替换为下面的xml文本:
view plain copy
10、修改hadoop mapred-site.xml文件配置
创建mapred-site.xml文件:
view plain copy
vim /opt/hadoop/etc/hadoop/mapred-site.xml
输入为下面的xml文本:
view plain copy
11、修改hadoop slaves文件配置
view plain copy
vim /opt/hadoop/etc/hadoop/slaves
覆盖写入主节点映射名和从节点映射名:
view plain copy
master
slave1
slave2
12、创建公钥
在zhangyu用户下创建公钥:
view plain copy
ssh-keygen
出现如下内容:
Enter file in which to save the key (/home/zhangyu/.ssh/id_rsa):
直接使用默认选项,回车即可,出现如下内容:
Enter passphrase (empty for no passphrase):
直接回车,出现内容:
Enter same passphrase again:
直接回车,创建完成,结果内容如下:
13、拷贝公钥,过程中需要输入zhangyu用户的密码
view plain copy
ssh-copy-id master
view plain copy
ssh-copy-id slave1
view plain copy
ssh-copy-id slave2
提示:命令执行过程中需要输入“yes”和密码“zhangyu”。三台节点请依次执行完成。
测试连接是否正常:
view plain copy
ssh master
输入exit退出测试:
view plain copy
ssh slave1
输入exit退出测试:
view plain copy
ssh slave2
输入exit退出测试:
测试中可以看出,连接各节点时,无需输入密码,因为已经设置好授权秘钥。
14、拷贝文件到所有从节点
view plain copy
scp -r /opt/java/ /opt/hadoop/ slave1:/tmp/
view plain copy
scp -r /opt/java/ /opt/hadoop/ slave2:/tmp/
至此,主节点配置完成。
以下内容在所有从节点配置完成之后继续进行!
15、格式化分布式文件系统
在hadoop主节点执行:
view plain copy
/opt/hadoop/bin/hadoop namenode -format
16、启动Hadoop
在hadoop主节点执行:
view plain copy
/opt/hadoop/sbin/start-all.sh
执行过程中需要输入“yes”,允许利用公钥连接其它机器。
17、查看Hadoop进程
在hadoop主节点执行:
view plain copy
jps
输出结果必须包含6个进程,结果如下:
在hadoop从节点执行同样的操作:
view plain copy
jps
输出结果必须包含3个进程,具体如下:
18、在命令行中输入以下代码,打开Hadoop WebUI管理界面:
view plain copy
firefox http://master:50070
19、测试HDFS集群以及MapReduce任务程序
利用Hadoop自带的WordCount示例程序进行检查集群;在主节点进行如下操作,创建HDFS目录:
view plain copy
hadoop fs -mkdir /zhangyu/
view plain copy
hadoop fs -mkdir /zhangyu/input
将测试文件上传到到Hadoop HDFS集群目录:
view plain copy
hadoop fs -put /tmp/word.txt /zhangyu/input
执行wordcount程序:
view plain copy
cd /opt/hadoop/share/hadoop/mapreduce/
view plain copy
hadoop jar hadoop-mapreduce-examples-2.6.0-cdh5.4.5.jar wordcount /zhangyu/input/ /zhangyu/out/
查看执行结果:
view plain copy
hadoop fs -ls /zhangyu/out/
如果列表中结果包含”_SUCCESS“文件,代码集群运行成功。
查看具体的执行结果,可以用如下命令:
view plain copy
hadoop fs -text /zhangyu/out/part-r-00000
到此,集群安装完成。