一、net网络环境配置
1.修改ifcf-eth0文件:
进入一个
network-scripts
目录下面
命令行输入:
cd /etc/sysconfig/network-scripts/
然后再命令输入:
ls
进行查看当前的目录文件
然后打开修改
ifcf-eth0
这个文件,提醒一下这要修改的文件,需要管理员权限,那么我们首先先进入管理员权限才能进行修改文件的内容
(
如下两张图图所示
)
命令行输入
:
su
进入管理员权限,此时需要你输入密码,你就输入你登录
linux
的密码即可!!
命令行再输入:
vim ifcf -eth0
将
BOOTPROTO=
”
dhcp
”
改为
:BOOTPROTO=
”
static
”
然后再把
HWADDR=
”
00:0C:29:00:AD:A0
”
和
IPV6INIT=
”
yes
”
和
UUID=
”
4dcb4773-115c-45e9-b0e1-593518c2892f
”
这三个删除掉,
添加内容:
IPADDR=192.168.183.10 //ip
地址
添加内容:
NETMASK=255.255.255.0
添加内容:
GATEWAY=192.168.183.2 //
网关
添加内容:
DNS1=202.106.0.10
注意:添加网关一定要跟
NAT
设置里面的网关
IP
要一致
2.重启虚拟机的网络服务:
注意:先进入管理员权限再进行重启网络服务
命令行输入:
/etc/init.d/network restart
3.虚拟机是否能上网:
二、搭建java JDK环境
1.三台虚拟机网络配置:
两个子节点上不了网的处理方案是把这两个
ip
进行修改。
Ip
分别改为:
192.168.183.11
和
192.168.183.12
修改操作方法:首先在命令行输入
:
su
进入管理员权限再进行修改,在子节点
slave1
命令行里面输入:
cd /etc/sysconfig/network-scripts/
然后再输入查看
:
ls
然后进行修改在命令行输入
:
vim ifcfg-eth0
进入修改界面
步骤跟【
一、net网络环境配置
】一样,将ip尾数分别改为11和12,最后将slave1和slave2网卡删除重新添加一下,然后测试能否上网:
curl
www.baidu.com
或者是
ping
www.baidu.com
2.设置共享文件夹:
将本地存放jdk安装包的文件夹设置为虚拟机共享文件夹,
查看共享文件夹是否添加成功的命令行输入
:
cd /mnt/hgfs/
再输入
ls
进行查看是否有
share_folder(
共享的本地文件夹
)
这个文件夹
并进入
share_folder
查看是否有
javajdk,
命令行输入
:
cd share_folder
(
共享的本地文件夹
)
,然后再通过
ls
进行查看。
3.安装JDK环境:
把
javajdk
进行拷贝一下(先在命令行输入
su
进入管理员权限)
在命令行输入
:
cp jdk-6u45-linux-x64.bin /usr/local/src/ (单个文件)
在命令行输入
:
cp * /usr/local/src/ (全部文件)
拷贝成功后进入
/usr/local/src/
这个目录下
输入
:
cd /usr/local/src/
再输入
:ls
查看
再输入
:
ll
进入这个文件的权限
直接运行
javajdk
命令行输入:
./jdk-6u45-linux-x64.bin
进行安装
此时安装完成,此时要配置环境变量
在命令行输入:
vim ~/.bashrc
打开这个文件进行修改
那么这个环境变量的路径在
命令行输入:
ls
命令行输入:
cd jdk1.6.0_45/
进入这个目录
命令行输入:
pwd
然后显示如下的
java
的安装路径
/usr/local/src/jdk1.6.0_45
然后安装路径下面有一个
bin
,然后
bin
目录下面有一个
java
命令行输入:
ls
命令行输入:
ls bin/
那我们直接执行
java
看看
命令行输入:
.bin/java
那么为了让系统自动找到这个
bin
文件,就要把这个
bin
目录加到环境变量中去
命令行输入:
pwd
然后显示如下的
java
的安装路径
/usr/local/src/jdk1.6.0_45
将上面这个路径复制放入到
bashrc
去
命令行输入:
vim ~/.bashrc
然后直接复制这句
: export JAVA_HOME=/usr/local/src/jdk1.6.0_45
然后再写一个
CLASSPATH
直接复制这句话:
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
然后再设置
PATH
直接复制我这句话
: export PATH=$PATH:$JAVA_HOME/bin
然后退出该修改界面
(
退出界面请先按
Esc
键,然后点
Shift
键加分号键然后输入
wq
然后再按
Enter
键退出
)
然后在命令行输入:
source ~/.bashrc
重置一下
然后我们直接执行
java
,在命令行直接输入:
java
然后这个
java
已经被系统自动识别了
然后我们看看
java
这个位置在哪里
,
命令行输入
:
which java
3.安装其他机器的JDK环境
那么接下来也要把剩下两个节点也要安装
java
环境
在主节点输入
:
cd /usr/local/src/
再输入:
ls
然后将
java
包复制一份到
slave1
和
slave2
这两个节点上去
在主节点输入:
scp -rp jdk-6u45-linux-x64.bin 192.168.183.11:/usr/local/src/
然后让你输入
yes/no
你输入
yes
,然后让你输入
密码
,你输入你创建这台机器的
密码
,然后即可完成远程复制!!
然后再给
slave2
复制
jdk
(操作跟以上一样,只是把
ip
地址改为:
scp -rp jdk-6u45-linux-x64.bin 192.168.183.12:/usr/local/src/
)
然后再分别切到
slave1
和
slave2
这两个节点查看是否将
jdk
文件发送了过来
在
slave1
机器上输入:
cd /usr/local/src/
然后再输入
:
ls
进行查看是否有
jdk
文件
然后同样执行一下
java
这个文件(首先要在命令行输入:
su
获得管理员权限)
命令行输入:
./jdk-6u45-linux-x64.bin
进行安装
然后再给
slave2
进行安装(操作跟给
slave1
的一样)
然后再分别给
slave1
和
slave2
配置环境变量。操作跟上面给主节点
master
配置环境变量一样,
输入:
vim ~/.bashrc
把
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
和
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib
和
export PATH=$PATH:$JAVA_HOME/bin
写在
bashrc
下
然后退出该修改界面
(
退出界面请先按
Esc
键,然后点
Shift
键加分号键然后输入
wq
然后再按
Enter
键退出
)
然后在命令行输入:
source ~/.bashrc
重置一下
然后直接执行
java
,在命令行直接输入:
java
然后这个
java
已经被系统自动识别了
然后看看
java
这个位置在哪里
,
命令行输入
:
which java
三、搭建hadoop集群环境
1.配置hadoop
在主节点的
/usr/local/src/
下进行对
hadoop
压缩包进行解压
命令行输入:
tar xvzf hadoop-1.2.1-bin.tar.gz
解压完成以后,用
ls
命令进行查看,然后我们进入这个
hadoop-1.2.1
这个目录
然后在
hadoop-1.2.1
这个目录下创建一个
tmp
目录
,
用来存放之后的一些临时文件
命令行输入:
mkdir tmp
然后我们进入一个配置文件
命令行输入:
cd conf/
然后修改
hadoop
里面的
masters
文件
命令行输入:
vim masters
然后在
masters
里面写入
master
并且保存退出!
然后我们再修改
slaves
文件把子节点的名称:
slave1
和
slave2
写入
slaves
文件中
命令行输入:
vim slaves
然后我们修改一下
core-site.xml
这个文件
命令行输入:
vim core-site.xml
把我以下写的代码复制到
core-site.xml
这个文件中去然后保存退出
<!--用来指定使用hadoop时产生文件的存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-1.2.1/tmp</value>
</property>
<!--指定namenode的地址-->
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.159.10:9000</value>
</property
>
然后我们接下来修改
mapred-site.xml
这个文件
命令行输入:
vim mapred-site.xml
把我以下写的代码复制到
vim mapred-site.xml
这个文件中去然后保存退出
<!--连接jobtrack服务器的配置项-->
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.159.10:9001</value>
</property>
然后我们紧接着配置修改
hdfs-site.xml
这个文件
把我以下写的代码复制到
hdfs-site.xml
这个文件中去然后保存退出
<!--指定hdfs保存数据的副本数量-->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
然后我们再修改
hadoop-env.sh
这个文件(在这个文件里的最后面写入以下配置代码)
命令行输入
:
vim hadoop-env.sh(
hadoop启动的时候配置的环境变量
)
输入:
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
2.
配置本地网络配置(修改hosts文件)
还是在
conf
下进行本地网络配置
命令行输入:
vim /etc/hosts
然后在
hosts
这个文件里面把主节点的
ip
地址写入进去
192.168.159.10 master
192.168.159.11 slave1
192.168.159.12 slave2
然后保存退出
但是
host
还没有生效,需要生效
在命令行输入:
hostname master
然后再输入:
hostname
查看
但是这个生效只是临时生效,我们需要改为永久生效:
在命令行输入:
vim /etc/sysconfig/network
然后原先
network
里面的是
:HOSTNAME=localhost
我们改为:
HOSTNAME=master
然后再重新加载生效:命令行输入:
hostname master
然后保存退出
3.配置其他节点的hadoop环境
在主节点命令行里面进入到
src
下面
命令行输入:
cd /usr/local/src/
再输入:
ls
将
hadoop-1.2.1
分别远程复制到其他两个节点当中去
在主节点命令行输入:
scp -rp hadoop-1.2.1 192.168.183.11:/usr/local/src/
在主节点命令行输入:
scp -rp hadoop-1.2.1 192.168.183.12:/usr/local/src/
然后切换到
slave1
,然后进入
/usr/local/src/
目录下面查看是否有
hadoop-1.2.1
命令行输入:
cd /usr/local/src/
然后给
slave1
进行配置
hosts
命令行输入:
vim /etc/hosts
然后把下列代码写入到
slave1
中的
hosts
里面去
192.168.183.10 master
192.168.183.11 slave1
192.168.183.12 slave2
然后
slave2
也是一样把上面的
hosts
里面写入一下代码:
192.168.183.10 master
192.168.183.11 slave1
192.168.183.12 slave2
然后再给
slave1
配置修改
network
在命令行输入:
vim /etc/sysconfig/network
然后原先
network
里面的是
:HOSTNAME=localhost
改为:
HOSTNAME=slave1
然后再重新加载生效:命令行输入:
hostname slave1
然后再给
slave2
配置修改
network
在命令行输入:
vim /etc/sysconfig/network
然后原先
network
里面的是
:HOSTNAME=localhost
我们改为:
HOSTNAME=slave2
然后再重新加载生效:命令行输入:
hostname slave2
4.关闭防火墙
在命令行输入:
/etc/init.d/iptables stop
然后检查一下是否关闭成功:在每台机命令行输入:
chkconfig --level 35 iptables off
然后再从命令行输入
:
getenforce
查看是否关闭了
(
在每台机器都输入此命令
)
5.建立每台机器的互信关系(这样方便我们日后一台机器对另外一台机器的操作)
在命令行输入
:
ssh-keygen
然后回车然后回车(回两次车)
然后进入隐藏目录
在命令行输入:
cd ~/.ssh/
然后
ls
Id_rsa.pub
是共钥文件,
id_rsa
是密钥文件
我们要对
id_rsa.pub
这个公钥文件的内容拷贝给
authorized_keys
这个文件(在此说明:如果没有
authorized_keys
这个文件,请自己创建!!)
新建authorized_keys文件:
t
ouch authorized_keys
看一下
id_rsa.pub
这个公钥文件的内容
输入命令行:
cat id_rsa.pub
然后再输入命令行:
cat authorized_keys
看看这两个文件的公钥是否一样
然后分别给其他两个子节点设置公钥
在
slave1
命令行输入
:
ssh-keygen
然后回车然后回车(回两次车)
然后进入隐藏目录
在命令行输入:
cd ~/.ssh/
然后
ls
我们看一下
id_rsa.pub
这个公钥文件的内容
输入命令行:
cat id_rsa.pub
然后把
slave1
的公钥复制到主机节点
master
的
authorized_keys
上
在
master
命令行输入:
vim authorized_keys
然后接下来把然后把
slave1
的公钥复制到这里
在
slave2
命令行输入
:
ssh-keygen
然后回车然后回车(回两次车)
我们看一下
id_rsa.pub
这个公钥文件的内容
输入命令行:
cat id_rsa.pub
然后把
slave2
的公钥复制到主机节点
master
的
authorized_keys
上
在
master
命令行输入:
vim authorized_keys
然后接下来把然后把
slave2
的公钥复制到这里
然后在主节点上输入:
cat authorized_keys
进行查看
然后下一步操作就是把主节点上的
authorized_keys
分别复制给
slave1
和
slave2
这两个节点上
命令行输入:
scp -rp authorized_keys slave1:~/.ssh/
命令行输入:
scp -rp authorized_keys slave2:~/.ssh/
然后分别给
slave1
和
slave2
检查一下是否有主节点传过来的公钥文件
在
slave1
和
slave2
的命令行上分别输入:
cat authorized_keys
然后我们就可以给三台机器互相登录而且不需要密码了
那么我们试一下:在主节点上命令行上输入:
ssh slave1
如果要退出的话就是输入:
exit
然后我们在主机节点上登录:
ssh slave2
6.启动运行hadoop
开始安装
hadoop1.0
命令行输入:
cd hadoop-1.2.1
命令行再输入:
cd bin
然后开始启动我们的
hadoop
集群
我们第一次启动的时候需要格式化
命令行输入
:
./hadoop namenode -format
格式化以后我们再把
hadoop
集群启动:
命令行输入:
./start-all.sh
然后我们查看这个集群是否有问题
命令行输入:
jps
看到以下信息就证明集群已启动:
28238 NameNode
28474 JobTracker
30505 Jps
28397 SecondaryNameNode