hadoop2.7.3完全分布式集群搭建

环境配置:

    虚拟机:vmware workstation 12

    系统:centos7

    节点:

        192.168.1.111    yun1

        192.168.1.112   yun2

        192.168.1.113    yun3

jdk-7u79-Linux-x64.gz (Java )

hadoop-2.7.3.tar.gz (Hadoop 包)

1.修改虚拟机的hostname和hosts文件

hostname(修改主机名):vim /etc/hostname

203434_vcI4_3264690.png

203408_fcj6_3264690.png

hosts(设置节点名与ip的映射):vim /etc/hosts

203538_91IA_3264690.png

2.安装jdk与配置环境变量

1)下载jdk安装包(自行百度),并将安装包拖入到虚拟机当中

2)通过cd命令进入到安装包的当前目录,利用如下命令进行解压缩。

tar -zxvf jdk  *****(安装包名称)

3)利用如下命令将解压后的文件夹移到/usr目录下 

mv jdk1.7...(文件夹名称) /opt

4)配置环境变量

vim /etc/profile

在末尾添加

  1. export JAVA_HOME=/usr/java   
  2. export JRE_HOME=/usr/java/jre    
  3. export CLASSPATH=$JAVA_HOME/lib    
  4. export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin  

 

输入如下命令使配置生效:source /etc/profile

查看是否成功:java

203838_0Ali_3264690.png

3.设置ssh免密码登录

对主机和节点都使用ssh-keygen -t rsa生成.ssh文件夹,然后将本机.ssh中的id_rsa.pub中的内容覆盖到节点.ssh文件夹中的authorized_keys.

ssh-keygen -t rsa

scp ~/.ssh/id_rsa.pub root@yun*:~/.ssh/authorized_keys

对每一个节点都发送这个认证文件后:执行 chmod 600 ~/.ssh/authorized_keys

进行权限的修改

这样就可以了。

4.在主机yun1上配置hadoop然后发送到其他节点上

1)解包移动

  1. #解压hadoop包  
  2. tar -zxvf hadoop...  
  3. #将安装包移到/opt目录下  
  4. mv hadoop... /opt/hadoop  

 

2)新建文件夹

  1. #在/opt/hadoop目录下新建如下目录(root)  
  2. mkdir dfs  
  3. mkdir dfs/name  
  4. mkdir dfs/data  
  5. mkdir tmp/ 

 

3)配置文件:hadoop-env.sh(文件都在/opt/hadoop/etc/hadoop中)

修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79) 

 

4)配置文件:yarn-env.sh

修改JAVA_HOME值(export JAVA_HOME=/opt/jdk1.7.0_79)

5)配置文件:slaves

将内容修改为:

yun2
yun3

6)配置文件:core-site.xml

  1. <configuration>  
  2.     <property>  
  3.         <name>fs.defaultFS</name>  
  4.         <value>hdfs://yun1:9000</value>  
  5.     </property>  
  6.     <property>  
  7.         <name>io.file.buffer.size</name>  
  8.         <value>131072</value>  
  9.     </property>  
  10.     <property>  
  11.         <name>hadoop.tmp.dir</name>  
  12.         <value>file:/opt/hadoop/tmp</value>  
  13.         <description>Abase for other temporary   directories.</description>  
  14.     </property>  
  15. </configuration>  

 

7)配置文件:hdfs-site.xml

  1. <configuration>  
  2.        <property>  
  3.                 <name>dfs.namenode.secondary.http-address</name>  
  4.                <value>yun1:9001</value>  
  5.        </property>  
  6.      <property>  
  7.              <name>dfs.namenode.name.dir</name>  
  8.              <value>file:/opt/hadoop/dfs/name</value>  
  9.        </property>  
  10.       <property>  
  11.               <name>dfs.datanode.data.dir</name>  
  12.               <value>file:/opt/hadoop/dfs/data</value>  
  13.        </property>  
  14.        <property>  
  15.                <name>dfs.replication</name>  
  16.                <value>2</value>  
  17.         </property>  
  18.         <property>  
  19.                  <name>dfs.webhdfs.enabled</name>  
  20.                   <value>true</value>  
  21.          </property>  
  22. </configuration>  

 

8)配置文件:mapred-site.xml

先创建然后编辑

 cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

vim etc/hadoop/mapred-site.xml

  1. <configuration>  
  2.           <property>                                                                    
  3.         <name>mapreduce.framework.name</name>  
  4.                 <value>yarn</value>  
  5.            </property>  
  6.           <property>  
  7.                   <name>mapreduce.jobhistory.address</name>  
  8.                   <value>yun1:10020</value>  
  9.           </property>  
  10.           <property>  
  11.                 <name>mapreduce.jobhistory.webapp.address</name>  
  12.                 <value>yun1:19888</value>  
  13.        </property>  
  14. </configuration>  

 

9)配置文件:yarn-site.xml

  1. <configuration>  
  2.         <property>  
  3.                <name>yarn.nodemanager.aux-services</name>  
  4.                <value>mapreduce_shuffle</value>  
  5.         </property>  
  6.         <property>                                                                  
  7. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>  
  8.                <value>org.apache.hadoop.mapred.ShuffleHandler</value>  
  9.         </property>  
  10.         <property>  
  11.                <name>yarn.resourcemanager.address</name>  
  12.                <value>yun1:8032</value>  
  13.        </property>  
  14.        <property>  
  15.                <name>yarn.resourcemanager.scheduler.address</name>  
  16.                <value>yun1:8030</value>  
  17.        </property>  
  18.        <property>  
  19.             <name>yarn.resourcemanager.resource-tracker.address</name>  
  20.              <value>yun1:8031</value>  
  21.       </property>  
  22.       <property>  
  23.               <name>yarn.resourcemanager.admin.address</name>  
  24.                <value>yun1:8033</value>  
  25.        </property>  
  26.        <property>  
  27.                <name>yarn.resourcemanager.webapp.address</name>  
  28.                <value>yun1:8088</value>  
  29.        </property>  
  30. </configuration>  

 

10)将hadoop传输到yun2和yun3 opt/hadoop目录,(如果传输时报错说 :权限拒绝,先把文件传送到非/opt目录下,然后在yun上把这个文件再移动到/opt/hadoop)

 scp -r /usr/hadoop hadoop@yun2:/usr/hadoop
7、配置环境变量,并启动hadoop,检查是否安装成功
1)配置环境变量
#编辑/etc/profile
sudo vim /etc/profile
#以上已经添加过java的环境变量,在后边添加就可以

5.配置环境变量,并启动hadoop,检查是否安装成功

  1. #hadoop  
  2. export HADOOP_HOME=/opt/hadoop/hadoop-2.7.3 
  3. export PATH=$PATH:$HADOOP_HOME/sbin  
  4. export PATH=$PATH:$HADOOP_HOME/bin  

执行 

source /etc/profile

 

使文件生效。

2)启动hadoop,进入hadoop安装目录

bin/hdfs namenode -format
sbin/start-all.sh

3)启动后分别在yun1, yun2下输入jps查看进程

看到下面的结果,则表示成功。

204811_gR1B_3264690.png

 

错误解决:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform… using builtin-Java classes where applicable

提示hadoop不能加载本地库。

解决方法:配置环境变量

在/etc/profile中,添加下面配置:

210526_sPkj_3264690.png

最后记得使配置生效:source /etc/profile

并把相同配置添加到hadoop-env.sh文件末尾。

转载于:https://my.oschina.net/u/3264690/blog/845079

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值