Hadoop 集群搭建
来源:互联网 发布:阿里云服务器网站备案 编辑:程序博客网 时间:2024/06/13 22:41
一.修改主机名
vi /etc/sysconfig/network ,改为 master , slave1 , slave2
使用指令:source /etc/sysconfig/network 让刚才的设置生效。如果不行需要 reboot
二.在master主机的终端输入命令: vi /etc/hosts
192.168.105.105 master
192.168.105.106 slave1
192.168.105.107 slave2
将修改后的host文件发送到其他主机,进行远程拷贝
scp/etc/hosts root@192.168.105.106:/etc/
scp/etc/hosts root@192.168.105.107:/etc/
三.安装ssh (配置ssh 无密码访问)
原理:在每台主机上生成公钥和私钥,将公钥拷贝到其他主机上保存,相当于在其他主机上开一个门,私钥就是这个门上的钥匙。
通过这个门和钥匙来进行匹配,实现无密码访问。
在每个主机上使用ssh登录到其他各个主机:
如在master上执行指令 ssh 192.168.105.106
登录完成后,输入exit进行退出,返回在master节点
每台机器首先在终端中输入命令: cd ~/.ssh
每台机器然后再终端中输入命令生成公钥和私钥文件: ssh-keygen -t rsa -P ''
每台机器然后在终端中输入命令将公钥文件拷贝到 authorized_keys 文件中: cp id_rsa.pub authorized_keys
在所有slaves节点上都执行命令,将每个slave中的authorized_keys 内容追加到master中的相应的文件
内容后: cat ~/.ssh/authorized_keys | ssh root@192.168.80.130 'cat >> ~/.ssh/authorized_keys'
使用远程复制,将master中的 authorized_keys 拷贝到对应的 slave1 和 slave2:
scp ~/.ssh/authorized_keys root@192.168.105.106:~/.ssh/
scp ~/.ssh/authorized_keys root@192.168.105.107:~/.ssh/
使用ssh命令,互相进行登录,出现提示的时候输入yes,以后每次登录就不需要再去输入密码对于
master: ssh master –> ssh slave1 –> ssh master –> ssh slave2 –> ssh master
slave1: ssh slave1 –> ssh slave2 –> ssh slave1
slave2: ssh slave2
四.安装jdk
查看之前是否安装java rpm -qa | grep jdk
输入 rpm -e --nodeps 要卸载的软件 卸载之前安装的jdk
下载运行jdk插件 yum install glibc.i686
将jdk拷贝进linux 中,并进入对应的文件夹中
将jdk解压到 /opt/SoftWare/java 下 tar -xvf jdk-8u141-linux-x64.tar.gz -C /opt/SoftWare/java/
配置jdk环境变量,打开/etc/profile vi /etc/profile配置文件,将下面配置拷贝进去
#set java environment
export JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
export JRE_HOME=/opt/SoftWare/Java/jdk1.8.0_141/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
重新加载/etc/profile配置文件 source /etc/profile
java -version 或者 javac 或者 java 是否都识别,识别就证明安装成功
五.安装Hadoop
将拷贝到linux系统中的 2.7.3的Hadoop解压到 /opt/SoftWare/Hadoop 目录下:
tar zxvf hadoop-2.7.3.tar.gz -C /opt/SoftWare/Hadoop/
配置hadoop环境变量,打开/etc/profile vi /etc/profile配置文件,将下面配置拷贝进去
export HADOOP_HOME=/opt/SoftWare/Hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
配置hadoop /opt/SoftWare/Hadoop/hadoop-2.7.3/etc/hadoop/文件夹下的
hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves 七个文件
hadoop-env.sh 中 JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
yarn-env.sh 中 JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
slaves 中 :
slave1
slave2
core-site.xml :
<configuration>
<property>
<name>fs.defaultFS</name>
<!--定义HadoopMaster的URI和端口-->
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!--hadoop中其他目录的临时存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<!--用作序列化文件处理时读写buffer的大小-->
<value>131702</value>
</property>
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
</configuration>
hdfs-site.xml :
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<!--namenode节点数据存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!--datanode数据存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/hdfs/data</value>
</property>
<property>
<!--指定DataNode存储block的副本数量,不大于DataNode的个数就行-->
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<!--指定master的http地址-->
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<!--指定master的https地址-->
<name>dfs.namenode.secondary.https-address</name>
<value>master:50091</value>
</property>
<property>
<!--必须设置为true,否则就不能通过web访问hdfs上的文件信息-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
mapred-site.xml :
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
yarn-site.xml :
<configuration>
<property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。-->
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<!--ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。-->
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<!--ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<!--用户可通过该地址在浏览器中查看集群各类信息。-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<!--NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不 可动态修改。另外,该参数的默认值是 8192MB,因此,这个值通过一 定要配置。不过,Apache已经正在尝试将该参数做成可动态修改的。-->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
</configuration>
六.
远程将master上的 /opt/SoftWare 的内容拷贝到子节点, -r 表示递归
scp -r /opt/SoftWare root@slave1:/opt/
scp -r /opt/SoftWare root@slave2:/opt/
远程将master上的 /etc/profile 的内容拷贝到子节点
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
执行全部的source source /etc/profile
七.同步系统时间
安装ntpdate工具 yum ‐y install ntp ntpdate
设置与网络时间同步 ntpdate cn.pool.ntp.org
系统时间写入硬件时间 hwclock --systohc
八.格式化
在master主节点中,进入hadoop2.7.3,输入命令 bin/hdfs namenode -format 进行格式化
表示格式化成功
九.启动集群
启动集群,输入 ./sbin/start-all.sh 因为已经配置过了环境变量所以可以直接输入 start-all.sh
关闭集群 stop-all.sh
主节点上jps进程有:
NameNode
SecondaryNameNode
ResourceManager
每个子节点上的jps进程有:
DataNode
NodeManager
如果这样表示hadoop集群配置成功
一.修改主机名
vi /etc/sysconfig/network ,改为 master , slave1 , slave2
使用指令:source /etc/sysconfig/network 让刚才的设置生效。如果不行需要 reboot
二.在master主机的终端输入命令: vi /etc/hosts
192.168.105.105 master
192.168.105.106 slave1
192.168.105.107 slave2
将修改后的host文件发送到其他主机,进行远程拷贝
scp/etc/hosts root@192.168.105.106:/etc/
scp/etc/hosts root@192.168.105.107:/etc/
三.安装ssh (配置ssh 无密码访问)
原理:在每台主机上生成公钥和私钥,将公钥拷贝到其他主机上保存,相当于在其他主机上开一个门,私钥就是这个门上的钥匙。
通过这个门和钥匙来进行匹配,实现无密码访问。
在每个主机上使用ssh登录到其他各个主机:
如在master上执行指令 ssh 192.168.105.106
登录完成后,输入exit进行退出,返回在master节点
每台机器首先在终端中输入命令: cd ~/.ssh
每台机器然后再终端中输入命令生成公钥和私钥文件: ssh-keygen -t rsa -P ''
每台机器然后在终端中输入命令将公钥文件拷贝到 authorized_keys 文件中: cp id_rsa.pub authorized_keys
在所有slaves节点上都执行命令,将每个slave中的authorized_keys 内容追加到master中的相应的文件
内容后: cat ~/.ssh/authorized_keys | ssh root@192.168.80.130 'cat >> ~/.ssh/authorized_keys'
使用远程复制,将master中的 authorized_keys 拷贝到对应的 slave1 和 slave2:
scp ~/.ssh/authorized_keys root@192.168.105.106:~/.ssh/
scp ~/.ssh/authorized_keys root@192.168.105.107:~/.ssh/
使用ssh命令,互相进行登录,出现提示的时候输入yes,以后每次登录就不需要再去输入密码对于
master: ssh master –> ssh slave1 –> ssh master –> ssh slave2 –> ssh master
slave1: ssh slave1 –> ssh slave2 –> ssh slave1
slave2: ssh slave2
四.安装jdk
查看之前是否安装java rpm -qa | grep jdk
输入 rpm -e --nodeps 要卸载的软件 卸载之前安装的jdk
下载运行jdk插件 yum install glibc.i686
将jdk拷贝进linux 中,并进入对应的文件夹中
将jdk解压到 /opt/SoftWare/java 下 tar -xvf jdk-8u141-linux-x64.tar.gz -C /opt/SoftWare/java/
配置jdk环境变量,打开/etc/profile vi /etc/profile配置文件,将下面配置拷贝进去
#set java environment
export JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
export JRE_HOME=/opt/SoftWare/Java/jdk1.8.0_141/jre
export CLASSPATH=.:$JRE_HOME/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
重新加载/etc/profile配置文件 source /etc/profile
java -version 或者 javac 或者 java 是否都识别,识别就证明安装成功
五.安装Hadoop
将拷贝到linux系统中的 2.7.3的Hadoop解压到 /opt/SoftWare/Hadoop 目录下:
tar zxvf hadoop-2.7.3.tar.gz -C /opt/SoftWare/Hadoop/
配置hadoop环境变量,打开/etc/profile vi /etc/profile配置文件,将下面配置拷贝进去
export HADOOP_HOME=/opt/SoftWare/Hadoop/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
配置hadoop /opt/SoftWare/Hadoop/hadoop-2.7.3/etc/hadoop/文件夹下的
hadoop-env.sh yarn-env.sh core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves 七个文件
hadoop-env.sh 中 JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
yarn-env.sh 中 JAVA_HOME=/opt/SoftWare/Java/jdk1.8.0_141
slaves 中 :
slave1
slave2
core-site.xml :
<configuration>
<property>
<name>fs.defaultFS</name>
<!--定义HadoopMaster的URI和端口-->
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<!--hadoop中其他目录的临时存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/tmp</value>
</property>
<property>
<name>io.file.buffer.size</name>
<!--用作序列化文件处理时读写buffer的大小-->
<value>131702</value>
</property>
</configuration>
hdfs-site.xml :
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<!--namenode节点数据存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!--datanode数据存储目录-->
<value>file:/opt/SoftWare/Hadoop/hadoop-2.7.3/hdfs/data</value>
</property>
<property>
<!--指定DataNode存储block的副本数量,不大于DataNode的个数就行-->
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<!--指定master的http地址-->
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<!--指定master的https地址-->
<name>dfs.namenode.secondary.https-address</name>
<value>master:50091</value>
</property>
<property>
<!--必须设置为true,否则就不能通过web访问hdfs上的文件信息-->
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
mapred-site.xml :
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
yarn-site.xml :
<configuration>
<property>
<!--NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<!--ResourceManager 对客户端暴露的地址。客户端通过该地址向RM提交应用程序,杀死应用程序等。-->
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<!--ResourceManager 对ApplicationMaster暴露的访问地址。ApplicationMaster通过该地址向RM申请资源、释放资源等。-->
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<!--ResourceManager 对NodeManager暴露的地址.。NodeManager通过该地址向RM汇报心跳,领取任务等。-->
<name>yarn.resourcemanager.resourcetracker.address</name>
<value>master:8031</value>
</property>
<property>
<!--ResourceManager 对管理员暴露的访问地址。管理员通过该地址向RM发送管理命令等。-->
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<!--用户可通过该地址在浏览器中查看集群各类信息。-->
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
<property>
<!--NodeManager总的可用物理内存。注意,该参数是不可修改的,一旦设置,整个运行过程中不 可动态修改。另外,该参数的默认值是 8192MB,因此,这个值通过一 定要配置。不过,Apache已经正在尝试将该参数做成可动态修改的。-->
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
</configuration>
六.
远程将master上的 /opt/SoftWare 的内容拷贝到子节点, -r 表示递归
scp -r /opt/SoftWare root@slave1:/opt/
scp -r /opt/SoftWare root@slave2:/opt/
远程将master上的 /etc/profile 的内容拷贝到子节点
scp -r /etc/profile root@slave1:/etc/
scp -r /etc/profile root@slave2:/etc/
执行全部的source source /etc/profile
七.同步系统时间
安装ntpdate工具 yum ‐y install ntp ntpdate
设置与网络时间同步 ntpdate cn.pool.ntp.org
系统时间写入硬件时间 hwclock --systohc
八.格式化
在master主节点中,进入hadoop2.7.3,输入命令 bin/hdfs namenode -format 进行格式化
表示格式化成功
九.启动集群
启动集群,输入 ./sbin/start-all.sh 因为已经配置过了环境变量所以可以直接输入 start-all.sh
关闭集群 stop-all.sh
主节点上jps进程有:
NameNode
SecondaryNameNode
ResourceManager
每个子节点上的jps进程有:
DataNode
NodeManager
如果这样表示hadoop集群配置成功
阅读全文
0 0
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- hadoop集群搭建
- Hadoop集群的搭建
- Hadoop集群搭建
- Hadoop集群搭建
- 搭建hadoop集群
- Nutch+Hadoop集群搭建
- Hadoop集群搭建
- Hadoop集群搭建
- Hadoop环境搭建-集群
- 搭建hadoop集群
- 搭建hadoop集群
- Hadoop集群搭建
- Nutch+Hadoop集群搭建
- 如何搭建hadoop集群
- hadoop分布式集群搭建
- Hadoop集群搭建
- Qt核心机制与原理之信号与槽
- 模板类的继承
- 剑指offer_递归与循环---扑克牌顺子
- 46. Permutations
- 少有人走的路
- Hadoop 集群搭建
- easyui的简单实例
- 什么是Spring?它有哪些好处?
- hdu 4920 Ugly Problem [模拟+大数减法]
- 课堂练习3
- 动态内存管理(malloc、 free、 calloc、 realloc)
- 第六单元笔记整理
- 游戏准备工作 -- 计算, 思路解析
- POJ 2228 Naptime