hadoop_环境配置

1配置时间同步:

指令:crontab-e

编辑:01***root/usr/sbin/ntpdatecn.pool.ntp.org【a进入编辑状态,ctrl+c退出编辑状态,:wq保存】

2配置主机名:vi/etc/sysconfig/network

3配置网络:

指令:setup-->networkconfiguration-->eth0-->usedhcp空格-->ipnetmask

-->ok

/sbin/servicenetworkrestart#重新启动网络服务

/sbin/ifconfig#检查网络ip配置

4配置集群hosts列表

vi/etc/hosts

192.168.1.100master

192.168.1.101node1

==================================

5ssh无秘钥登陆

生成公钥和私钥

ssh-keygen-q-trsa-N""-f/home/hadoop/.ssh/id_rsa

cd/home/hadoop/.ssh

cpid_rsa.pubauthorized_keys

chmodgo-wxauthorized_keys

6安装JDK

#下载jdk

wgethttp://60.28.110.228/source/package/jdk-6u21-linux-i586-rpm.bin

#安装jdk

chmod+xjdk-6u21-linux-i586-rpm.bin

./jdk-6u21-linux-i586-rpm.bin

#配置环境变量

vi/etc/profile.d/java.sh

#复制粘贴一下内容到vi中。

exportJAVA_HOME=/usr/java/jdk1.6.0_21/

exportHADOOP_HOME=/opt/modules/hadoop/hadoop-1.0.3/

exportPATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH

#手动立即生效

source/etc/profile

7创建hadoop用户及环境

#创建hadoop用户

/usr/sbin/groupaddhadoop

#分配hadoop到hadoop组中

/usr/sbin/useraddhadoop-ghadoop

#创建hadoop代码目录结构

mkdir-p/opt/modules/hadoop/

cphadoop-1.0.3.tar.gz/opt/modules/hadoop/

#创建hadoop数据目录结构

mkdir-p/opt/data/hadoop/

#修改目录结构权限为为hadoop

chown-Rhadoop:hadoop/opt/modules/hadoop/

chown-Rhadoop:hadoop/opt/data/hadoop/

#解压并测试

cd/opt/modules/hadoop/

tar-xzvfhadoop-1.0.3.tar.gz

hadoop

8hadoop单机集群配置

vi/opt/modules/hadoop/hadoop-1.0.3/conf/hadoop-env.sh

修改exportHADOOP_HEAPSIZE=32

#HadoopCommon组件配置core-site.xml

vi/opt/modules/hadoop/hadoop-1.0.3/conf/core-site.xml

<configuration>

<property>

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

<value>hdfs://master:9000</value>

<!--hadoopnamenode服务器地址和端口,以域名形式-->

</property>

<property>

<name>fs.checkpoint.dir</name>

<value>/data/hadoop/hdfs/namesecondary</value>

<!--hadoopsecondary数据存储路径,可以配置成多个目录,用,号分隔。-->

</property>

<property>

<name>fs.checkpoint.period</name>

<value>1800</value>

<!--editlog每隔30分钟触发一次合并-->

</property>

<property>

<name>fs.checkpoint.size</name>

<value>33554432</value>

<!--editlog达到32m的时候触发一次合并-->

</property>

<property>

<name>io.compression.codecs</name>

<value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec,org.apache

.hadoop.io.compress.BZip2Codec</value>

<!--配置Hadoop压缩包-->

</property>

<property>

<name>fs.trash.interval</name>

<value>1440</value>

<description>Hadoop文件回收站,自动回收时间,单位分钟,这里设置是1天。</description>

</property>

</configuration>

#HDFSNameNode,DataNode组建配置hdfs-site.xml

vi/opt/modules/hadoop/hadoop-1.0.3/conf/hdfs-site.xml

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<configuration>

<property>

<name>dfs.name.dir</name>

<value>/data/hadoop/hdfs/name</value>

<!--HDFSnamenodeimage文件保存地址-->

<description></description>

