hadoop2.7.3+zookeeper3.4.6+jdk1.8+centos7的三台服务器环境部署
2017-04-16 21:05
627 查看
1 配置搭建hadoop的主机的静态ip /etc/sysconfig/network-scripts/ifcfg-eno*
修改dhch方式为static
IPADDR=192.168.1.122 #静态IP
GATEWAY=192.168.1.1 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=202.96.134.33 #DNS 配置
DNS2=202.96.128.86
2 配置主机名和地址的映射/etc/hosts
192.168.18.110 hadoop1
192.168.18.111 hadoop2
192.168.18.112 hadoop3
3 关闭防火墙 和同步时间
systemctlstop firewalld
systemctl disable firewalld
ntpdate cn.ntp.org.cn
4 增加hadoop所需的用户防止hadoop使用root时误删数据
useradd hadoop #增加hadoop用户,用户组、home目录、终端使用默认
passwd hadoop #修改密码
5 rpm -qa|grep openjdk #检查openjdk,存在则删除
yum remove *-openjdk-*
6 安装jdk1.8 zookeeper3.4.6 hadoop2.7.3并分别配置环境变量
JAVA_HOME=
HADOOP_HOME=
ZOOKEEPER_HOME=
export JAVA_HOME HADOOP_HOMEZOOKEEPER_HOME
export PATH= $JAVA_HOME/bin:ZOOKEEPER_HOME/bin
:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
7 配置安装zookeeper
复制zookeeper conf下的zoo_simple.conf更改为zoo.cfg
在zoo.cfg中增加
tickTime=2000
dataDir=/usr/zookeeper/data
dataLogDir=/usr/zookeeper/log
clientPort=2181
initLimit=5
syncLimit=2
server.1=centos1:2888:3888
server.2=centos2:2888:3888
server.3=centos3:2888:3888
在配置的各台节点dataDir目录下创建my
4000
id文件添加对应server后的数字
启动zookeeperzkServer.sh start zkServer.sh stop
执行完以上步骤后建立快照
8 建立ssh免密码登陆
ssh-keygen -t dsa -P '' -f~/.ssh/id_dsa
scp./.ssh/id_dsa.pub root@node2:/opt
cat /opt/id_dsa.pub >>~/.ssh/authorized_keys
9 修改hadoop-env.sh 修改JAVA_HOME=/usr/java/jdk1.7
10修改core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
<description>指定hdfs的默认访问</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>指定hadoop临时目录</description>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>centos1:2181,centos2:2181,centos3:2181</value>
<description>指定zookeeper集群的地址 </description>
</property>
10修改hdfs-site.xml
<property>
<name>dfs.nameservices</name>
<value>ns</value>
<description>指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致</description>
</property>
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
<description>ns下面有两个NameNode,分别是nn1,nn2</description>
</property>
<!--每个namenode监听的RPC地址-->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>centos1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>centos2:8020</value>
</property>
<!--每个namenode监听的http地址-->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>centos1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>centos2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://centos1:8485;centos2:8485;centos3:8485/ns</value>
<description>指定NameNode的元数据在JournalNode上的存放位置</description>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/journaldata</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
<description>配置失败自动切换实现方式</description>
</property>
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆
-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
<description>开启NameNode失败自动切换</description>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
<description>配置sshfence隔离机制超时时间</description>
</property>
11 修改 yarn-site.xml
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
<description>开启RM高可靠</description>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
<description>指定RM的cluster id</description>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
<description>指定RM的名字</description>
</property>
<!--分别指定RM的地址-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>one</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>two</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>one:2181,two:2181,three:2181</value>
<description>指定zk集群地址</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
12 修改mapred-site.xml
<property>
<
abba
span style="color:rgb(85,85,85);"> <name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
13 修改slaves文件配置的时主机名
One
Two
Three
并且启动zookeeper集群和hadoop-daemon.sh start journalnode
14 在配置的namenode的机器上执行hdfs namenode –format,并且在执行完成后将格式化的namenode所在的机器配置的hadoop临时目录复制到另外一个namenode相同的目录上
15 在配置了namenode的机器上执行hdfs zkfc -formatZK
16start-dfs.sh 启动hdfs start-yarn.sh 启动yarn
17 访问 http://192.168.1.121:8088http://192.168.1.120:50070
配置hadoop在eclipse中的开发环境 2.7.3需要jdk8的环境
1 下载对应hadoop集群的hadoop-eclipse插件,并将其放在eclipse下的plugins目录下
2 将hadoop2.7.3.tar.gz解压并配置环境变量
3 在eclipse的preference中选择hadoop的安装地址
· 4 Map/Reduce(V2) Master: localhost:50020
· DFS Master: localhost:8020
1、eclipse插件的生成
开始从网上下载了2.2的eclipse插件连接不上,老是报错,后来换成了2.6的插件,还是不行,最后无奈按照网上的办法下载了hadoop2x-eclipse-plugin-master压缩包解压后生成2.7.3的jar包,然后向里面加入了hadoop目录下share\hadoop\common\lib\commons-httpclient-3.1.jar才行。为了方便的大家使用,我把eclipse的插件放在网上供大家使用。
2、hadoop部署之后无法访问50070和8088端口的地址
Linux服务器防火墙没有关闭,关闭防火墙之后可以访问上述地址。
3、hadoop下bin目录下放入winutils.exe和hadoop.dll文件
放的winutils和dll文件最好和下载的hadoop版本一致,同时把hadoop.dll文件放到windows下system32下,重启电脑后生效。
下面为hadoop的插件和bin目录下文件
修改dhch方式为static
IPADDR=192.168.1.122 #静态IP
GATEWAY=192.168.1.1 #默认网关
NETMASK=255.255.255.0 #子网掩码
DNS1=202.96.134.33 #DNS 配置
DNS2=202.96.128.86
2 配置主机名和地址的映射/etc/hosts
192.168.18.110 hadoop1
192.168.18.111 hadoop2
192.168.18.112 hadoop3
3 关闭防火墙 和同步时间
systemctlstop firewalld
systemctl disable firewalld
ntpdate cn.ntp.org.cn
4 增加hadoop所需的用户防止hadoop使用root时误删数据
useradd hadoop #增加hadoop用户,用户组、home目录、终端使用默认
passwd hadoop #修改密码
5 rpm -qa|grep openjdk #检查openjdk,存在则删除
yum remove *-openjdk-*
6 安装jdk1.8 zookeeper3.4.6 hadoop2.7.3并分别配置环境变量
JAVA_HOME=
HADOOP_HOME=
ZOOKEEPER_HOME=
export JAVA_HOME HADOOP_HOMEZOOKEEPER_HOME
export PATH= $JAVA_HOME/bin:ZOOKEEPER_HOME/bin
:$HADOOP_HOME/sbin:$HADOOP_HOME/bin:$PATH
7 配置安装zookeeper
复制zookeeper conf下的zoo_simple.conf更改为zoo.cfg
在zoo.cfg中增加
tickTime=2000
dataDir=/usr/zookeeper/data
dataLogDir=/usr/zookeeper/log
clientPort=2181
initLimit=5
syncLimit=2
server.1=centos1:2888:3888
server.2=centos2:2888:3888
server.3=centos3:2888:3888
在配置的各台节点dataDir目录下创建my
4000
id文件添加对应server后的数字
启动zookeeperzkServer.sh start zkServer.sh stop
执行完以上步骤后建立快照
8 建立ssh免密码登陆
ssh-keygen -t dsa -P '' -f~/.ssh/id_dsa
scp./.ssh/id_dsa.pub root@node2:/opt
cat /opt/id_dsa.pub >>~/.ssh/authorized_keys
9 修改hadoop-env.sh 修改JAVA_HOME=/usr/java/jdk1.7
10修改core-site.xml
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
<description>指定hdfs的默认访问</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>指定hadoop临时目录</description>
</property>
<property>
<name>ha.zookeeper.quorum</name>
<value>centos1:2181,centos2:2181,centos3:2181</value>
<description>指定zookeeper集群的地址 </description>
</property>
10修改hdfs-site.xml
<property>
<name>dfs.nameservices</name>
<value>ns</value>
<description>指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致</description>
</property>
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
<description>ns下面有两个NameNode,分别是nn1,nn2</description>
</property>
<!--每个namenode监听的RPC地址-->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>centos1:8020</value>
</property>
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>centos2:8020</value>
</property>
<!--每个namenode监听的http地址-->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>centos1:50070</value>
</property>
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>centos2:50070</value>
</property>
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://centos1:8485;centos2:8485;centos3:8485/ns</value>
<description>指定NameNode的元数据在JournalNode上的存放位置</description>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/usr/local/hadoop/journaldata</value>
</property>
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
<description>配置失败自动切换实现方式</description>
</property>
<!-- 配置隔离机制方法,多个机制用换行分割,即每个机制暂用一行-->
<property>
<name>dfs.ha.fencing.methods</name>
<value>
sshfence
</value>
</property>
<!-- 使用sshfence隔离机制时需要ssh免登陆
-->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
<description>开启NameNode失败自动切换</description>
</property>
<property>
<name>dfs.ha.fencing.ssh.connect-timeout</name>
<value>30000</value>
<description>配置sshfence隔离机制超时时间</description>
</property>
11 修改 yarn-site.xml
<property>
<name>yarn.resourcemanager.ha.enabled</name>
<value>true</value>
<description>开启RM高可靠</description>
</property>
<property>
<name>yarn.resourcemanager.cluster-id</name>
<value>yrc</value>
<description>指定RM的cluster id</description>
</property>
<property>
<name>yarn.resourcemanager.ha.rm-ids</name>
<value>rm1,rm2</value>
<description>指定RM的名字</description>
</property>
<!--分别指定RM的地址-->
<property>
<name>yarn.resourcemanager.hostname.rm1</name>
<value>one</value>
</property>
<property>
<name>yarn.resourcemanager.hostname.rm2</name>
<value>two</value>
</property>
<property>
<name>yarn.resourcemanager.zk-address</name>
<value>one:2181,two:2181,three:2181</value>
<description>指定zk集群地址</description>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
12 修改mapred-site.xml
<property>
<
abba
span style="color:rgb(85,85,85);"> <name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
13 修改slaves文件配置的时主机名
One
Two
Three
并且启动zookeeper集群和hadoop-daemon.sh start journalnode
14 在配置的namenode的机器上执行hdfs namenode –format,并且在执行完成后将格式化的namenode所在的机器配置的hadoop临时目录复制到另外一个namenode相同的目录上
15 在配置了namenode的机器上执行hdfs zkfc -formatZK
16start-dfs.sh 启动hdfs start-yarn.sh 启动yarn
17 访问 http://192.168.1.121:8088http://192.168.1.120:50070
配置hadoop在eclipse中的开发环境 2.7.3需要jdk8的环境
1 下载对应hadoop集群的hadoop-eclipse插件,并将其放在eclipse下的plugins目录下
2 将hadoop2.7.3.tar.gz解压并配置环境变量
3 在eclipse的preference中选择hadoop的安装地址
· 4 Map/Reduce(V2) Master: localhost:50020
· DFS Master: localhost:8020
1、eclipse插件的生成
开始从网上下载了2.2的eclipse插件连接不上,老是报错,后来换成了2.6的插件,还是不行,最后无奈按照网上的办法下载了hadoop2x-eclipse-plugin-master压缩包解压后生成2.7.3的jar包,然后向里面加入了hadoop目录下share\hadoop\common\lib\commons-httpclient-3.1.jar才行。为了方便的大家使用,我把eclipse的插件放在网上供大家使用。
2、hadoop部署之后无法访问50070和8088端口的地址
Linux服务器防火墙没有关闭,关闭防火墙之后可以访问上述地址。
3、hadoop下bin目录下放入winutils.exe和hadoop.dll文件
放的winutils和dll文件最好和下载的hadoop版本一致,同时把hadoop.dll文件放到windows下system32下,重启电脑后生效。
下面为hadoop的插件和bin目录下文件
相关文章推荐
- RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
- 单机RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
- 集群RedHat6.5+JDK1.8+Hadoop2.7.3+Spark2.1.1+zookeeper3.4.6+kafka2.11+flume1.6环境搭建步骤
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
- Hadoop2.7.3+HBase1.2.5+ZooKeeper3.4.6搭建分布式集群环境
- 集群环境下Hadoop2.5.2+Zookeeper3.4.6+Hbase0.98+Hive1.0.0安装目录总汇
- Ubuntu16.04 下 Spark2.0.2+Hadoop2.7.3+Zookeeper3.4.9+HBase1.1.7集群环境搭建--4
- hadoop集群环境搭建之zookeeper集群的安装部署
- ubuntu16.04(64位)+Hadoop2.7.3伪分布式环境下部署Spark
- 在centos7上安装部署hadoop2.7.3和spark2.0.0
- Ubuntu16.04 下 Spark2.0.2+Hadoop2.7.3+Zookeeper3.4.9+HBase1.1.7集群环境搭建--5
- Centos7 + Hadoop 3.0 伪分布式环境安装部署
- Hadoop-2.6.0 + Zookeeper-3.4.6 + HBase-0.98.9-hadoop2环境搭建示例
- Ubuntu16.04 下 Spark2.0.2+Hadoop2.7.3+Zookeeper3.4.9+HBase1.1.7集群环境搭建--2
- hadoop进阶----hadoop经验(一)-----生产环境hadoop部署在超大内存服务器的虚拟机集群上vs几个内存较小的物理机
- hadoop2.7.3 ha 环境部署——QJM
- Ambari部署Hadoop环境&安装ZooKeeper
- hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布式集群HA部署
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解
- centos6.5环境下zookeeper-3.4.6集群环境部署及单机部署详解