hadoop搭建

来源:互联网 发布:网络实名制 人民日报 编辑:程序博客网 时间:2024/06/10 01:46

文章出处:http://kelvinliu117.iteye.com/blog/1856440


一、虚拟机及系统安装

1. 下载vmware,并成功安装;

2. 在vmware中安装Linux系统;

 

二、在虚拟机中配置JAVA环境

1.安装java虚拟机(jdk-6u31-linux-i586.bin);

2.配置环境变量

(1) vi /etc/profile  (编辑文件)

(2) 添加 JAVA_HOME CLASSPATH PATH

<!--[endif]-->

(3) source /etc/profile  (注入环境变量)

 

注:使用ROOT用户

 

 

三、修改hosts

vim /etc/hosts

修改为:

Xml代码  收藏代码
  1. 192.168.1.115  hadoop-1  
  2. 192.168.1.116  hadoop-2  
  3. 192.168.1.117  hadoop-3  

注:使用ROOT用户

 

 

四、修改hostname

vim /etc/sysconfig/network

修改为:

Xml代码  收藏代码
  1. NETWORKING=yes  
  2. HOSTNAME=hadoop-1  

 

临时修改hostname,使用

Xml代码  收藏代码
  1. hostname hadoop-1  

 

查看当前hostname,使用

hostname

 

注:使用ROOT和户

 

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!到此请更换普通hadoop用户

五、配置ssh

1. 在当前用户主目录下执行

(1)ssh-keygen

(2)cat .ssh/id_rsa.pub >> .ssh/authorized_keys

(3)chmod 700 .ssh

(4)chmod 600  .ssh/authorized_keys

(5)ssh hadoop-1

 

SCP将免登陆copy至其他机器:

Java代码  收藏代码
  1. for i in $(cat iplist)    
  2. do    
  3.     echo $i  
  4.     scp –r /home/hadoop/.ssh $i:/home/hadoop/  
  5. done    

 

六、压缩包解压

1. 解压hadoop-0.20.2-cdh3u3.tar.gz;

2.

解压hive-0.7.1-cdh3u3.tar.gz;

注:tar –xvf xxxx.tar.gz

 

七、修改hadoop配置文件

(1)进入到 %HADOOP_HOME%/conf

(2)修改core-site.xml  用于配置Common组件的属性

Xml代码  收藏代码
  1. <?xml version="1.0"?>    
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>   
  3. <!-- Put site-specific property overrides in this file. -->    
  4. <configuration>    
  5.     <property>    
  6.         <name>fs.default.name</name>    
  7.         <value>hdfs://hadoop-1:9000</value>    
  8.         <description>HDFS的URI,文件系统://namenode标识:端口号</description>    
  9.     </property>    
  10.     <property>    
  11.     <name>hadoop.tmp.dir</name>    
  12.       <value>/home/hadoop/tmp</value>   
  13.       <description>namenode上本地的Hadoop临时文件夹</description>           
  14.     </property>  
  15. </configuration>   

 

注:fs.default.name配置中用到了自己配的hostname;

 

(3)修改hdfs-site.xml 文件用于配置HDFS属性

Xml代码  收藏代码
  1. <?xml version="1.0"?>    
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>    
  3.     
  4. <!-- Put site-specific property overrides in this file. -->    
  5.     
  6. <configuration>    
  7.     <property>     
  8.         <name>dfs.name.dir</name>     
  9.         <value>/home/hadoop/name</value>     
  10.         <description>namenode上存储hdfs名字空间元数据 </description>     
  11.     </property>     
  12.     
  13.     <property>     
  14.         <name>dfs.data.dir</name>     
  15.         <value>/home/hadoop/data</value>     
  16.         <description>datanode上数据块的物理存储位置</description>     
  17.     </property>     
  18.     
  19.     <property>    
  20.         <name>dfs.replication</name>      
  21.         <value>1</value>    
  22.         <description>副本个数,不配置默认是3,应小于datanode机器数量</description>    
  23.     </property>    
  24. </configuration>   

 

注:单机时,一般将dfs.replication设置为1

 

(4)修改mapred-site.xml 文件则用于配置MapReduce属性