</property>

<property>

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

<value>/data/hadoop/hdfs/data</value>

<!--HDFS数据文件存储路径,可以配置多个不同的分区和磁盘中,使用,号分隔-->

<description></description>

</property>

<property>

<name>dfs.http.address</name>

<value>master:50070</value>

<!---HDFSWeb查看主机和端口-->

</property>

<property>

<name>dfs.secondary.http.address</name>

<value>node1:50090</value>

<!--辅控HDFSweb查看主机和端口-->

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

<!--HDFS数据保存份数,通常是3-->

</property>

<property>

<name>dfs.datanode.du.reserved</name>

<value>1073741824</value>

<!--datanode写磁盘会预留1G空间给其他程序使用,而非写满,单位bytes->

</property>

<property>

<name>dfs.block.size</name>

<value>134217728</value>

<!--HDFS数据块大小,当前设置为128M/Block-->

</property>

<property>

<name>dfs.permissions</name>

<value>false</value>

<!--HDFS关闭文件权限-->

</property>

</configuration>

#配置MapReduce-JobTrackerTaskTracker启动配置

vi/opt/modules/hadoop/hadoop-1.0.3/conf/mapred-site.xml

<?xml-stylesheettype="text/xsl"href="configuration.xsl"?>

<!--Putsite-specificpropertyoverridesinthisfile.-->

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>master:9001</value>

<!--JobTrackerrpc主机和端口-->

</property>

<property>

<name>mapred.local.dir</name>

<value>/data/hadoop/mapred/mrlocal</value>

<!--MapReduce产生的中间文件数据,按照磁盘可以配置成多个-->

<final>true</final>

</property>

<property>

<name>mapred.system.dir</name>

<value>/data/hadoop/mapred/mrsystem</value>

<final>true</final>

<!--MapReduce的系统控制文件-->

</property>

<property>

<name>mapred.tasktracker.map.tasks.maximum</name>

<value>2</value>

<final>true</final>

<!--最大map槽位数量,默认是3个-->

</property>

<property>

<name>mapred.tasktracker.reduce.tasks.maximum</name>

<value>1</value>

<final>true</final>

<!--单台机器最大reduce槽位数量-->

</property>

<property>

<name>io.sort.mb</name>

<value>32</value>

<final>true</final>

<!--reduce排序使用内存大小,默认100M,要小于mapred.child.java.opts-->

</property>

<property>

<name>mapred.child.java.opts</name>

<value>-Xmx64M</value>

<!--map和reduce进程JVM最大内存配置-->

</property>

<property>

<name>mapred.compress.map.output</name>

<value>true</value>

<!--map和reduce输出中间文件默认开启压缩-->

</property>

</configuration>

#Hadoop单机系统,启动执行和异常检查

#创建Hadoopmapred和hdfsnamenode和datanode目录在root下

mkdir-p/data/hadoop/

chown-Rhadoop:hadoop/data/*

#切换到hadoop用户下

suhadoop

#创建mapreduce

mkdir-p/data/hadoop/mapred/mrlocal

mkdir-p/data/hadoop/mapred/mrsystem

mkdir-p/data/hadoop/hdfs/name

mkdir-p/data/hadoop/hdfs/data

mkdir-p/data/hadoop/hdfs/namesecondary

#启动切换到hadoop用户

在root下,配置权限

sudochmod-Ra+w/opt/modules/hadoop/

suhadoop

#格式化文件

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoopnamenode-format

#启动Masternode:

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.shstartnamenode

#启动JobTracker:

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.shstartjobtracker

#启动secondarynamenode:

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.shstartsecondarynamenode

#启动DataNode&&TaskTracker:

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.shstartdatanode

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.shstarttasktracker

停止,命令相同,将start换为stop

#出现错误可查看日志

tail-f/opt/modules/hadoop/hadoop-1.0.3/logs/*

jps命令,jdk下用来查看一些java相关进程

注意:chmodgo-w/data/hadoop/hdfs/data