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