hadoop环境搭建
来源:互联网 发布:软件注册权登记 编辑:程序博客网 时间:2024/06/06 04:51
在各环境中新建用户easadmin 密码easadmin
服务器安装JDK
rpm -ivh jdk-7u40-linux-x64.rpm
hadoop0.23.11配置文件路径
/root/Music/hadoop-0.23.11/share/hadoop/common/templates/conf
[root@localhost hadoop-1.2.1]#pwd 查看当前路径
/u01/hadoop-1.2.1
/u01/hadoop-1.2.1
一、实现各服务器之间SSH免密码登录;
二、安装JDK,此次使用的是 jdk-7u40-linux-x64.rpm,具体安装如下;实现SSH免密码登录,主要是按如下步骤:先确定NameNode主节点服务器,然后在这台服务器上进行操作。1) cd ~ls -al查看是否有 .ssh目录,如果没有就新建一个:mkdir .ssh注:由于.ssh目录一般情况下是隐藏的文件夹,所以要用: ls -al才能全部显示2)配置可以免密码登陆本机在命令行输入(注意其中的ssh前面还有一个“.”不要遗漏)cd ~/.sshssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa(解释一下上面这条命令,ssh-keygen 代表生成密钥;-t 表示指定生成的密钥类型;dsa 是dsa密钥认证的意 思;-P 用于提供密语(接着后面是两个单引号,不要打错);-f 表示指定生成密钥文件)这条命令完成后,会在当前文件夹下面的.ssh文件夹下创建id_dsa和id_dsa.pub两个文件,这是SSH的一对私 钥和公钥,把id_dsa.pub(公钥)追加到授权的key中去,输入如下命令:cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys3)测试是否配置成功ssh localhost如果配置成功,那么这条命令执行完成之后,会直接登录到机器,否则会提示输入密码。注意:确保.ssh文件权限700,authorized_keys文件权限600。之后要把主节点上面的公钥添加到其他节点的:~/.ssh/authorized_keys文件中
1、 在jdk-7u40-linux-x64.rpm目录下执行命令:#rpm -ivh jdk-7u40-linux-x64.rpm
2、配置环境变量,#export JAVA_HOME=/usr/java/jdk1.7.0_40
安装完成后可以使用 #java -version命令进行查看当前系统JDK版本,
使用#echo ${JAVA_HOME}查看java_home环境变量的配置。
三、所有的节点都修改/etc/hosts,使彼此之间都能把主机名解析为ip
#cd /退出到根目录
#cd etc/ 进入到etc目录
#vi hosts查看hosts文件,按 i 进入编辑模式,然后按照下图添加对应的地址;添加完成后按esc键,然后输入:wq保存进行退出,使用#vi hosts可以验证是否保存成功。(如果编辑错了,可以按esa然后输入:q!取消修改进行退出)
如果完成第一步无密码登录的话,可以使用 ssh dataNode1看看是否可以成功登录到dataNode1服务器上。登录后可以使用#exit命令退回到原服务器上。
四、下载hadoop
下载地址:http://hadoop.apache.org/releases.html#Download(此次使用的是 hadoop-1.2.1.tar.gz)
五、安装和配置hadoop
在服务器根目录新建文件夹[root@localhost /]#mkdir u01
将hadoop-1.2.1.tar.gz上传到nameNode服务器的u01文件下,然后进行使用
[root@localhost u01]# tar -zxvf hadoop-1.2.1.tar.gz 命令进行解压
下面就是配置的关键时候(可以现在nameNode服务器上进行修改,然后在将hadoop解压的文件复制到其他节点上):
1、修改hadoop-env.sh文件中的JAVA_HOME指向我们自己安装的JDK路径
[root@localhost u01]# cd hadoop-1.2.1/conf/ 进入配置文件中;[root@localhost conf]# vi hadoop-env.sh 查看文件,然后按 i 进行编辑模式;去掉#,然后把JAVA_HOME修改为我们自己的JAVA_HOME地址 (/usr/java/jdk1.7.0_40),然后按esc键退出,:wq保存退出
2、修改hdfs-site.xml文件,指定数据副本的个数;
1)在各个服务器节点新建文件
[root@localhost u01]# mkdir hadoop_data 新建文件夹,用于存放数据;
2)
[root@localhost conf]#vi hdfs-site.xml 查看文件,然后按 i 进行编辑模式;
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>dfs.replication</name><value>2</value><description>DataNode</description></property><property><name>dfs.namenode.name.dir</name><value>/u01/hadoop_data</value><description>Determines where on the local filesystem the DFS name nodeshould store the name table. If this is a comma-delimited listof directories then the name table is replicated in all of thedirectories, for redundancy. </description><final>true</final></property><property><name>dfs.datanode.data.dir</name><value>/u01/hadoop_data</value><description>Determines where on the local filesystem an DFS data nodeshould store its blocks. If this is a comma-delimitedlist of directories, then data will be stored in all nameddirectories, typically on different devices.Directories that do not exist are ignored.</description><final>true</final></property></configuration>输入以上内容,然后按esc键退出,:wq保存退出[root@localhost conf]# cat hdfs-site.xml 验证是否保存成功/*
配置文件说明:dfs.namenode.name.dir存储名字空间及汇报日志的位置,dfs.datanode.data.dir DataNode存储数据块的位置
*/
3、修改core-site.xml文件,指定nameNode服务器;
[root@localhost conf]#vi core-site.xml 查看文件,然后按 i 进行编辑模式;
<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!-- Put site-specific property overrides in this file. --><configuration><property><name>fs.default.name</name><value>hdfs://192.168.67.41:9000</value><description>Master Node</description></property><property><name>hadoop.tmp.dir</name><value>/u01/hadoop_data/hadoop-${user.name}</value><description>A base for other temporary directories.</description></property></configuration>
指定nameNode服务器,然后按esc键退出,:wq保存退出,[root@localhost conf]# cat core-site.xml 验证是否保存成功。
hadoop.tmp.dir 主要是制定文件格式化后临时文件的保存路径,默认保存的路径为/tmp/hadoop-javoft/dfs,但每次服务器重新启动时都会清空默认路劲下面的文件,所以最好修改下该路径
4、修改mapred-site.xml文件,指明MapReduce的JobTracker的主机;
[root@localhost6 conf]# cat mapred-site.xml<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<!-- Put site-specific property overrides in this file. -->
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.67.41:9001</value>
<description>JobTracker</description>
</property>
</configuration>
5、修改masters 和 slaves 文件
Hadoop conf 下的 masters 和 slaves 文件的作用是什么?
从字面意思上来看,masters 是主要的,应该记录的是 namenode 的 IP 或者是域名。但是文件的名称确实有点误导人,它主要记录运行辅助 namenode 的所有机器。slaves 文件记录了运行 datanode 和 tasktracker 的所有机器。用户也可以改变 hadoop-env.sh 的 HADOOP_SLAVES 项的值,将 slaves 文件放在其他地方。这两个文件无需分发到各个工作节点,因为只有运行在 namenode 或 jobtracker 上的控制脚本能使用这些文件。不过,分发了也不会有什么影响。
因为此次无辅助的nameNode服务器,所以无需配置masters文件,只需配置slaves文件即可;
[root@localhost conf]# cat masters
localhost
localhost
[root@localhost conf]# cat slaves
dataNode1
dataNode2
dataNode1
dataNode2
6、复制hadoop文件到各个节点
配置完成后将hadoop文件复制到各个服务器节点上。
[root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode2:/u01
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
六、格式化分布式文件系统
进入bin目录,执行命令进行格式化[root@localhost hadoop-1.2.1]#cd bin[root@localhost bin]# ./hadoop namenode -format
七、在NameNode中启动整个集群
[root@localhost bin]#./start-all.sh
貌似启动有些问题,晕菜,自己没有将hadoop复制到其他服务器节点,[root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode1:/u01[root@localhost u01]# scp -r hadoop-1.2.1 root@dataNode2:/u01复制完成后继续启动
验证是否启动成功
1)检测守护进程启动情况
[root@localhost bin]#ls /usr/java/jdk1.7.0_40/bin
[root@localhost bin]#/usr/java/jdk1.7.0_40/bin/jps 查看JAVA相关的进程
nameNode1:dataNode1:dataNode2:查看HDFS情况,访问下面地址:http://192.168.67.41:50070/dfshealth.jsp
查看MapReduce情况,访问下面地址:
http://192.168.67.41:50030/jobtracker.jsp
0 0
- 【hadoop】hadoop环境快速搭建
- Hadoop - Hadoop开发环境搭建
- Hadoop环境搭建
- hadoop开发环境搭建
- linux搭建hadoop环境
- nutch+hadoop环境搭建
- Hadoop环境搭建-集群
- eclipse hadoop 环境搭建
- linux搭建hadoop环境
- hadoop环境搭建步骤
- MyEclipse 搭建 hadoop 环境
- Hadoop 环境搭建
- windows搭建hadoop环境
- Hadoop环境搭建
- hadoop集群环境搭建
- Hadoop环境搭建
- hadoop环境搭建问题
- hadoop单机环境搭建
- centos7.0启用ftp功能
- iOS中UIScrollView和UIPageControl的使用
- python中range函数和xrange函数的区别
- Junit4单元测试(2)
- unity3d 异步加载关卡进度条显示
- hadoop环境搭建
- A Generic method to modify the names in a JSONObject
- 平面向量加法(10)
- UITableView常用函数
- 查找整数
- UVA 11624 Fire!(kuangbin带你飞 专题一:简单搜索)
- 多重背包问题
- POJ 1952 LITTLE SHOP OF FLOWERS(DP动归,最长递减子序列)
- android屏幕分辨率及自动匹配相关