“大数据基本环境配置”的版本间的差异

来自CloudWiki
跳转至: 导航搜索
配置时间同步
下载ntp
 
(未显示5个用户的36个中间版本)
第2行: 第2行:
  
 
== 搭建准备 ==
 
== 搭建准备 ==
搭建大数据环境之前默认已经安装好了linux,如未安装,请参考本维基百科上的linux安装教程-->[http://120.25.100.149/mediawiki/index.php/%E5%AE%89%E8%A3%85Centos_7%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F 安装Centos7]
+
搭建大数据环境之前默认已经安装好了linux,且linux网络为NAT
  
 
== 修改主机名 ==
 
== 修改主机名 ==
  
*临时修改主机名
+
*修改主机名
 +
在master,slave1,slave2上分别执行
 +
<nowiki># hostnamectl set-hostname master</nowiki>
  
 +
<nowiki># hostnamectl set-hostname slave1</nowiki>
 +
 +
<nowiki># hostnamectl set-hostname slave2</nowiki>
 
:su查看
 
:su查看
  
<nowiki>
 
# systemctl set-hostname master
 
</nowiki>
 
  
 
[[文件:Hostname.png]]
 
[[文件:Hostname.png]]
  
*永久修改主机名
+
== 修改hosts ==
 +
 
 +
 
 +
 
 +
<nowiki>
 +
 
 +
#ifconfig 查看Ip,
  
<nowiki>
 
# vim /etc/sysconfig/network
 
 
</nowiki>
 
</nowiki>
  
[[文件:Network.png]]
+
[[文件:QQ截图20181213194707.png]]
  
*加上下面两句话
+
ctrl+alt 退出 linux ,使用快捷键win+r,调出运行窗口,在运行窗口中输入cmd,进入进入cmd界面,在cmd界面使用ping 命令测试物理机是否与linux网络通畅。例如我的linux的ip是222.194.114.136 ,cmd界面输入的命令是
 +
<nowiki>ping 222.194.114.136</nowiki>
 +
[[文件:Cmd.png]]
  
:NETWORKING=yes
 
  
:HOSTNAME=master
+
[[文件:Ping2.png]]
  
[[文件:主机名.png]]
 
  
*重启linux
 
  
<nowiki>
+
 
# reboot
+
#重启网络服务
 +
 
 +
<nowiki>
 +
 
 +
# systemctl restart network
 +
 
 
</nowiki>
 
</nowiki>
 +
使用xshell连接linux
 +
 +
== 关闭防火墙 ==
 +
  
[[文件:Reboot.png]]
 
  
== 修改hosts ==
+
在命令行输入
 +
 
 +
<nowiki>#  systemctl stop firewalld</nowiki>
 +
 
 +
[[文件:Stopfirewall.png]]
 +
 
 +
<nowiki>#  systemctl status firewalld</nowiki>
 +
 
 +
[[文件:FirewallStatus.png]]
 +
 
 +
<nowiki>#  systemctl  disable  firewalld</nowiki>
 +
 
 +
[[文件:Disable.png]]
  
#修改masterIP地址
+
<nowiki># service network restart </nowiki>
  
<nowiki>
+
[[文件:Restart.png]]
  
#  vim vim /etc/sysconfig/network-scripts/ifcfg-enp0s3
+
== 配置时间同步 ==
  
</nowiki>
 
  
[[文件:IPADDR.png]]
+
:时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则 同步以后时间也是有时区差。
  
在文件中写入以下内容
+
:可以使用 date 命令查看自己的机器时间。使用 date 命令查看自己的机器时间,使用 tzselect 命令选择时区
  
[[文件:IP_NET.png]]
+
[[文件:时间同步.png]]
  
 +
== 下载ntp ==
  
<nowiki>
+
<nowiki>yum install -y  ntp</nowiki>
  
# vim vim /etc/sysconfig/network
+
master 作为 ntp 服务器,修改 ntp 配置文件。(master 上执行)
  
</nowiki>
+
<nowiki>vi /etc/ntp.conf</nowiki>
  
[[文件:Gateway.png]]
+
<nowiki>server 127.127.1.0                 # local clock
 +
fudge 127.127.1.0 stratum 10 #stratum 设置为其它值也是可以的, 其范围为 0~15</nowiki>
  
 +
== 配置ssh免密登录 ==
  
 +
SSH 主要通过 RSA 算法来产生公钥与私钥,在数据传输过程中对数据进行加 密来保障数
 +
据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,
 +
  
#重启网络服务
+
私钥主要用于对数据进行加密,以防他人盗取数据。总而言之,这是一种非对称 算法,想要破解还是非常有难度的。Hadoop 集群的各个结点之间需要进行数据 的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop 采用 的是 ssh 的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然, 如果 hadoop 对每个结点的访问均需要进行验证,其效率将会大大降低,所以才 需要配置 SSH 免密码的方法直接远程连入被访问结点,这样将大大提高访问效率
  
:<nowiki>
 
  
# systemctl restart network
+
每个结点分别产生公私密钥:
  
 +
<nowiki>ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(三台机器)
 
</nowiki>
 
</nowiki>
 +
秘钥产生目录在用户主目录下的.ssh 目录中,进入相应目录查看:
 +
 +
<nowiki>cd .ssh/</nowiki>
 +
 +
[[文件:Ssh免密登录.png]]
  
# 网络测试
 
  
:在终端输入 ping 192.168.56.1测试
+
Id_dsa.pub 为公钥, id_dsa 为私钥,紧接着将公钥文件复制成 authorized_keys 文件:(仅 master)
 +
cat id_dsa.pub >> authorized_keys(注意在.ssh/路径下操作)
  
[[文件:Ping.png]]
+
[[文件:复制秘钥.png]]
  
== 关闭防火墙 ==
+
在主机上连接自己,也叫做 ssh 内回环。
 +
 
 +
<nowiki>ssh master</nowiki>
 +
 
 +
[[文件:Sshmaster.png]]
  
  
 +
让主结点 master 能通过 SSH 免密码登录两个子结点 slave。(slave 中 操作)
 +
为了实现这个功能,两个 slave 结点的公钥文件中必须要包含主结点的公钥 信息,这样
 +
当 master 就可以顺利安全地访问这两个 slave 结点了。
 +
slave1 结点通过 scp 命令远程登录 master 结点,并复制 master 的公钥文件 到当前的目录下,且重命名为 master_das.pub,这一过程需要密码验证。
  
在命令行输入
+
<nowiki>scp master:~/.ssh/id_dsa.pub ./master_das.pub</nowiki>
  
<nowiki>#  systemctl stop firewalld</nowiki>
+
[[文件:复制master.png]]
  
[[文件:Stopfirewall.png]]
+
将 master 结点的公钥文件追加至 authorized_keys 文件:
  
<nowiki>#  systemctl status firewalld</nowiki>
+
[[文件:追加公钥.png]]
  
[[文件:FirewallStatus.png]]
+
== 安装JDK ==
  
<nowiki># systemctl  disable  firewalld</nowiki>
+
#首先建立工作路径/usr/java
  
[[文件:Disable.png]]
+
<nowiki>mkdir -p /usr/java</nowiki>
  
<nowiki>#  service network restart </nowiki>
+
<nowiki>tar -zxvf /opt/soft/jdk-8u171-linux-x64.tar.gz -C /usr/java/</nowiki>
  
[[文件:Restart.png]]
+
#修改环境变量
  
== 配置时间同步 ==
+
修改环境变量:vi /etc/profile 添加内容如下:
 +
<nowiki>export JAVA_HOME=/usr/java/jdk1.8.0_171
 +
export CLASSPATH=$JAVA_HOME/lib/
 +
export PATH=$PATH:$JAVA_HOME/bin
 +
export PATH JAVA_HOME CLASSPATH</nowiki>
  
 +
[[文件:java环境变量.png]]
  
时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验
+
生效环境变量:
中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则 同步以后时间也是有时区差。
+
<nowiki>source /etc/profile</nowiki>
可以使用 date 命令查看自己的机器时间。
+
查看 java 版本:
 +
<nowiki>java -version
 +
</nowiki>
 +
  
== 下载ntp ==
+
[[文件:Java版本.png]]
  
 +
使用 scp 命令,将相同的文件从 master 中复制过来。
 +
在 master 中将 JDK 复制到 slave2 中(要保证 slave2 中已有相应目录)
  
== 配置ssh免密登录 ==
+
<nowiki>scp -r /usr/java/jdk1.8.0_171/ slave2:/usr/java/</nowiki>
  
== 安装JDK ==
+
[[文件:复制java.png]]

2018年12月17日 (一) 12:02的最新版本

.

搭建准备

搭建大数据环境之前默认已经安装好了linux,且linux网络为NAT

修改主机名

  • 修改主机名

在master,slave1,slave2上分别执行

# hostnamectl set-hostname master
# hostnamectl set-hostname slave1
# hostnamectl set-hostname slave2
su查看


Hostname.png

修改hosts


#ifconfig 查看Ip,


QQ截图20181213194707.png

ctrl+alt 退出 linux ,使用快捷键win+r,调出运行窗口,在运行窗口中输入cmd,进入进入cmd界面,在cmd界面使用ping 命令测试物理机是否与linux网络通畅。例如我的linux的ip是222.194.114.136 ,cmd界面输入的命令是

ping 222.194.114.136
Cmd.png


Ping2.png



  1. 重启网络服务

# systemctl restart network


使用xshell连接linux

关闭防火墙

在命令行输入

#  systemctl stop firewalld

Stopfirewall.png

#  systemctl status firewalld

FirewallStatus.png

#  systemctl  disable  firewalld

Disable.png

#  service network restart 

Restart.png

配置时间同步

时区一致。要保证设置主机时间准确,每台机器时区必须一致。实验中我们需要同步网络时间,因此要首先选择一样的时区。先确保时区一样,否则 同步以后时间也是有时区差。
可以使用 date 命令查看自己的机器时间。使用 date 命令查看自己的机器时间,使用 tzselect 命令选择时区

时间同步.png

下载ntp

yum install -y  ntp

master 作为 ntp 服务器,修改 ntp 配置文件。(master 上执行)

vi /etc/ntp.conf
server	127.127.1.0	                # local clock
fudge	127.127.1.0	 stratum 10	#stratum 设置为其它值也是可以的, 其范围为 0~15

配置ssh免密登录

SSH 主要通过 RSA 算法来产生公钥与私钥,在数据传输过程中对数据进行加 密来保障数 据的安全性和可靠性,公钥部分是公共部分,网络上任一结点均可以访问,


私钥主要用于对数据进行加密,以防他人盗取数据。总而言之,这是一种非对称 算法,想要破解还是非常有难度的。Hadoop 集群的各个结点之间需要进行数据 的访问,被访问的结点对于访问用户结点的可靠性必须进行验证,hadoop 采用 的是 ssh 的方法通过密钥验证及数据加解密的方式进行远程安全登录操作,当然, 如果 hadoop 对每个结点的访问均需要进行验证,其效率将会大大降低,所以才 需要配置 SSH 免密码的方法直接远程连入被访问结点,这样将大大提高访问效率


每个结点分别产生公私密钥:

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(三台机器)

秘钥产生目录在用户主目录下的.ssh 目录中,进入相应目录查看:

cd .ssh/

Ssh免密登录.png


Id_dsa.pub 为公钥, id_dsa 为私钥,紧接着将公钥文件复制成 authorized_keys 文件:(仅 master) cat id_dsa.pub >> authorized_keys(注意在.ssh/路径下操作)

复制秘钥.png

在主机上连接自己,也叫做 ssh 内回环。

ssh master

Sshmaster.png


让主结点 master 能通过 SSH 免密码登录两个子结点 slave。(slave 中 操作) 为了实现这个功能,两个 slave 结点的公钥文件中必须要包含主结点的公钥 信息,这样 当 master 就可以顺利安全地访问这两个 slave 结点了。 slave1 结点通过 scp 命令远程登录 master 结点,并复制 master 的公钥文件 到当前的目录下,且重命名为 master_das.pub,这一过程需要密码验证。

scp master:~/.ssh/id_dsa.pub ./master_das.pub

复制master.png

将 master 结点的公钥文件追加至 authorized_keys 文件:

追加公钥.png

安装JDK

  1. 首先建立工作路径/usr/java
mkdir -p /usr/java
tar -zxvf /opt/soft/jdk-8u171-linux-x64.tar.gz -C /usr/java/
  1. 修改环境变量

修改环境变量:vi /etc/profile 添加内容如下:

export JAVA_HOME=/usr/java/jdk1.8.0_171
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin 
export PATH JAVA_HOME CLASSPATH

Java环境变量.png

生效环境变量:

source /etc/profile 

查看 java 版本:

java -version


Java版本.png

使用 scp 命令,将相同的文件从 master 中复制过来。 在 master 中将 JDK 复制到 slave2 中(要保证 slave2 中已有相应目录)

scp -r /usr/java/jdk1.8.0_171/ slave2:/usr/java/

复制java.png