1、硬件环境
我们采用了3台机器来构建,都安装的是Ubuntu8.04系统,并且都有一个名为“quan“的帐号,如下:
主机名称:360quan-1 ip:192.168.0.37 功能:NameNode,JobTracker
主机名称:360quan-2 ip:192.168.0.43 功能:DataNode,TaskTracker
主机名称:360quan-3 ip:192.168.0.53 功能:DataNode,TaskTracker
重点:修改3台机器的/etc/hosts,让彼此的主机名称和ip都能顺利解析
127.0.0.1 localhost
192.168.0.37 360quan-1
192.168.0.43 360quan-2
192.168.0.53 360quan-3
2、每台机器都要安装java环境,我们的路径统一为“/opt/jdk1.6.0_03“,并添加到系统环境变量 sudo gedit /etc/profile
Xml代码
JAVA_HOME =/opt/jdk1.6.0_03
CLASSPATH =$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
PATH =$JAVA_HOME/bin:$PATH
export JAVA_HOME
export CLASSPATH
export PATH
JAVA_HOME=/opt/jdk1.6.0_03
CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:.
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME
export CLASSPATH
export PATH
3、下载hadoop0.16.3,hbase0.12版本到"360quan-1",将hadoop解压到/home/quan/opt/hadoop,hbase解压到hadoop/contrib/hbase。建议最好也将hadoop的目录添加到环境变量里面去:
Xml代码
HADOOP_HOME =/home/quan/opt/hadoop #这是hadoop的主目录
export HADOOP_HOME
HADOOP_CONF_DIR =$HADOOP_HOME/conf #这是hadoop的配置文件目录
export HADOOP_CONF_DIR
HADOOP_LOG_DIR =/home/quan/hadoop/log #存放运行日志目录
export HADOOP_LOG_DIR
HADOOP_SSH_OPTS ="-p 22" #SSH的端口号,其实默认就是22
export HADOOP_SSH_OPTS
HADOOP_HOME=/home/quan/opt/hadoop #这是hadoop的主目录
export HADOOP_HOME
HADOOP_CONF_DIR=$HADOOP_HOME/conf #这是hadoop的配置文件目录
export HADOOP_CONF_DIR
HADOOP_LOG_DIR=/home/quan/hadoop/log #存放运行日志目录
export HADOOP_LOG_DIR
HADOOP_SSH_OPTS="-p 22" #SSH的端口号,其实默认就是22
export HADOOP_SSH_OPTS
4、安装ssh,这里注意ubuntu8.04下面是ssh2,如果是ssh1的话,请升级,安装完后,建立ssh通道,使用空密码(生产环境可不能使用空密码啊),这里使用“360quan-1”这台机器为例说明:
Xml代码
sudo apt-get install ssh
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
sudo apt-get install ssh
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
以上配置完成后,执行一下ssh localhsot,确认你的每台机器都可以使用ssh(不需要密码)连接,连接成功后会输出以下信息:
Xml代码
Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Thu Jun 12 10:40:50 2008 from localhost
Linux zhangqiaohui-desktop 2.6.24-19-generic #1 SMP Wed Jun 4 16:35:01 UTC 2008 i686
The programs included with the Ubuntu system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
applicable law.
To access official Ubuntu documentation, please visit:
http://help.ubuntu.com/
Last login: Thu Jun 12 10:40:50 2008 from localhost
ok后,我们将“360quan-1”机器上产生的这个空密钥拷贝到另外2台机器上,作为公共密钥,让namenode也可以不需要密码访问2台datanode:
Xml代码
sudo scp authorized_keys 360quan-2:/home/quan/.ssh/
sudo scp authorized_keys 360quan-3:/home/quan/.ssh/
ssh 360quan-2
ssh 360quan-3
sudo scp authorized_keys 360quan-2:/home/quan/.ssh/
sudo scp authorized_keys 360quan-3:/home/quan/.ssh/
ssh 360quan-2
ssh 360quan-3
5、接下来,我们要修改hadoop的相关设定了。修改"360quan-1"上面的hadoop的[conf/masters]、[conf/slaves]这2个文件:
Master设置(/conf/masters) :360quan-1
Slave设置(/conf/slaves) L:360quan-2 360quan-3
6、修改[conf/hadoop-env.sh]:
export JAVA_HOME=/opt/jdk1.6.0_03
7、修改[conf/hadoop-site.xml],这里只是几个常用的属性配置,有关hadoop的性能优化调整,需要研究hadoop-default.xml:
Xml代码
fs.default.name
360quan-1:9000
指定NameNode的IP地址和端口号,缺省值是file:///, 表示使用本地文件系统, 用于单机非分布式模式
mapred.job.tracker
360quan-1:9001
指定 JobTracker的IP地址和端口号。缺省值是local, 表示在本地同一Java进程内执行JobTracker和TaskTracker, 用于单机非分布式模式
dfs.replication
1
指定HDFS中每Block被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3。
hadoop.tmp.dir
/home/quan/opt/hadoop/tmp/
fs.default.name
360quan-1:9000
指定NameNode的IP地址和端口号,缺省值是file:///, 表示使用本地文件系统, 用于单机非分布式模式
mapred.job.tracker
360quan-1:9001
指定 JobTracker的IP地址和端口号。缺省值是local, 表示在本地同一Java进程内执行JobTracker和TaskTracker, 用于单机非分布式模式
dfs.replication
1
指定HDFS中每Block被复制的次数,起数据冗余备份的作用。在典型的生产系统中,这个数常常设置为3。
hadoop.tmp.dir
/home/quan/opt/hadoop/tmp/
8、修改hbase的[hbase-evn.sh]:
export JAVA_HOME=/opt/jdk1.6.0_03
9、修改hbase的[hbase-site.xml]:
Xml代码
hbase.master
360quan-1:60000
hbase.rootdir
hdfs://360quan-1:9000/hbase
hbase.master
360quan-1:60000
hbase.rootdir
hdfs://360quan-1:9000/hbase
10、然后将hadoop的整体环境拷贝到360quan-2、360quan-3上面去
scp -r /home/quan/hadoop 360quan-2:/home/hdp/
scp -r /home/quan/hadoop 360quan-3:/home/hdp/
11、在360quan-1这个namenode上面格式化一个新的分布式文件系统HDFS,就是hadoop-site.xml文件中指定的hadoop.tmp.dir路径
/bin/hadoop namenode -format
到此大致上就完成了属于你自己的Cloud Computing环境了
启动hadoop:/bin/start-all.sh
启动hbase:/contrib/hbase/bin/start-hbase.sh
停止hbase:/contrib/hbase/bin/stop-hbase.sh
停止hadoop:/bin/stop-all.sh
说明:
(1) 执行 $ bin/start-all.sh启动Hadoop进程后,会启动5个java进程,同时会在/tmp目录下创建五个pid文件记录这些进程ID号。通过这五个文件,可以得知namenode,datanode,secondary namenode,jobtracker,tasktracker 分别对应于哪一个Java进程。当你觉得 Hadoop 工作不正常时,可以首先查看这5个java进程是否在正常运行,运行jps命令也可以查看。
(2) 访问 http://360quan-1:50030 可以查看JobTracker的运行状态。访问 http://360quan-1:50060可以查看 TaskTracker的运行状态。访问 http://360quan-1:50070可以查看NameNode以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及log等。
(3) 查看 ${HADOOP_HOME}/logs目录下的log文件,namenode,datanode,secondary namenode,jobtracker, tasktracker各有一个对应的log文件,每一次运行的计算任务也有对应用log文件。分析这些log文件有助于找到故障原因。
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com