Xml代码  收藏代码
  1. <?xml version="1.0"?>    
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>    
  3.     
  4. <!-- Put site-specific property overrides in this file. -->    
  5.     
  6. <configuration>    
  7.     <property>    
  8.         <name>mapred.job.tracker</name>    
  9.         <value>hadoop-1:9001</value>    
  10.         <description>jobtracker标识:端口号,不是URI</description>    
  11.     </property>    
  12.     
  13.     <property>     
  14.         <name>mapred.local.dir</name>     
  15.         <value>/home/hadoop/mapred/local</value>     
  16.         <description>tasktracker上执行mapreduce程序时的本地目录</description>     
  17.     </property>     
  18.     
  19.     <property>     
  20.         <name>mapred.system.dir</name>     
  21.         <value>/home/hadoop/mapred/system</value>     
  22.         <description>这个是hdfs中的目录,存储执行mr程序时的共享文件</description>     
  23.     </property>     
  24. </configuration>  

 

注:mapred.job.tracker中用到了自己配的hostname;

 

(5)修改masters

      hadoop-1

 

(6)修改slaves

     hadoop-2

     hadoop-3

 

(7)修改hadoop-env.sh

      export JAVA_HOME=/home/......

 

需要添加环境变量

       HADOOP_HOME

       PATH

 

conf/文件夹里有个hadoop-env.sh的文件,它的作用是配置与hadoop运行环境相关的变量,

export JAVA_HOME=/usr/java/jdk1.6.0_33

 

SCP拷贝至其他节点:建议打个zip包cp,文件太多影响速度

Java代码  收藏代码
  1. for i in $(cat iplist)    
  2. do    
  3.     echo $i  
  4.     scp /home/hadoop/hadoop-1.0.4 $i:/home/hadoop/  
  5. done    

 

八、修改hive配置

(1)使用mysql作为元数据库

hive默认使用的是derby数据库,由于需要并发的需要,因此需要使用mysql作为数据库,保证并发响应。原机器上安装的是mysql的client,需要安装server才能运行。可以通过$/etc/init.d/mysqld status查看是否安装server,或服务是否启动。

1、安装mysql server。使用命令$ yum install mysql-server*来安装,可以将依赖的其他包也一起安装。

2、使用sudo权限启动mysql服务 $/etc/init.d/mysqld start

3、使用root帐号在mysql中创建用户与密码,并赋予权限。cm5中默认的用户名和密码均为hadoop。

mysql

mysql> CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'qazwsx';

mysql> GRANT ALL PRIVILEGES ON * .* TO 'hadoop'@'localhost' WITH GRANT OPTION;

mysql> flush privileges;

mysql> exit

yum install mysql-server*安装mysql

 

(2)进入%HIVE_HOME%/conf 添加hive-site.xml,并配置

Xml代码  收藏代码
  1. <property>  
  2.   <name>hive.querylog.location</name>  
  3.   <value>/home/hadoop/hive-0.9.0/logs</value>  
  4. </property>  
  5. <property>  
  6.   <name>mapred.job.tracker</name>  
  7.   <value>hadoop-1:9001</value>  
  8. </property>  
  9. <property>  
  10.   <name>hive.exec.scratchdir</name>  
  11.   <value>hdfs://hadoop-1:9000/tmp/hive-${user.name}</value>  
  12.   <description>Scratch space for Hive jobs</description>  
  13. </property>  
  14. <property>  
  15. <name>hive.metastore.local</name>  
  16. <value>true</value>  
  17. </property>  
  18. <property>  
  19. <name>javax.jdo.option.ConnectionURL</name>  
  20. <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>  
  21. </property>  
  22. <property>  
  23. <name>javax.jdo.option.ConnectionDriverName</name>  
  24. <value>com.mysql.jdbc.Driver</value>  
  25. </property>  
  26. <property>  
  27. <name>javax.jdo.option.ConnectionUserName</name>  
  28. <value>hadoop</value>  
  29. </property>  
  30. <property>  
  31. <name>javax.jdo.option.ConnectionPassword</name>  
  32. <value>qazwsx</value>  
  33. </property>  

 

 

 

(3)使用mysql作为数据库,需要mysql的jdbc驱动,需要下载该jar包到对应的hive/lib文件夹中

 

需要添加环境变量

HIVE_HOME     PATH<!--[endif]-->

九、hadoop首次format及启动,停止

1.hadoop的format

hadoop namenode -format

 

2.hadoop的启动

start-all.sh

 

3.hadoop的停止

stop-all.sh

 

 

注:使用jps或ps查看hadoop是否启动,启动时如果有问题,会在屏幕上显示出来的。

可以输入网址:

http://hadoop-1:50070

查看hadoop的运行情况

原创粉丝点击