hadoop2.6配置过程

来源:互联网 发布:看舌苔知病情图解大全 编辑:程序博客网 时间:2024/06/05 13:34

一、安装lunux系统,配置网络

1、修改/etc/network/interfaces文件,增加如下内容

设置root 用户的密码: sudo passwd root

#用于虚拟机和宿主机交互

auto eth0

iface eth0 inet static

address 192.168.56.100

netmask 255.255.255.0

gateway 192.168.56.1

dns-nameservers 8.8.8.8

#虚拟机上网

auto eth1

iface eth1 inet static

address 10.0.2.100

netmask 255.255.255.0

gateway 10.0.2.1

dns-nameservers 8.8.8.8


2、查看路由器

route

如果路由器的默认ip不是eth1, 需要做以下修改

sudo route del default gw 192.168.56.1 eth0

sudo route add default gw 10.0.2.1

检查是否可以上网 ping baidu.com


3、安装ssh server

执行如下命令

sudo apt-get update

sudo apt-get install openssh-server


4、关掉防火墙

sudo ufw disable

        #查看防火墙状态

sudo ufw status


5、为yufeng用户添加和root用户同样的权限

vim /etc/sudoers,在root        ALL=(ALL)    ALL  后面增加以下内容

##allow root to run ary commands anywhere

yufeng   ALL=(ALL)    ALL


6、复制用户登录后的使用环境,复制root用户的环境

cp /root/.bashrc  /home/yufeng/


7、修改hosts表地址名称

#sudo vim /etc/hosts

192.168.56.100   hadoop0

192.168.56.101   hadoop1

192.168.56.102   hadoop2


二、安装相关软件,配置环境变量

1、安装jdk   

tar -zxvf jdk.tar

2、设置环境变量

#修改~/.bashrc文件,在末尾处增加以下内容

export JAVA_HOME=/usr/local/tool/java
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

              

3、source

执行命令: source ~/.bashrc 

4、检查jdk是否安装正确

java -version


5、复制两个虚拟机,分别命名为hadoop1, hadoop2,并修改ip为56.101,56.102


6、以root的身份,修改/etc/hosts文件,增加如下内容

192.168.56.101 hadoop1

192.168.56.101 hadoop2


7.修改/etc/hostname文件,修改主机名

sudo vi /etc/hostname


8、修改/etc/network/interfaces文件,修改ip


9、设置ssh无密码登录,执行以下命令

cd ~  #进入home目录

ssh-keygen -t rsa #生成密钥并三次回车

cd .ssh #进入.ssh目录

cp id_rsa.pub authorized_keys  #生成授权文件

#在另外两台虚拟机上执行同样的命令,生成密钥

#将另外两台虚拟机中authorized_keys文件中的内容复制到本机authorized_keys文件的末尾

#将authorized_keys文件复制到另外两台虚拟机中

scp authorized_keys yufeng@hadoop1:~/.ssh

scp authorized_keys yufeng@hadoop2:~/.ssh

10、验证ssh无密码登录


三、修改hadoop0机中hadoop的配置文件(共七个文件)

-----------------------hadoop-env.sh----------------------------
export JAVA_HOME=${JAVA_HOME}


-----------------------yarn-env.sh------------------------------
export JAVA_HOME=${JAVA_HOME}


-------------------core-site.xml-----------------
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>


<property>
<name>fs.default.name</name>
<value>hdfs://crec0:9000</value>
</property>


<property>  
        <name>io.file.buffer.size</name>  
        <value>4096</value>  
</property>  


--------------------hdfs-site.xml------------------


<configuration>
        <property>
        <name>dfs.http.address</name>
        <value>crec0:50070</value>
</property>
<property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>crec0:50090</value>
</property>
<property>
        <name>dfs.replication</name>
        <value>3</value>
</property>
<property>
   <name>dfs.namenode.name.dir</name>
   <value>file:/home/crec973/opt/hadoop/dfs/name</value>
 </property>


 <property>
  <name>dfs.datanode.data.dir</name>
  <value>file:/home/crec973/opt/hadoop/dfs/data</value>
  </property>


<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
 </property>




--------------------mapred-site.xml-------------------
<property>  
        <name>mapreduce.framework.name</name>  
        <value>yarn</value>  
</property>  


<property>  
        <name>mapreduce.jobtracker.http.address</name>  
        <value>crec0:50030</value>  
</property>


<property>
<name>mapred.job.tracker</name>
<value>crec0:9001</value>
</property>
<property>
<name>mapred.map.tasks</name>
<value>20</value>
</property>
<property>
<name>mapred.reduce.tasks</name>
<value>4</value>
</property>


<property>
<name>mapreduce.jobhistory.address</name>
<value>crec0:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>crec0:19888</value>
</property>


-----------yarn-site.xml-------------------------------
<property>  
        <name>yarn.nodemanager.aux-services</name>  
        <value>mapreduce_shuffle</value>  
</property>    
    
<property>
<name>yarn.resourcemanager.address</name>
<value>crec0:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>crec0:8030</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>crec0:8088</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>crec0:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>crec0:8033</value>
</property>


<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>



----------------------slaves-------------------------------
crec1
crec2


五、将相关文件复制到另外两台电脑上

1、scp hadoop yufeng@hadoop1:/usr/local/tool/

      scp hadoop yufeng@hadoop2:/usr/local/tool/


六、在主节点上启动hadoop服务

1、hadoop namenode -format

2、start-all.sh

3、在各个节点上用jps指令查看:namenode,ResourceManager,SecondaryNameNode,DataNode,NodeManager是否被启动

4、在以下网址上运行

http://192.168.56.100:8088/cluster/apps


七、常见错误

1、ssh无密码登录:

1)、查看是否将所有节点上的id_rsa.pub内容都复制到authorized_keys文件中,且所有节点的authorized_keys内容都一样。

2)、查看/etc/hosts文件中,是否将127.0.0.1一行的别名去除

2、NameNode未启动

查看在$Hadoop_HOME/etc/hadoop/core-site.xml文件中,定义的hadoop.tmp.dir的文件目录,是否有权限

3、DateNode未启动

1、查看:~/opt这个文件,用户是否有读写权限

2、每次执行hadoop namenode -formate及start-all.sh命令,都会在~/opthadoop/dfs/data/current中产生一个新的VERSION文件,要确保

VERSION中clusterID和name中的VERSION中定义的clusterID一样。(或者在每次hadoop namenode -format之前,都将~/opt/中的hadoop文件删除)





0 0