您的位置:首页 > 运维架构

Hadoop之——分布式集群安装过程简化版

2015-06-03 22:18 369 查看
转载请注明出处:/article/8380738.html

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免密码登陆

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依然存在,需要手工处理一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: