hadoop_环境配置

1 配置时间同步:
    指令:crontab -e
    编辑:0 1 * * * root /usr/sbin/ntpdate cn.pool.ntp.org  【a进入编辑状态,ctrl+c退出编辑状态 ,:wq保存】
2 配置主机名:vi /etc/sysconfig/network
3   配置网络:
     指令:setup  --> network configuration-->eth0-->use dhcp空格-->ip netmask
                     -->ok
      /sbin/service network restart  #重新启动网络服务
      /sbin/ifconfig    #检查网络ip配置
4 配置集群hosts列表
  vi /etc/hosts
   192.168.1.100 master
   192.168.1.101 node1
==================================
5 ssh无秘钥登陆
生成公钥和私钥
ssh-keygen -q -t rsa -N "" -f /home/hadoop/.ssh/id_rsa
cd  /home/hadoop/.ssh
cp id_rsa.pub authorized_keys
chmod go-wx  authorized_keys


6 安装JDK
#下载jdk
wget http://60.28.110.228/source/package/jdk-6u21-linux-i586-rpm.bin
#安装jdk
chmod +x  jdk-6u21-linux-i586-rpm.bin
./jdk-6u21-linux-i586-rpm.bin

#配置环境变量
vi /etc/profile.d/java.sh

#复制粘贴一下内容 到 vi 中。
export JAVA_HOME=/usr/java/jdk1.6.0_21/
export HADOOP_HOME=/opt/modules/hadoop/hadoop-1.0.3/
export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$PATH



#手动立即生效
source /etc/profile

7 创建hadoop用户及环境
#创建 hadoop 用户
/usr/sbin/groupadd hadoop

#分配 hadoop 到 hadoop 组中
/usr/sbin/useradd hadoop -g hadoop

#创建 hadoop 代码目录结构
mkdir -p /opt/modules/hadoop/

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

#创建 hadoop 数据目录结构
mkdir -p /opt/data/hadoop/

#修改 目录结构权限为为hadoop
chown -R hadoop:hadoop  /opt/modules/hadoop/
chown -R hadoop:hadoop  /opt/data/hadoop/

#解压并测试
cd /opt/modules/hadoop/
tar -xzvf hadoop-1.0.3.tar.gz
hadoop

8 hadoop单机集群配置
vi /opt/modules/hadoop/hadoop-1.0.3/conf/hadoop-env.sh
修改export HADOOP_HEAPSIZE=32

#Hadoop Common组件 配置 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>
<!--hadoop namenode 服务器地址和端口,以域名形式-->
  </property>
  <property>
    <name>fs.checkpoint.dir</name>
    <value>/data/hadoop/hdfs/namesecondary</value>
    <!--hadoop secondary 数据存储路径,可以配置成多个目录,用,号分隔。-->
  </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>
#HDFS NameNode,DataNode组建配置 hdfs-site.xml
vi /opt/modules/hadoop/hadoop-1.0.3/conf/hdfs-site.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>dfs.name.dir</name>
<value>/data/hadoop/hdfs/name</value>
<!--HDFS namenode image 文件保存地址-->
    <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>
<!---HDFS Web查看主机和端口-->
  </property>
  <property>
    <name>dfs.secondary.http.address</name>
<value>node1:50090</value>
<!--辅控HDFS web查看主机和端口-->
  </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 - JobTracker TaskTracker 启动配置
vi /opt/modules/hadoop/hadoop-1.0.3/conf/mapred-site.xml
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
   
<!-- Put site-specific property overrides in this file. -->
 
<configuration>
  <property>
    <name>mapred.job.tracker</name>
<value>master:9001</value>
<!--JobTracker rpc主机和端口-->
  </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单机系统,启动执行和异常检查
#创建Hadoop mapred 和 hdfs namenode 和 datanode 目录 在 root 下
mkdir -p /data/hadoop/
chown -R hadoop:hadoop /data/*

#切换到 hadoop 用户下
su hadoop

#创建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下,配置权限
sudo chmod -R a+w /opt/modules/hadoop/

su hadoop

#格式化文件
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop namenode -format

#启动 Master node :
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start namenode

#启动 JobTracker:
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start jobtracker

#启动 secondarynamenode:
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start secondarynamenode

#启动 DataNode && TaskTracker:

/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start datanode
/opt/modules/hadoop/hadoop-1.0.3/bin/hadoop-daemon.sh start tasktracker

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

#出现错误可查看日志
tail -f /opt/modules/hadoop/hadoop-1.0.3/logs/*

jps命令,jdk下用来查看一些java相关进程
注意: chmod go-w /data/hadoop/hdfs/data

猜你喜欢

转载自liukunzhou123.iteye.com/blog/2148167