一、安装伪分布式hadoop
metadata 保存整个文件系统的元数据 元数据:整个文件系统的目录结构,每个目录有哪些文件,每个文件有哪些分块,每个分块保存在那个datanode上 namennode保存metadata,metadata会被调用到在内存中,为处理快速的“读请求”,由于metadata是非常重要的 数据所以它要在磁盘上有保存,当metadata中数据有变化的时候namenode会首先写editlog,同时将数据同步到磁盘,若写磁盘成功则会修改内存中的数据,并向客户端返回
1、hadoop 下载地址 http://mirror.bit.edu.cn/apache/hadoop/core/stable/
2、修改主机名,修改host配置文件 vi /etc/sysconfig/network HOSTNAME=hadoop vi /etc/hosts 172.30.82.61 hadoop hostname hadoop
3、设置ssh ssh-keygen -q -t rsa -N "" -f /root/.ssh/id_rsa cd /root/.ssh/ cat id_rsa.pub >authorized_keys chmod 600 authorized_keys
4、设置java环境 下载jdk wget http://60.28.110.228/source/package/jdk-6u31-linux-i586.bin #安装jdk chmod +x jdk-6u31-linux-i586.bin ./jdk-6u31-linux-i586.bin
5、创建用户useradd hadoop -M -s /sbin/nologin
tar -zxvf hadoop-1.2.1.tar.gz mv hadoop-1.2.1 /data/program mkdir -p /data/program/hadoop/hdfs/name 存放namenode元数据 mkdir -p /data/program/hadoop/hdfs/data hadoop数据存放目录
chown -R hadoop:hadoop /data/program/hadoop
6、配置hadoop cd /data/program/hadoop/hadoop-1.0.3/conf/
vi hadoop-env.sh export JAVA_HOME=/data/program/jdk1.6.0_31 设置hadoop java环境
vi core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://hadoop:9000</value> </property> </configuration> <!--hadoop namenode 服务器地址和端口,以域名形式--> 乒乓!@#4
vi hdfs-site.xml <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <!-- 设置数据块保存的分数-->
<property> <name>dfs.name.dir</name> <value>/data/program/hadoop/hdfs/name</value> </property> <!--HDFS namenode image 文件保存地址-->
<property> <name>dfs.date.dir</name> <value>/data/program/hadoop/hdfs/data</value> </property> <!-- HDFS数据文件存储路径,可以配置多个不同的分区和磁盘中,使用,号分隔 -->
<property> <name>dfs.http.address</name> <value>hadoop:50070</value> </property> <!---HDFS Web查看主机和端口-->
</configuration>
vi mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>hadoop:9001</value> </property> </configuration> <!--JobTracker 主机和端口-->
7、启动、测试hadoop /data/program/hadoop/bin/hadoop namenode -format 格式化文件 /data/program/hadoop/bin/hadoop-daemon.sh start namenode /data/program/hadoop/bin/hadoop-daemon.sh start jobtracker /data/program/hadoop/bin/hadoop-daemon.sh start datanode /data/program/hadoop/bin/hadoop-daemon.sh start tasktracker /data/program/hadoop/bin/hadoop-daemon.sh start secondarynamenode 启动服务 /data/program/hadoop/bin/hadoop-daemon.sh stop namenode /data/program/hadoop/bin/hadoop-daemon.sh stop jobtracker /data/program/hadoop/bin/hadoop-daemon.sh stop datanode /data/program/hadoop/bin/hadoop-daemon.sh stop tasktracker /data/program/hadoop/bin/hadoop-daemon.sh stop secondarynamenode 批量启动和关闭集群 /opt/modules/hadoop/hadoop-1.0.3/bin/start-all.sh 全部启动 /opt/modules/hadoop/hadoop-1.0.3/bin/stop-all.sh 全部关闭
http://hadoop:50070/ 验证hadoop是否正常启动
8、hadoop 报错处理
Format aborted in /data/program/hadoop/hdfs/name 13/08/19 19:30:54 INFO namenode.NameNode: SHUTDOWN_MSG: /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at hadoop/172.30.82.61 ************************************************************/
/data/program/hadoop/bin/hadoop-daemon.sh start namenode netstat -anlp | grep :50070 没有打开端口 产看日志 less hadoop-root-namenode-hadoop.log
2013-08-19 19:07:22,306 ERROR org.apache.hadoop.hdfs.server.namenode.FSNamesystem: FSNamesystem initialization failed. java.io.IOException: NameNode is not formatted.
错误可能原因: A、 /data/program/hadoop/hdfs 权限要设置正确 /data/program/hadoop/hdfs/name /data/program/hadoop/hdfs/data; name、data这两个文件不需要手动建,hadoop初始化会自动建立 B、 /etc/sysconfig/network 设置不正确 ssh 设置问题 /etc/hosts 设置问题 上述问题设置完成后重新启动网卡 ssh hadoop看是否可以不需密码连接
|