hadoop的原理总结在写得中
hadoop的伪分布式搭建比较容易,官方文档写得很清晰。
这里的hadoop版本为2.6.5,官方文档地址为
完全分布式相对比较复杂,这里做一下总结
一、时间同步的处理
由于是分布式环境,所以服务器之间的时间同步是第一个要解决的问题。参见以下文章
二、ssh免密码登录配置
每台服务器设置自己的免密码登录
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
接下来,将秘钥发给其他服务器,并追加到authorized_keys文件中
scp ~/.ssh/id_dsa.pub 192.168.160.88:/tmp
cat /tmp/id_dsa.pub >> ~/.ssh/authorized_keys
这样该服务器就可以免密码登录其他服务器了
三、修改etc/hadoop/hadoop-env.sh文件
主要配置JAVA_HOME和HADOOP_PREFIX
顺便在/etc/profile文件中配置HADOOP的环境变量
export HADOOP_HOME=/usr/local/software/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
四、修改core-site.xml文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://NameNodeIP:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop</value>
</property>
</configuration>
五、修改hdfs-site.xml文件
<configuration>
<property>
<name>dfs.replication</name>
<value>副本数</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>SecondaryNameNodeIP:50090</value>
</property>
</configuration>
如果不用hostname,而用ip的话,需要添加如下配置
<property>
<name>dfs.namenode.datanode.registration.ip-hostname-check</name>
<value>false</value>
</property>
6、新建masters文件
在其中指定SecondaryNameNode的hostname
7、修改slaves文件
在其中指定DataNode的hostname
8、格式化hdfs
hdfs namenode -format
9、启动集群
start-dfs.sh
10、访问NameNode和SecondaryNameNode的管理界面
访问NameNodeIP:50070地址,会出现如下管理界面
访问SecondaryNameNodeIP:50090,会出现如下管理界面
到此为止,hadoop的完全分布式搭建完成