Hadoop2.2.0分布式环境配置笔记2-编译64位hadoop源码
11、配置hadoop分布式环境! 三台机器都需要这么配置
1)、将/opt/modules/hadoop-2.2.0-src重命名 mv /opt/modules/hadoop-2.2.0-src/ /opt/modules/hadoop-2.2.0-src_x32_back
2)、解压64位源码
tar -zxvf /opt/modules/hadoop-2.2.0-src_x32_back/hadoop-dist/target/hadoop-2.2.0.tar.gz -C /opt/modules
3)、设置hosts
vi /etc/hosts
192.168.1.200 Hadoop-Yarn.Hark.Com Hadoop-Yarn
192.168.1.201 Hadoop-Slave1.Hark.Com Hadoop-Slave1
192.168.1.202 Hadoop-Slave2.Hark.Com Hadoop-Slave2
192.168.1.201 Hadoop-Slave1.Hark.Com Hadoop-Slave1
192.168.1.202 Hadoop-Slave2.Hark.Com Hadoop-Slave2
4)、将HADOOP安装目录设置至全局变量中
vi /etc/profile
# SET HADOOP
export HADOOP_HOME=/opt/modules/hadoop-2.2.0
export PATH=$PATH:$HADOOP_HOME/bin
export HADOOP_HOME=/opt/modules/hadoop-2.2.0
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
5)、为hadoop,yarn,mr设置java环境变量
在/opt/modules/hadoop-2.2.0/etc/hadoop中的hadoop-env.sh ,mapred-env.sh,yarn-ent.sh
添加
# SET JAVA
export JAVA_HOME=/opt/modules/jdk1.6.0_45
6)、设置site
在/opt/modules/hadoop-2.2.0/etc/hadoop分别设置core-site.xml,hdfs-site.xml,yarn-site.xml,mapred-site.xml
core-site.xml :
<property>
<name>fs.default.name</name> <!--namenode的ID地址与端口号--> <!--fs.default.name这个是已经过时了,在hadoop2.2.0应该叫fs.defaultFS-->
<value>hdfs://Hadoop-Yarn.Hark.Com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--临时目录--> <!--注意,需要创建mkdir -p data/tmp目录-->
<value>/opt/data/tmp</value> <!--这里需要使用root权限创建目录,同时需要chown给权限至hadoop:hadoop 同时,需要将这个配置复制到所有的机器中-->
</property>
<name>fs.default.name</name> <!--namenode的ID地址与端口号--> <!--fs.default.name这个是已经过时了,在hadoop2.2.0应该叫fs.defaultFS-->
<value>hdfs://Hadoop-Yarn.Hark.Com:8020</value>
</property>
<property>
<name>hadoop.tmp.dir</name> <!--临时目录--> <!--注意,需要创建mkdir -p data/tmp目录-->
<value>/opt/data/tmp</value> <!--这里需要使用root权限创建目录,同时需要chown给权限至hadoop:hadoop 同时,需要将这个配置复制到所有的机器中-->
</property>
hdfs-site.xml:<!--所有的机器都需要有这个配置文件,并且是相同的-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/data/dfs/nn/name</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///opt/data/dfs/nn/edits</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/data/dfs/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///opt/data/dfs/snn/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///opt/data/dfs/snn/edits</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop-yarn.hark.com:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-slave1.hark.com:50090</value>
</property>
<property>
<name>dfs.replication</name> <!--主从复制的节点个数-->
<value>3</value>
</property>
<name>dfs.namenode.name.dir</name>
<value>file:///opt/data/dfs/nn/name</value>
</property>
<property>
<name>dfs.namenode.edits.dir</name>
<value>file:///opt/data/dfs/nn/edits</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///opt/data/dfs/dn</value>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>file:///opt/data/dfs/snn/name</value>
</property>
<property>
<name>dfs.namenode.checkpoint.edits.dir</name>
<value>file:///opt/data/dfs/snn/edits</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>hadoop-yarn.hark.com:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop-slave1.hark.com:50090</value>
</property>
<property>
<name>dfs.replication</name> <!--主从复制的节点个数-->
<value>3</value>
</property>
yarn-site.xml:
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-yarn.hark.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop-yarn.hark.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
mapred-site.xml
<property>
<name>mapreduce.framework.name</name> <!--标名mapreduce是运行的yarn资源平台上的-->
<value>yarn</value>
</property>
<name>mapreduce.framework.name</name> <!--标名mapreduce是运行的yarn资源平台上的-->
<value>yarn</value>
</property>
还可以配置其它的各种默认目录
7)、对于NameNode进行格式化
bin/hdfs namenode -format
格式化时,可以指定ClusterID(集群ID),即:bin/hdfs namenode -format -clusterId xxxxxx
集群ID,在配置HA是会使用的。
8)、设置slaves
将所有的node的主机名都放入slaves中
9)、启动服务~!
三种启动方法:
方法一:
通过sbin/hadoop-daemon.sh
sbin/yarn-daemon.sh分别启动
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
启动服务后, 即可查看环境信息:
http://hadoop-yarn.hark.com:50090/status.jsp SecondaryNameNode 信息
方法二、方法三:
都需要配置ssh免登录
配置方法:
生成公钥:
ssh-keygen -t rsa
公钥私钥最终会生成至/home/hadoop/.ssh目录中
将公钥copy至指定的远程服务器
ssh-copy-id hadoop@hadoop-slave01.hark.com
然后使用
start-dfs.sh
start-yarn.sh
进行启用
第三种不建议,使用
start-all.sh
10)、相关命令
logs中可以查看日志 ulimit -a
bin/hdfs dfs -mkdir /test 创建文件夹
bin/hdfs dfs -put ./test.txt /test 将本地test.txt放入hdfs中/test中
bin/hdfs dfs -ls / 查看根目录文件
11)、运行官方的JAR包进行测试
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar pi 5 20
可以在8088来监控各种节点状态
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.2.0.jar wordcount /test/ /testout/
12)、默认的配置文件
share/hadoop/common/hadoop.common.jar 里边的core.default.xml
share/hadoop/hdfs/hadoop-hdfs.jar里边的hdfs.default.xml
13)、远程主机复制文件
scp -r /opt/modules/jdk hadoop@hadoop-slave1.hark.com:/opt/modules
14)、之前发现服务没有起来,是配置hdfs-site.xml时出现了问题。 应该是file:///opt..... 之前是两个杠