从0到1:搭建Hadoop集群

总结一下在学习Hadoop时候基础环境搭建的过程吧,好麻烦的说!

软件:VMware,SecureCRT
环境:centos

首先是要在VMware中创建三个centos环境,分别作为master(主机),slave1(从机),slave2(从机),并分别设置ip(此处很关键,但是要注意是否本地ip已经是静态ip了),设置完试试:

$ ping www.baidu.com

接下来要在secureCRT中创建三个session,分别对应master,slave1,slave2的ip,创建并连接后要试试每个session中的:ifconfig,查看是否对应ip地址
##为Linux配置Java环境变量:

首先要保证Linux下已经存在jdk文件夹,且在 /jdk/bin/ 下的可以执行: ./java 命令

0.    su #进入到root模式

1.    vim ~/.bashrc #编辑根目录下的.bashrc文件(不知道有没有.)

2.    在文件的末尾加入:
	export JAVA_HOME=/usr/local/src/jdk1.6.0_45  #jdk文件夹的位置
	export CLASSPATH=.:\$CLASSPATH:\$JAVA_HOME/lib  #注意前面有个点.,且中间是冒号不是分号
	export PATH=\$PATH:\$JAVA_HOME/bin

3.    ESC  :wq #保存并退出

4.    source ~/.bashrc #很重要,就是要更新一下环境变量的意思吧

5.    这时候可以在root(要先su哈)模式中的任意目录下执行java命令,都可以了

搭建Hadoop环境:

在master节点上:
1.    tar xvzf hadoop-1.2.1-bin.tar.gz #解压

2.    cd hadoop-1.2.1

3.    mkdir tmp #新建一个保存临时文件的文件夹

4.    cd conf #进入/usr/local/src/hadoop-1.2.1/conf文件夹进行配置文件的修改

5.    vim masters
	master #删除掉原来的内容,然后保存退出

6.    vim slaves
	slave1
	slave2

7.    vim core-site.xml
	在<configuration>标签中插入:
	<property>
	    <name>hadoop.tmp.dir</name>
	    <value>/usr/local/src/hadoop-1.2.1/tmp</value>
	</property>
	<property>
	    <name> fs.default </name>
	    <value> hdfs://xx:9000 </value>   # xx是你的ip地址,
	</property>
	
8.    vim mapred-site.xml
	<property>
	    <name>dfs.replication</name>
	    <value>3</value> #数据的负载数,默认3
	</property>

9.    vim hadoop-env.sh
	#在最后面加入
	export JAVA_HOME=/usr/local/src/jdk1.6.0-45
	
10.    vim /etc/hosts
	#相当于配置当前网络环境下的DSS,避免总是输入ip地址,最后面加入
	192.168.145.130 master
	192.168.145.132 slave1
	192.168.145.133 slave2

11.    hostname master #生效这个修改(临时)

12.    vim /etc/sysconfig/network #永久生效
	#把hostname改成master (主机master,从机slave)

13.     cd /usr/local/src #j进入到文件夹下准备复制文件

14.    scp -rp * xx:/usr/local/src/    #将当前文件夹中的所有文件远程复制到对应的ip
在slave1节点上
	1.    cd /usr/local/src/    #进入到Hadoop文件夹下,用cat先检查对应的配置文件是否确实修改完(正常来说,因为是复制过来的,不会有问题)

2.    vim /etc/hosts    #修改hosts
	#最后面加入
	192.168.145.130 master
	192.168.145.132 slave1
	192.168.145.133 slave2

3.    vim /etc/sysconfig/network    #把hostname值改成slave1

4.    hostname slave1
slave2中
1.    cd /usr/local/src/    #进入到Hadoop文件夹下,用cat先检查对应的配置文件是否确实修改完(正常来说,因为是复制过来的,不会有问题)

2.    vim /etc/hosts    #修改hosts最后面加入
	192.168.145.130 master
	192.168.145.132 slave1
	192.168.145.133 slave2

3.    vim /etc/sysconfig/network    #把hostname值改成slave1

4.    hostname slave1

在master、slave1、slave2中分别执行如下命令,关闭防火墙(应该是防止不同电脑配置有瑕疵吧)

1.    /etc/init.d/iptables stop

2.    iptables -L    #检查一下

3.    setenforce 0    #避免发生。。。问题(不太懂,先照做)

4.    getenforce

建立每台机器的互信关系(不用密码验证)

master下
1.    ssh-keygen    #中途一直按回车就行,应该是生成公钥私钥文件的过程吧(我猜的)

2.    cd ~/.ssh    #进入到根目录下的隐藏目录ssh下

3.    ls    #显示当前目录下的文件,其中有id_rsa.pub:公钥文件,id_rsa:私钥文件

4.    cp id_rsa.pub authorized_keys    #复制公钥文件到authorized_keys文件中(这个文件会保存slave中的公钥内容)

5.    在slave1和slave2中分别进行ssh-keygen操作,并把各自的公钥文件中的内容复制粘贴到master的authorized_keys下

6.    scp -rp authorized_keys slave1:~/.ssh    #将authorized_keys远程复制到slave1的ssh中

7.     scp -rp authorized_keys slave2:~/.ssh

现在就可以无密码连接啦,可以试试在master中

1.    ssh slave1    #连接到slave1,此时应该不用输入密码了,其他的slave也是这样

2.    exit    #退出回到当前机器下

测试Hadoop集群

经过了漫长的配置(这配置过程真是要把我整崩溃了的说),终于到了这一步,是不是小兴奋了的说~

master中:
1.    cd /usr/local/src/hadoop-1.2.1/bin    #进入到Hadoop文件夹下

2.    ./hadoop namenode -format    #第一次使用Hadoop要先对namenode格式化一下

3.    ./start-all.sh    #启动Hadoop集群
不出意外的话现在就已经启动了,可以利用jps(显示当前进程)验证一下master中的进程(其他的也差不多,当然如果具体 进程不同也不用太纠结),用几个Hadoop命令测试一下
1.    ./hadoop fs -ls /    #显示Hadoop文件夹中的文件

2.    ./hadoop fs -put /etc/passwd /    #把passwd文件上传到Hadoop文件集群中

3.    ./hadoop fs -cat /passwd    #查看刚刚上传的passwd文件内容

Linux常用命令

ls	#显示当前目录中文件
cd /xx/xx/	#进入到/xx/xx/目录中
pwd	#显示当前所在目录位置
mkdir foldername	#新建文件夹
tar xvzf filename.zar	#解压压缩文件
cp oldfile newfile	#把oldfile复制成newfile
scp -rp file ip:/xx/xx/	#将本地文件远程复制到对应ip的/xx/xx/目录中

Linux中粘贴、复制快捷键:

shift+ctrl+C/V    #复制、粘贴

ps:欢迎小伙伴们访问我的个人主页,并与我交流哦!

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值