Hadoop全分布式安装
来源:互联网 发布:读写分离 mysql 性能 编辑:程序博客网 时间:2024/06/16 05:55
分布式安装Hadoop
【准备工作】
1、下载Hadoop的binary包hadoop-2.6.4.tar.gz
http://hadoop.apache.org/releases.html
2、编辑主机名解析/etc/hosts 或者主机数多的话可以配置一台DNS服务器处理。
172.16.0.100 master
172.16.0.101 slave101
172.16.0.102 slave102
注意:不要把master解析成127.0.0.1
3、安装JDK
# cd /usr/local/
# ls | grep jdk-7u80-linux-x64.tar.gz
# tar -zxvf jdk-7u80-linux-x64.tar.gz
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# java -version
4、创建hadoop操作系统用户
# groupadd -g 1000 hadoop
# useradd -u 1000 -g 1000 hadoop
# passwd hadoop
5、配置hadoop用户节点间等效性
master节点执行:
$ ssh-keygen -t rsa -P '' --以rsa算法,生成公钥、私钥对,-P ''表示空密码。
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
slave节点执行:
$ ssh-keygen -t rsa -P ''
[hadoop@slave101 ~]$ scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_101.pub
[hadoop@slave102 ~]$ scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_102.pub
[hadoop@master ~]$ cat id_rsa_101.pub >> .ssh/authorized_keys
[hadoop@master ~]$ cat id_rsa_102.pub >> .ssh/authorized_keys
[hadoop@master ~]$ scp .ssh/authorized_keys hadoop@slave101:/home/hadoop/.ssh/authorized_keys
[hadoop@master ~]$ scp .ssh/authorized_keys hadoop@slave102:/home/hadoop/.ssh/authorized_keys
以上准备工作完成后,正式开始安装hadoop
【安装Hadoop】
先在master节点执行以下操作
1、上传并解压Hadoop安装包
$ cd
$ tar -zxvf hadoop-2.6.4.tar.gz
2、修改hadoop用户环境变量指向Hadoop目录
export HADOOP_HOME=/home/hadoop/hadoop-2.6.4
export JAVA_HOME=/usr/local/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
export HBASE_HOME=/home/hadoop/hadoop-2.6.4
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3、修改$HADOOP_HOME/etc/hadoop/下的hadoop配置文件
一共有7个文件要修改:
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
$HADOOP_HOME/etc/hadoop/yarn-env.sh
$HADOOP_HOME/etc/hadoop/core-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
$HADOOP_HOME/etc/hadoop/mapred-site.xml
$HADOOP_HOME/etc/hadoop/yarn-site.xml
$HADOOP_HOME/etc/hadoop/slaves
3.1 修改hadoop-env.sh和yarn-env.sh
这二个文件主要是修改JAVA_HOME后的目录,改成实际本机jdk所在目录位置
找到下面这行的位置,改成(jdk目录位置,大家根据实际情况修改)
export JAVA_HOME=/usr/local/jdk1.7.0_80
另外 hadoop-env.sh中 , 建议加上这句: export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.4
3.2 修改core-site.xml
参考下面的内容修改
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
注:/home/hadoop/tmp 目录如不存在,则先mkdir手动创建
core-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/core-default.xml
3.3 修改hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:50020</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
注:dfs.replication表示数据副本数,一般不大于datanode的节点数。
hdfs-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
3.4 修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.5 修改yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
最后一个文件slaves暂时不管(可以先用mv slaves slaves.bak 将它改名),上述配置弄好后,就可以在master上启用 NameNode测试了
4、测试Hadoop安装结果
运行以下命令格式化dfs:
$HADOOP_HOME/bin/hdfs namenode -format
看到如下字样表示格式化OK
16/03/29 02:02:05 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.
运行以下命令启动dfs:
$HADOOP_HOME/sbin/start-dfs.sh
启动成功后,输入jps查看进程,需要能看到NameNode及SecondaryNameNode
[hadoop@master hadoop]$ jps
7069 SecondaryNameNode
6893 NameNode
7190 Jps
运行以下命令启动yarn
$HADOOP_HOME/sbin/start-yarn.sh
启动成功后,再次用jps查看进程,可以看到多了一个ResourceManager
[hadoop@master hadoop]$ jps
7069 SecondaryNameNode
7486 Jps
6893 NameNode
7236 ResourceManager
修改slaves文件(刚才备份成slaves.bak了),添加slaves节点
slave101
slave102
保存退出,最后运行以下命令停掉刚才启动的服务
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
5、将master的hadoop安装目录复制到slaves节点上
$ scp -r hadoop-2.6.4 hadoop@slave101:/home/hadoop/
$ scp -r hadoop-2.6.4 hadoop@slave102:/home/hadoop/
6、启动并验证服务
在master上启动服务:
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
或者直接用$HADOOP_HOME/sbin/start-all.sh 启动
master节点上有几下3个进程:NameNode、SecondaryNameNode、ResourceManager
slave101、slave102这俩datanode上要有几下2个进程:DataNode、NodeManager
同时可浏览master地址及对应端口查看状态:
http://master:50070/
http://master:8088/
另外也可以通过 bin/hdfs dfsadmin -report 查看hdfs的状态报告
至此,安装结束。
【注意事项】
a) master(即:namenode节点)若要重新格式化,请先清空各datanode上的data目录(最好连tmp目录也一起清空),否则格式化完成后,启动dfs时,datanode会启动失败
b) 如果觉得master机器上只运行namenode比较浪费,想把master也当成一个datanode,直接在slaves文件里,添加一行master即可
c) 为了方便操作,可修改/etc/profile,把hadoop所需的lib目录,先加到CLASSPATH环境变量中,同时把hadoop/bin,hadoop/sbin目录也加入到PATH变量中
d)可能会看到WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误,hadoop2.6需要下载hadoop-native-64-2.4.0.tar,并覆盖到$HADOOP_HOME/lib/native目录即可(tar -x hadoop-native-64-2.4.0.tar -C hadoop/lib/native/)
【准备工作】
1、下载Hadoop的binary包hadoop-2.6.4.tar.gz
http://hadoop.apache.org/releases.html
2、编辑主机名解析/etc/hosts 或者主机数多的话可以配置一台DNS服务器处理。
172.16.0.100 master
172.16.0.101 slave101
172.16.0.102 slave102
注意:不要把master解析成127.0.0.1
3、安装JDK
# cd /usr/local/
# ls | grep jdk-7u80-linux-x64.tar.gz
# tar -zxvf jdk-7u80-linux-x64.tar.gz
# vi /etc/profile
export JAVA_HOME=/usr/local/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
# java -version
4、创建hadoop操作系统用户
# groupadd -g 1000 hadoop
# useradd -u 1000 -g 1000 hadoop
# passwd hadoop
5、配置hadoop用户节点间等效性
master节点执行:
$ ssh-keygen -t rsa -P '' --以rsa算法,生成公钥、私钥对,-P ''表示空密码。
$ cat .ssh/id_rsa.pub >> .ssh/authorized_keys
$ chmod 600 .ssh/authorized_keys
slave节点执行:
$ ssh-keygen -t rsa -P ''
[hadoop@slave101 ~]$ scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_101.pub
[hadoop@slave102 ~]$ scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_102.pub
[hadoop@master ~]$ cat id_rsa_101.pub >> .ssh/authorized_keys
[hadoop@master ~]$ cat id_rsa_102.pub >> .ssh/authorized_keys
[hadoop@master ~]$ scp .ssh/authorized_keys hadoop@slave101:/home/hadoop/.ssh/authorized_keys
[hadoop@master ~]$ scp .ssh/authorized_keys hadoop@slave102:/home/hadoop/.ssh/authorized_keys
以上准备工作完成后,正式开始安装hadoop
【安装Hadoop】
先在master节点执行以下操作
1、上传并解压Hadoop安装包
$ cd
$ tar -zxvf hadoop-2.6.4.tar.gz
2、修改hadoop用户环境变量指向Hadoop目录
export HADOOP_HOME=/home/hadoop/hadoop-2.6.4
export JAVA_HOME=/usr/local/jdk1.7.0_80
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$HADOOP_HOME/share/hadoop/common/hadoop-common-2.6.4.jar:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.6.4.jar:$HADOOP_HOME/share/hadoop/common/lib/commons-cli-1.2.jar
export HBASE_HOME=/home/hadoop/hadoop-2.6.4
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
3、修改$HADOOP_HOME/etc/hadoop/下的hadoop配置文件
一共有7个文件要修改:
$HADOOP_HOME/etc/hadoop/hadoop-env.sh
$HADOOP_HOME/etc/hadoop/yarn-env.sh
$HADOOP_HOME/etc/hadoop/core-site.xml
$HADOOP_HOME/etc/hadoop/hdfs-site.xml
$HADOOP_HOME/etc/hadoop/mapred-site.xml
$HADOOP_HOME/etc/hadoop/yarn-site.xml
$HADOOP_HOME/etc/hadoop/slaves
3.1 修改hadoop-env.sh和yarn-env.sh
这二个文件主要是修改JAVA_HOME后的目录,改成实际本机jdk所在目录位置
找到下面这行的位置,改成(jdk目录位置,大家根据实际情况修改)
export JAVA_HOME=/usr/local/jdk1.7.0_80
另外 hadoop-env.sh中 , 建议加上这句: export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.4
3.2 修改core-site.xml
参考下面的内容修改
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
</property>
</configuration>
注:/home/hadoop/tmp 目录如不存在,则先mkdir手动创建
core-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-common/core-default.xml
3.3 修改hdfs-site.xml
<configuration>
<property>
<name>dfs.datanode.ipc.address</name>
<value>0.0.0.0:50020</value>
</property>
<property>
<name>dfs.datanode.http.address</name>
<value>0.0.0.0:50075</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
</configuration>
注:dfs.replication表示数据副本数,一般不大于datanode的节点数。
hdfs-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
3.4 修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
3.5 修改yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
yarn-site.xml的完整参数请参考
http://hadoop.apache.org/docs/r2.6.0/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
最后一个文件slaves暂时不管(可以先用mv slaves slaves.bak 将它改名),上述配置弄好后,就可以在master上启用 NameNode测试了
4、测试Hadoop安装结果
运行以下命令格式化dfs:
$HADOOP_HOME/bin/hdfs namenode -format
看到如下字样表示格式化OK
16/03/29 02:02:05 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.
运行以下命令启动dfs:
$HADOOP_HOME/sbin/start-dfs.sh
启动成功后,输入jps查看进程,需要能看到NameNode及SecondaryNameNode
[hadoop@master hadoop]$ jps
7069 SecondaryNameNode
6893 NameNode
7190 Jps
运行以下命令启动yarn
$HADOOP_HOME/sbin/start-yarn.sh
启动成功后,再次用jps查看进程,可以看到多了一个ResourceManager
[hadoop@master hadoop]$ jps
7069 SecondaryNameNode
7486 Jps
6893 NameNode
7236 ResourceManager
修改slaves文件(刚才备份成slaves.bak了),添加slaves节点
slave101
slave102
保存退出,最后运行以下命令停掉刚才启动的服务
$HADOOP_HOME/sbin/stop-dfs.sh
$HADOOP_HOME/sbin/stop-yarn.sh
5、将master的hadoop安装目录复制到slaves节点上
$ scp -r hadoop-2.6.4 hadoop@slave101:/home/hadoop/
$ scp -r hadoop-2.6.4 hadoop@slave102:/home/hadoop/
6、启动并验证服务
在master上启动服务:
$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/sbin/start-yarn.sh
或者直接用$HADOOP_HOME/sbin/start-all.sh 启动
master节点上有几下3个进程:NameNode、SecondaryNameNode、ResourceManager
slave101、slave102这俩datanode上要有几下2个进程:DataNode、NodeManager
同时可浏览master地址及对应端口查看状态:
http://master:50070/
http://master:8088/
另外也可以通过 bin/hdfs dfsadmin -report 查看hdfs的状态报告
至此,安装结束。
【注意事项】
a) master(即:namenode节点)若要重新格式化,请先清空各datanode上的data目录(最好连tmp目录也一起清空),否则格式化完成后,启动dfs时,datanode会启动失败
b) 如果觉得master机器上只运行namenode比较浪费,想把master也当成一个datanode,直接在slaves文件里,添加一行master即可
c) 为了方便操作,可修改/etc/profile,把hadoop所需的lib目录,先加到CLASSPATH环境变量中,同时把hadoop/bin,hadoop/sbin目录也加入到PATH变量中
d)可能会看到WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable错误,hadoop2.6需要下载hadoop-native-64-2.4.0.tar,并覆盖到$HADOOP_HOME/lib/native目录即可(tar -x hadoop-native-64-2.4.0.tar -C hadoop/lib/native/)
0 0
- hadoop全分布式安装
- Hadoop全分布式安装
- Hadoop翻译3-Hadoop全分布式安装
- Hadoop集群全分布式安装(CentOS)
- 全分布式Hadoop安装以及环境配置
- Hadoop全分布式配置
- hadoop 全分布式配置
- Hadoop全分布式配置
- Hadoop学习笔记【12】-Hadoop2.1全分布式集群安装
- Hadoop学习笔记【12】-Hadoop2.1全分布式集群安装
- Centos 6.5 hadoop 2.2.0 全分布式安装
- centos7 安装hadoop:伪分布式配置、全分布模式配置
- Hadoop全分布式环境搭建
- Hadoop全分布式环境搭建
- Hadoop分布式安装
- Hadoop简易分布式安装
- Hadoop分布式安装
- Hadoop 伪分布式安装
- RDO单机安装Openstack以及lvm卷存储与Vxlan网络配置
- 【linux系统加固之】系统软件架构
- 安装ftp服务器vsftp
- win系统安装mac os
- TranslateAnimation类是Android系统中的位置变化动画类
- Hadoop全分布式安装
- Android 获取屏幕宽高与通过代码设置VIew宽高
- Android之NetworkOnMainThreadException异常
- Android学习笔记八之BroadCastReceiver
- Java8部分新特性介绍
- jsp include
- MFC下画图
- git commit简介
- 利用Orion对Oracle进行压力测试