精品文档
Linux下安装Hadoop完全分布式Ubuntu12. 10
Hadoop的安装非常简单可以在官网上下载到最近的几个版本最好使用稳定版。本例在3台机器集群安装。hadoop版本如下
工具/原料hadoop-0.20.2. tar.gz
Ubuntu12. 10
安装步骤
1
安装ubuntu
Ubuntu12. 10交换空间4G(内存2G) 。具体安装过程不赘述。
用户名统一为 hadoop;
组群:hadoop;
机器名 namenode(主节点) ,datanode1 (从节点
1) ,datanode2(从节点2) 。
在Ubuntu下创建hadoop用户组和用户(也可在安装系统时通过界面配置)
1.创建hadoop用户组;
$sudoaddgrouphadoop
记下这里为 hadoop用户设置的密码 后面使用
1/9
精品文档hadoop用户登录时需要用到。
.创建hadoop用户;
$sudoadduser-ingrouphadoophadoop
.给hadoop用户添加权限打开/etc/sudoers文件;
$sudogedit/etc/sudoers
.给hadoop用户赋予root用户同样的权限。
在rootALL=(ALL:ALL) ALL下添加如下内容hadoopALL=(ALL:ALL) ALL
在Ubuntu下安装JDK
配置环境变量
$ sudo gedit /etc/profile
在文件的末尾加上如下内容保存并关闭文件
# for javaexport JAVA_HOME=/usr/lib/jvm/jdk1.8.0export JRE_HOME=${JAVA_HOME}/jreexport
CLASSPATH=. :${JAVA_HOME}/l ib:${JRE_HOME}/l ibexport
PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin:$PATH
使设置生效到此部JDK的配置就都完成了
$ source /etc/profile
2/9
精品文档
为保证正确性进行简单的测试
$ java -version
输出java version "1.8.0"
Java(TM) SE Runtime Environment (build 1.8.0)
Java HotSpot(TM) Server VM
修改默认JDKsudo update-alternatives --install /usr/bin/javajava /usr/lib/jvm/jdk1.8.0/bin/java00sudo update-alternatives--install /usr/bin/javacjavac /usr/lib/jvm/jdk1.8.0/bin/javac00sudo update-alternatives --install /usr/bin/jarjar /usr/lib/jvm/jdk1.8.0/bin/jar00
以下两句可选(最好执行) sudo update-alternatives --config javasudo update-alternatives --config javac
修改机器名(这步骤可以省略)
每当ubuntu安装成功时机器名都默认为 ubuntu 但为了以后集群中能够容易分辨各台服务器需要给每台机器取个不同的名字。机器名由/etc/hostname文件决定。
1.打开/etc/hostname文件;
3/9
精品文档
$sudogedit/etc/hostname
.将/etc/hostname文件中的ubuntu改为对应机器如主节点中修改为"namenode"。重启生效。
.修改/etc/hosts文件
$sudogedit/etc/hosts
改为如下所示并且将每台机器的IP设置为固定IP
安装ssh服务
这 里 的 ssh 不 是 指 三 大 框架:spring, struts,hibernate而是一种远程登录协议。ubuntu一般只是默认安装了 ssh-agent, 可以用如下命令查看
$sudops-ef|grepssh
如果只有ssh-agent就需要安装openssh-server了。
$sudoapt-getinstallsshopenssh-server
建立ssh无密码登录本机
首先要转换成hadoop用户执行以下命令
$sudosu-hadoopssh生成密钥有rsa和dsa两种生成方式默认情况下采用rsa方式。
1.创建ssh-key 这里我们采用rsa方式;
4/9
精品文档
$ssh-keygen-trsa-P""
请注意 ssh-kengen是用连字符连着的千万不要分开。 问题如下
按照您的步行的程中我在ssh -keygen -t rsa -P ""生的小入之後端示Bad escape character "ygen"(红字部分就是问题所在他将ssh-keygen分开了。 )
(注 回车后会在~/. ssh/下生成两个文件 id_rsa和id_rsa.pub这两个文件是成对出现的)
.创建授权文件authorized_keys
进入~/. ssh/目录下发现开始是没有authorized_keys文件的可以使用以下两种方法
(1)将id_rsa.pub追加到authorized_keys授权文件中;
$cd~/. ssh
$catid_rsa.pub>>authorized_keys
(2)复制id_rsa.pub为authorized_keys
$cp~/. ssh/id_rsa.pub~/. ssh/authorized_keys
.登录localhost;
$sshlocalhost
.执行退出命令(exit或CTRL+D) ;
安装hadoop
5/9
精品文档
1.假设hadoop-0. 20. 2. tar.gz在桌面将它复制到安装目录/usr/local/下;
$sudocphadoop-0. 20.2.tar.gz/usr/local/
.解压hadoop-0.20.2. tar.gz;
$cd/usr/local
$sudotar-zxvfhadoop-0. 20.2. tar.gz
.将解压出的文件夹改名为hadoop;
$sudomvhadoop-0. 20.2hadoop
.将该hadoop文件夹的属主用户设为hadoop
$sudochown-Rhadoop:hadoophadoop
.打开hadoop/conf/hadoop-env. sh文件;
$sudogedithadoop/conf/hadoop-env. sh
.配置conf/hadoop-env. sh(找到#exportJAVA_HOME=. . . ,去掉#然后加上本机jdk的路径) ;exportJAVA_HOME=/usr/l ib/jvm/java1.8.0
.打开conf/core-site.xml文件;
$sudogedithadoop/conf/core-site.xmlf s.default.namehdfs://namenode:9000
.打开conf/mapred-site.xml文件;
$sudogedithadoop/conf/mapred-site.xmlmapred. job. tracker
6/9
精品文档namenode:9001
.打开conf/hdfs-site.xml文件;
注意 datalog1 datalog2 data1 data2文件夹最好事先建好。
10. 打开 conf/masters 文件 添加作为secondarynamenode的主机名.
11.打开conf/slaves文件添加作为slave的主机名一行一个。
作者设置如下
运行hadoop
1.进入hadoop目录下格式化hdfs文件系统初次运行hadoop时一定要有该操作
$cd/usr/local/hadoop/
$bin/hadoopnamenode-format
.启动bin/start-all. sh
进入bin 目录下 $ ./start-all. sh关闭 同目录下./stop-all. sh
.检测hadoop是否启动成功
$ jps
.Web查看
注意事项
7/9
精品文档
集群中所有机器的登录用户名和所属组都要相同本文用户名为hadoop组群也为Hadoop。
每台机器的IP设置为固定IP主机名-ip需要在每一台机器里修改对应的hosts文件。
注意代码中的粗斜体为具体安装目录要和实际目录相同。
衰莫大于心死愁莫大于无志。
8/9
精品文档
感 谢 阅 读
9/9
Megalayer是新晋崛起的国外服务器商,成立于2019年,一直都处于稳定发展的状态,机房目前有美国机房,香港机房,菲律宾机房。其中圣何塞包括CN2或者国际线路,Megalayer商家提供了一些VPS特价套餐,譬如15M带宽CN2线路主机最低每月48元起,基于KVM架构,支持windows或者Linux操作系统。。Megalayer技术团队行业经验丰富,分别来自于蓝汛、IBM等知名企业。Mega...
Megalayer 商家在之前也有记录过,商家开始只有提供香港站群服务器和独立服务器,后来也有增加到美国独立服务器,以及前几天也有介绍到有增加香港VPS主机。对于香港服务器之前有过评测(Megalayer香港服务器配置一览及E3-1230 8GB服务器评测记录),这里申请到一台美国独立服务器,所以也准备简单的评测记录。目前市场上我们看到很多商家提供VPS或者云服务器基本上没有什么特别的,但是独立服...
今天遇到一个网友,他在一个服务器中搭建有十几个网站,但是他之前都是采集站点数据很大,但是现在他删除数据之后希望设置可能有索引的文章给予404跳转页面。虽然他程序有默认的404页面,但是达不到他引流的目的,他希望设置统一的404页面。实际上设置还是很简单的,我们找到他是Nginx还是Apache,直接在引擎配置文件中设置即可。这里有看到他采用的是宝塔面板,直接在他的Nginx中设置。这里我们找到当前...