Hadoop之——分布式集群安装过程简化版
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315
1.hadoop的分布式安装过程
1.1 分布结构
主节点(1个,是hadoop0):NameNode、JobTracker、SecondaryNameNode
从节点(2个,是hadoop1、hadoop2):DataNode、TaskTracker
主机名映射ip: vi /etc/sysconfig/network ip地址=主机名 比如 192.168.106.130=hadoop0
1.2 各节点又一次产生ssh加密文件
ssh-keygen -t rsa 一路回车
进入/root/.ssh文件夹 cat id_rsa.pub >> authorized_keys
1.3 编辑各个节点的/etc/hosts,在该文件里含有全部节点的ip与hostname的映射信息
1.4 两两节点之间的SSH免password登陆
ssh-copy-id -i hadoop1 把公钥复制到hadoop1主机
scp /root/.ssh/authorized_keys hadoop1:/root/.ssh/ 把authorized.keys文件复制到hadoop1主机下
1.5 把hadoop0的hadoop文件夹下的logs和tmp删除
1.6 把hadoop0中的jdk、hadoop目录拷贝到hadoop1和hadoop2节点
scp -r /usr/local/jdk hadoop1:/usr/local/
1.7 把hadoop0的/etc/profile拷贝到hadoop1和hadoop2节点,在目标节点中运行source /etc/profile
1.8 编辑hadoop0的配置文件slaves,改为从节点的hostname。各自是hadoop1和hadoop2,编辑hadoop1,hadoop2的配置文件masters,改为主节点的hostname。即hadoop0。注意:masters文件中配置的是secondarynamenode所在的主机名
1.9 格式化,在hadoop0节点运行hadoop namenode -format
1.10 启动,在hadoop0节点运行start-all.sh
改动hadoop配置文件
1.hadoop-env.sh
export JAVA_HOME=/usr/local/jdk/
2.core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop0:9000</value>
<description>change your own hostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop0:9001</value>
<description>change your own hostname</description>
</property>
</configuration>
****注意:对于配置文件core-site.xml和mapred-site.xml在全部节点中都是同样的内容。
core-site.xml主要是配置namenode,mapred-site.xml主要是配置jobtracker,而namenode和jobtracker主要是分配到一台主机上,所以配置文件core-site.xml和mapred-site.xml在全部节点中都是同样的内容。
2.动态的添加一个hadoop节点
2.1 配置新节点的环境
2.2 把新节点的hostname配置到主节点的slaves文件里
2.3 在新节点,启动进程
hadoop-daemon.sh start datanode
hadoop-daemon.sh start tasktracker
2.4 在主节点运行脚本 hadoop dfsadmin -refreshNodes
3.动态的下架一个hadoop节点
3.1、在hadoop0上改动conf/hdfs-site.xml文件
<property>
<name>dfs.hosts.exclude</name>
<value>/usr/local/hadoop/conf/excludes</value>
</property>
3.2、确定要下架的机器
dfs.hosts.exclude定义的文件内容为,每一个须要下线的机器,一行一个。
3.3、强制又一次载入配置
#hadoopdfsadmin -refreshNodes
3.4、关闭节点
hadoopdfsadmin -report
能够查看到如今集群上连接的节点
正在运行Decommission,会显示:
DecommissionStatus : Decommission in progress
运行完成后,会显示:
DecommissionStatus : Decommissioned
3.5、再次编辑excludes文件
一旦完毕了机器下架,它们就能够从excludes文件移除了
登录要下架的机器,会发现DataNode进程没有了,可是TaskTracker依旧存在,须要手工处理一下
最新文章
- springmvc+mybatis+spring 整合 bootstrap
- 如何识别是visual studio下头的哪种类型程序
- idea tomcat +eclipse式的部署
- hdu - 2083 - 简易版之最短距离
- Linux 安装挂载时注意事项
- windows 服务 安装 删除 启动 停止
- Using newInstance() to Instantiate a Fragment(转)
- Android项目svn代码管理问题[转]
- SpringMVC整合极光推送报错ClassNotFound
- python函数与方法装饰器
- Gradle DSL method not found: &#39;android()
- iOS之PCH文件
- 第二次项目冲刺(Beta阶段)--第二天
- 通过 AJAX 加载的 JavaScript 脚本的调试
- Mysql索引介绍及常见索引的区别
- P2158 [SDOI2008] 仪仗队(欧拉函数模板)
- ssh多台主机实现互相认证
- Django -- 部署Django 静态文件不能获取
- C#以管理员用户打开某个程序
- C++ virtual函数重写,在继承的时候没有在函数前写virtual关键字也依然是虚函数吗?
热门文章
- url为什么要编码及php中的中文字符urlencode基本原理
- FreeFileSync
- PHP开发
- IOS VLC编译步骤(包含移植和截图功能)
- VS2013 更改MFC标题栏图标和生成的执行文件图标
- python bisect模块二分法查找
- POJ 2689.Prime Distance-区间筛素数
- Codeforces Round #262 (Div. 2) A. Vasya and Socks【暴力/模拟/袜子在可以在合法情况下增加后用几天】
- POJ 3470 Walls(线段树+扫描线)
- 收纳箱1号 | GitHub Pages部署静态网页的一点私货