毕设日志_____2019.1.23
实验集群环境搭建
三台阿里云服务器
公网ip | 内网ip
|
120.79.63.130 node2 | 172.17.17.58 |
112.74.50.240 主节点master | 172.17.17.79 |
39.108.232.147 node1 | 172.16.50.183 |
通过filezilla上传 jdk1.8.01_192.tar.gz 以及hadoop.2.6.0.tar.gz到主节点
下载Xshell作为远程连接工具
1:更改名称
用Xshell连接三台服务器 分别修改其主机名为 master node1 node2 对应服务器表格
命令如下 vim /etc/hostname
2:修改主机映射
Vim /etc/hosts
在原有文件上增加
120.79.63.130 node2
112.74.50.240 master
39.108.232.147 node1
通过scp将映射文件复制到子节点并且覆盖原有文件
命令:scp /etc/hosts node1:/etc/hosts
scp /etc/hosts node2:/etc/hosts
3:ssh免密
主节点执行命令 ssh-keygen –t rsa 产生公共密钥 一直回车会将公钥默认保存到~/.ssh/id_rsa.pub中
命令:ssh-copy-id -i node1
ssh-copy-id -i node2
将公钥导入到node1和node2中 来实现master到子节点的免密
命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
将master密钥导入到本地 实现本地ssh免密登陆
4:jdk安装
将filezilla传到主节点的jdk压缩包解压
命令: tar –zxf ./jdk1.8.0_192 /usr/local 解压到/usr/local目录
配置JAVA_HOME
命令: vim /etc/profile
进入文件增加如下
#set JAVA_HOME
export JAVA_HOME=/usr/local/jdk1.8.0_192
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
保存并且退出 执行命令: source /etc/profile使配置生效
通过在端口键入 java –version查看是否安装并且配置成功
至此配置jdk成功
将jdk传到两个子节点上并且配置JAVA_HOME 步骤如上
命令:scp –r /usr/local/jdk1.8.0_192 node1:/usr/local/
scp –r /usr/local/jdk1.8.0_192 node2:/usr/local/
5:hadoop安装
在主节点将hadoop2.6.0的压缩包解压
命令: tar –zxf ./hadoop2.6.0.tar.gz /usr/local/
解压到/usr/local目录下生成hadoop.2.6.0
为了以后方便使用 改名为hadoop
命令:mv ./hadoop.2.6.0 ./hadoop
配置主节点hadoop中的core-site.xml hdfs-site.xml yarn-site.xml mapred-site.xml
配置如下
在core-site.xml中增加
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://Master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>
在hdfs-site.xml中增加
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>Master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>
在yarn-site.xml中增加
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>Master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
将mapred-site.xml.template复制一份为mapred-site.xml.并增加
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>Master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>Master:19888</value>
</property>
</configuration>
主节点搭建完毕 复制到两个子节点
命令: scp /usr/local/hadoop node1:/usr/local
scp /usr/local/hadoop node2:/usr/local
检测集群是否搭建成功 为了方便以后使用为hadoop配置PATH
命令: vim /etc/profile
#set HADOOP_HOME
export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin
开始测试hadoop集群是否搭建成功
命令: start-all.sh
查看主节点进程
查看node1进程
查看node2进程
所有进程启动正常 Hadoop集群配置成功
注意:在使用Xshell时可以粘贴复制配置文件,但是在linux中,hadoop集群启动时会对core-site.xml hdfs-site.xml 等等进行解析
这里要注意在copy的时候在xml文件的开始行有默认的xml注释,表明这是该xml文件的版本以及编码格式。这个标明前面不要有任何其他内容(空格 空行都不行)否则启动hadoop集群的时候会出现解析错误从而导致hadoop集群启动失败。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>