hadoop搭建
伪分布式建立(已经正确实施过):
配置export JAVA_HOME
配置export HADOOP_HOME/bin……sbin
修改hadoop-env.sh的JAVA_HOME,改成绝对路径
修改mapred-env.sh的JAVA_HOME,改成绝对路径
修改yarn-env.sh的JAVA_HOME,改成绝对路径
修改core-site.xml:
添加
<property>
<name>fs.defaultFS</name>
<value>hdfs://node02:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/huiandong/local</value>
</property>
修改hdfs-site.xml
添加
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
</property>
修改slaves
添加node01
hdfs namenode -format格式化
伪分布式到这里就配置完成了
Node02
完全分布式搭建:(已正确实施过)
node02作为主,node03作为secondarynamenode
配置export JAVA_HOME
配置export HADOOP_HOME/bin……sbin
修改hadoop-env.sh的JAVA_HOME,改成绝对路径
修改mapred-env.sh的JAVA_HOME,改成绝对路径
修改yarn-env.sh的JAVA_HOME,改成绝对路径
修改core-site.xml:
添加
<property>
<name>fs.defaultFS</name>
<value>hdfs://node02:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/huiandong/full</value>
</property>
修改hdfs-site.xml
添加
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node03:50090</value>
</property>
修改slaves,
添加datanode节点
node02
node03
node04
hdfs namenode -format格式化
启动 start-dfs.sh
成功完成完全分布式搭建。
登录 node02:50070进入webui界面
HA模式搭建,使用zookeeper(已正确实施)
配置export JAVA_HOME
配置export HADOOP_HOME/bin……sbin
配置export ZOO_HOME/bin
修改hadoop-env.sh的JAVA_HOME,改成绝对路径
修改mapred-env.sh的JAVA_HOME,改成绝对路径
修改yarn-env.sh的JAVA_HOME,改成绝对路径
安装zookeeper
修改zoo.cfg
添加
Server.1=node02:2888:3888
Server.2=node02:2888:3888
Server.3=node02:2888:3888
修改dataDir目录
添加myid文件,echo 编号>myid
启动zookeeper,使用zkServer.sh status命令查看leader和folower
core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://mycluster</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/var/huiandong/ha</value>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>node02:2181,node03:2181,node04:2181</value>
</property>
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.nameservices</name>
<value>mycluster</value>
</property>
<property>
<name>dfs.ha.namenodes.mycluster</name>
<value>nn1,nn2</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn1</name>
<value>node02:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.mycluster.nn2</name>
<value>node03:8020</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn1</name>
<value>node02:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.mycluster.nn2</name>
<value>node03:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://node02:8485;node03:8485;node04:8485/mycluster</value>
</property>
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/var/sxt/hadoop/ha/jn</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.mycluster</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/dfs/data</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
将修改后的配置文件分发到其他节点
启动journalnode,启动之后直接在主节点使用命令hdfs namenode -format格式化namenode.格式化成功之后,启动Namenode.然后使用hdfs namenode -bootstrapStandby命令同步standby节点。成功之后使用hdfs zkfc -formatZK命令格式化zkfc.最后使用star-dfs.sh启动集群