一、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文件:touch 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