hadoop 初始配置

来源:互联网 发布:网络口碑营销经典案例 编辑:程序博客网 时间:2024/05/19 08:03

配置NFS

配置 NFS (root用户 )

(1) master上检查是否已经安装了 nfs

[root@hadoop01~]# rpm -qa|grep nfs

nfs -utils-1.0.6-46

system-config-nfs-1.2.8-1

[root@hadoop01~]# rpm -qa|grep portmap

portmap-4.0-63

若没有安装,可下载 rpm包,通过 rpm –ivh ***.rpm来安装

(2)共享 master上的/home目录

[root@hadoop01~]# vi /etc/exports   //*表示对任何网段都可连接

/home*(rw,no_root_squash, s ync) //async是异步的,速度比较慢

(3) master上启动 nfs s erver

[root@hadoop01~]# service portmap

用法:/etc/init.d/portmap{start|stop|status|restart|reload|condrestart}

[root@hadoop01~]# service portmap start

 

[root@hadoop01~]# service nfs

用法:nfs{start|stop|status|restart|reload|condrestart}

[root@hadoop01~]# service nfs start

或者 [root@hadoop01 ~]#/etc/init.d/nfs start

 

[root@hadoop01~]# service nfslock start

(4) master上设置开机自动启动 nfs

# chkconfig--level 2345 nfs on

//可以把 chkconfig理解为开关,不过这个开关主要是用来设置系统启动时,各服务在0-6运行级别下的开启状态的。

(5) slave端以 root用户在 hadoop02~hadoop08上设置开机自动挂载/home

编辑 /etc/fstab

hadoop01:/home         /home             nfs defaults 00

或者在/etc/rc.d/rc.local中添加

命令行模式:# mount -t nfshadoop01:/home /home

-------------------------------------------------------------

(6) 排错

如果出现mount: mountto NFS server 'node1' failed: System Error: No route to host.则可能是防火墙惹的祸。

       通过setup把防火墙关掉,应该就可以了。

 

 

 

 

 

 

 

 

 

 

SSH login without password

for root user

  • [root@A ~]vi /etc/hosts

#[IP address] [hostname]

192.168.1.X A

192.168.1.Y B

  • generate authentication keys and distribute

[root@A ~]# ssh-keygen -t rsa

[root@A ~]# cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

[root@A ~]# scp ~/.ssh/* root@B:~/.ssh/

  • check

[root@A ~]# ssh B

[root@A ~]# ssh A

for non-root users

  • just like what has to do for root user

 

 

 

 

 

 

 

 

 

 

 

Hadoop集群安装(1)

1. 机器配置

(1) 机器规划

master(NameNode, JobTracker) 192.168.100.123   node14  

slave1(DataNode, TaskTracker)192.168.100.124   node15

slave2(DataNode, TaskTracker)192.168.100.125   node16

(2) 添加hadoop用户

在三台机器上分别 groupadd hadoop useradd -g hadoophadoop添加hadoop用户

(3) NFS设置

通过root用户在master上配置NFS server,并共享/home目录;

slaves上挂在master上的/home到本地/home

(4) ssh无密码(node14上对hadoop)

[plain] view plaincopy

1.  ssh-keygen -t rsa    

2.  cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys       

(5) 目录结构

~/soft

~/program

~/study

2. 安装JDK (master上安装,hadoop用户)

(1) 解压

(2) 配置环境变量

[plain] view plaincopy

1.  [hadoop@node14 ~]$ vi .bashrc  

2.  export JAVA_HOME=/home/hadoop/program/jdk1.6.0_22  

3.  export PATH=$JAVA_HOME/bin:$PATH  

4.  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$CLASSPATH  

5.  [hadoop@node14 ~]$ source .bashrc  

6.  [hadoop@node14 ~]$ which java  

7.  ~/program/jdk1.6.0_22/bin/java  

3. 安装Hadoop0.21(master上安装,hadoop用户)

(1) ~/program下面解压

[hadoop@node14 ~]$ cp soft/hadoop-0.21.0.tar.gz program/

[hadoop@node14 program]$ tar -zxvf hadoop-0.21.0.tar.gz

(2)配置环境变量

[hadoop@node14 ~]$ vi .bashrc

export HADOOP_HOME=/home/hadoop/program/hadoop-0.21.0

export HADOOP_LOG_DIR=$HADOOP_HOME/logs

[hadoop@node14 ~]$ source .bashrc

(3) 配置环境

[hadoop@node14 hadoop-0.21.0]$ vi conf/hadoop-env.sh

export JAVA_HOME=/home/hadoop/program/jdk1.6.0_22

export HADOOP_LOG_DIR=${HADOOP_HOME}/logs

(4)修改masterslave文件

[hadoop@node14 hadoop-0.21.0]$ cat conf/masters

node14

[hadoop@node14 hadoop-0.21.0]$ cat conf/slaves

node15

node16

配置conf/core-site.xml

1.配置NameNode    

[html] view plaincopy

1.  [hadoop@node14 conf]$ cat core-site.xml  

2.      <configuration>  

3.          <property>  

4.              <name>fs.default.name</name>  

5.              <value>hdfs://node14:9000</value>  

6.          </property>  

7.      </configuration>  

 

 

 配置conf/hdfs-site.xml

1. 配置NameNodeDataNode的目录   ()

说明:配置dfs.name.dir dfs.data.dir

[html] view plaincopy

1.  <property>  

2.      <name>dfs.namenode.name.dir</name>  

3.      <value>file://${hadoop.tmp.dir}/dfs/name</value>  

4.      <description>Determines where on the local filesystem the DFS name node  

5.          should store the name table(fsimage).  If this is a comma-delimited list  

6.          of directories then the name table is replicated in all of the  

7.          directories, for redundancy. </description>  

8.  </property>  

9.    

10.   

11. <property>  

12.     <name>dfs.datanode.data.dir</name>  

13.     <value>file://${hadoop.tmp.dir}/dfs/data</value>  

14.     <description>Determines where on the local filesystem an DFS data node  

15.         should store its blocks.  If this is a comma-delimited  

16.         list of directories, then data will be stored in all named  

17.         directories, typically on different devices.  

18.         Directories that do not exist are ignored.  

19.     </description>  

20. </property>  

 

2. 配置副本度

[plain] view plaincopy

1.  <property>    

2.          <name>dfs.replication</name>    

3.          <value>2</value>    

4.  </property>  

 

配置JobTracker_conf/mapred-site.xml

conf/mapred-site.xml

总结:主要配置JobTrackeraddressschedulerqueue等。

1. 配置JobTracker (必须设置)

[html] view plaincopy

1.  <configuration>  

2.      <property>  

3.          <name>mapreduce.jobtracker.address</name>  

4.          <value>node14:9001</value>  

5.          <description>jobtracker's address</description>  

6.      </property>  

7.  </configuration>  

2. 还有其他可配置项

具体见hadoop-0.21.0/mapred/src/java/mapred-default.xml中,如

(1)设置作业调度器

[html] view plaincopy

1.  <property>  

2.    <name>mapreduce.jobtracker.taskscheduler</name>  

3.    <value>org.apache.hadoop.mapred.JobQueueTaskScheduler</value>  

4.    <description>The class responsible for scheduling the tasks.</description>  

5.  </property>  

(2) 作业队列

[html] view plaincopy

1.  <property>  

2.      <name>mapreduce.job.queuename</name>  

3.      <value>Queue-A:Queue-B:Queue-C</value>  

4.  </property>  

mapreduce.jobtracker.system.dir

mapreduce.cluster.local.dir