一直都想写个博客,记录一下自己学习过程,走上了开发这条路不能总是拿来主义。废话不多说,进入正题。
一、虚拟机环境
1、虚拟机网络配置
考虑是学习,就在virtualBox中装了3个ubuntu-14.04.1-server,整个虚拟机安装过程就不详细介绍了,
三台虚拟机网络配置都选择的是Host-Only模式。在“网络连接”中将VirtualBox Host-Only Network配置
IP地址:192.168.56.1和子网掩码:255.255.255.0。安装好的3台虚拟机网络配置如下:
主机名
操作系统
网络配置
master
ubuntu-14.04.1-server
address:192.168.56.100
network:192.168.56.0
netmask:255.255.255.0
gateway:192.168.56.1
broadcast :192.168.56.255
slaver1
ubuntu-14.04.1-server
address:192.168.56.101
network:192.168.56.0
netmask:255.255.255.0
gateway:192.168.56.1
broadcast :192.168.56.255
slaver2
ubuntu-14.04.1-server
address:192.168.56.102
network:192.168.56.0
netmask:255.255.255.0
gateway:192.168.56.1
broadcast :192.168.56.255
配置步骤:
(1)配置IP:
vim /etc/network/interfaces
注:CentOS和Red Hat 的Linux系统文件路径是/etc/sysconfig/network。
配置内容:
# The primarynetwork interface
auto eth0
iface eth0 inetstatic
address 192.168.56.100
netmask255.255.255.0
network 192.168.56.0
broadcast192.168.56.255
gateway 192.168.56.1
其他两台配置内容参照上表。
(2)配置主机名:
vim /etc/hostname
配置内容:
master
其他两台分别配置为 slaver1、slaver2
(3)绑定Host:
vim /etc/hosts
配置内容:
127.0.0.1 localhost
192.168.56.100 master
192.168.56.101 slaver1
192.168.67.102 slaver2
其他两台配置一样。
2、创建用户和分组(1)创建组
addgroup hadoop
(2)创建用户
adduser -ingroup hadoop hadop
授予用户执行sudo权限
root用户执行
visudo
添加hadoop ALL=(ALL) ALL “ctrl+x” y回车保存退出。
(3)安装SSH服务
apt-get install openssh-server
检测ssh服务是否正常启动
ps -ef|grep ssh
(4)生成RSA密钥对
用ssh生成密钥对,密码设为空
ssh-keygen-t rsa -P “”
安装成功后,会生成.ssh文件夹,id_rsa文件为私钥,服务器自己保存,防止外泄,id_rsa.pub文件为公钥,分发给其它需要免密码访问的服务器。
注:ssh-keygen中“-”前面没有空格。
cd /home/hadoop/.ssh
ls -la
将公钥文件内容导入到授权认证authorized_keys文件中
cat id_rsa.pub >> authorized_keys
服务器公钥保存内容如下:
ssh-rsaAAAAB3NzaC1yc2EAAAADAQABAAABAQCqRhP9dAgOhtS7Qirzu1/z+rQr+sm6Vl30/vi8076waByg
+KsDoARNaAlscW57Xrj51JJ+5CbJqTvfRFWgttE4YLzXa4OQpq7pHbpPIEIsVmyERXGvi+dOZ1/gKb/wedF4
YZ273w8ieFAVpJrHx0nWsjDAqwqEkGYG/KdmzvDZTGENWhdn/Vnb+Rd303jHWo0AaqbGnDU0EO2DtAO
Wj8xOkBrJ7cDSADl5kGA20M9NCLbpE8k2D8K3DoP11SCqf2rziHIQxfNWW9ffJL2lfYLPp7qFq/ZtM/DgR6N
A6yMcDP6z9ZX89/dukzuTBOZiDXnsGWMBFCQHKFu3CCu8EQ0thadoop@master
其他两台服务器操作同上。
(5)分发公钥
服务器把自己的公钥内容分发给其它服务器,就是为了能免密码登录其它服务器,把所有服务器的公钥集中到一台服务器上,然后集中分发给其它服务器,这样处理,3台服务器可以随意互相免密码访问。
分发采用scp命令,scp需要双方服务器都启动ssh服务。scp初次访问需要输入密码。
除master服务器执行如下命令,复制公钥。
cd .ssh
scp id_rsa.pub hadoop@master:/home/hadoop/.ssh/id_rsa.pub.slaver1
scp id_rsa.pubhadoop@master:/home/hadoop/.ssh/id_rsa.pub.slaver2
master服务器执行如下命令,集中公钥。
cd .ssh
cat id_rsa.pub.slaver1 >> authorized_keys
cat id_rsa.pub.slaver2 >> authorized_keys
master服务器执行如下命令,分发公钥。
scp authorized_keys hadoop @slaver1:/home/hadoop/.ssh/authorized_keys
scp authorized_keys hadoop@slaver2:/home/hadoop/.ssh/authorized_keys
测试免密码访问,输入
ssh slaver1
一、 Java环境
1、安装JDK
解压jdk压缩包,将jdk-7u65-linux-i586.tar.gz解压到/usr/java路径下。
tar -zxvf jdk-7u65-linux-i586.tar.gz /usr/java
配置环境变量(这里以及后面的环境变量我都将设置在profile文件中,读者也可一直接放到$PATH中)。
vim /etc/profile
配置内容:
export JAVA_HOME=/usr/java/jdk1.7.0_65
export JRE_HOME=/usr/java/jdk1.7.0_65/jre
exportCLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
exportPATH=$JAVA_HOME/bin:$JRE_HOME/lib:$PATH
刷新环境变量
source /etc/profile
验证jdk
java -version
java version "1.7.0_65"
Java(TM) SE Runtime Environment (build 1.7.0_65-b17)
Java HotSpot(TM)Client VM (build 24.65-b04, mixed mode)
2、将JDK安装文件和环境变量配置同步到其他服务器
(1)拷贝Jdk副本
scp -r /usr/java/jdk1.7.0_65 hadoop@slaver1:/usr/java/
scp -r /usr/java/jdk1.7.0_65 hadoop@slaver2:/usr/java/
(2)拷贝环境变量
sudo scp /etc/profile root@slaver1:/etc/profile
sudo scp /etc/profile root@slaver2:/etc/profile