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