文档详情

用Hadoop搭建分布式存储和分布式运算集群.doc

发布:2016-10-29约字共6页下载文档
文本预览下载声明
用Hadoop搭建分布式存储和分布式运算集群1. 列出使用的机器 普通PC,要求: cpu: 750M-1G mem: 128M disk: 10G 不需要太昂贵的机器。 机器名: finewine01 finewine02 finewine03 将finewine01设为主节点,其它的机器为从节点。 2. 下载和生成 从这里checkout,我选择trunk /repos/asf/lucene/hadoop/ 使用ant进行生成 3. 部署前的准备工作 在主节点的start-all.sh脚本执行后,主节点和从节点的所有服务运行。即这个脚本将启动主节点的服务,并ssh到从所有的节点,继而启动从节点的服务。 start-all.sh这个脚本假定hadoop被安装在所有机器的同一个位置,每一台机器都用同一个路径存放hadoop的数据。 我们需要在每台机器上创建同样的目录结构。 /hadoop /hadoop-install/hadoop-0.10.0 hadoop的0.10.0版的安装位置 /filesystem hadoop文件系统的根 /home 用户hadoop的主目录 以root登录到所有的机器,创建hadoop用户和目录结构。 ssh -l root finewine01 mkdir /hadoop mkdir /hadoop/hadoop-install mkdir /hadoop/filesystem mkdir /hadoop/home groupadd hadoop useradd -d /hadoop/home -g hadoop hadoop chown -R hadoop:hadoop /hadoop passwd hadoop hadooppassword start-all.sh脚本要启动所有机器的服务,需要对所有的机器进行ssh无密码的登录的能力。因此我们需要在每台机器上创建一个ssh key。在这个例子中,主节点也需要启动自己的服务,因此主节点同样需要做无密码的ssh登录设置。 用vi编辑/hadoop/hadoop-install/hadoop-0.10.0/conf/hadoop-env.sh,将下面的环境变量设置: export HADOOP_HOME=/hadoop/hadoop-install/hadoop-0.10.0 export JAVA_HOME=/usr/java/jdk1.5.0_06 export HADOOP_LOG_DIR=${HADOOP_HOME}/logs export HADOOP_SLAVES=${HADOOP_HOME}/conf/slaves 这个文件还有很多变量,这些变量的设定影响hadoop的运行。比如你以后执行脚本时发生ssh错误,就需要调整其中的HADOOP_SSH_OPTS变量。 同时需要注意的是,在初始的拷贝操作后,需要在设置hadoop-env.sh文件中的HADOOP_MASTER变量,这样程序才能通过rsync同步主节点的改变到所有的从节点上。 在主节点上创建ssh keys,然后复制到各个从节点上。这些操作必须由先前创建的hadoop用户完成。不要su成hadoop用户来做。开启一个新shell,以hadoop用户的身份登录来完成这些操作。 cd /hadoop/home ssh-keygen -t rsa (Use empty responses for each prompt) Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /hadoop/home/.ssh/id_rsa. Your public key has been saved in /hadoop/home/.ssh/id_rsa.pub. The key fingerprint is: a6:5c:c3:eb:18:94:0b:06:a1:a6:29:58:fa:80:0a:bc nutch@localhost 在主节点上,拷贝刚才创建的公共key到一个名为authorized_keys的文件: cd /hadoop/home/.ssh cp id_rsa.pub authorized_keys 只需在主节点上运行ssh-kegen程序。其他节点的目录结构创建后,将刚才在主节点创建的keys通过scp拷贝到从节点的同样的目录上。 scp /hadoop/home/.ssh/authorized_keys hadoop@finewine02:/hadoop/home/.ssh/authorized_ke
显示全部
相似文档