hadoop集群搭建
来源:互联网 发布:如何参加淘宝天天特价 编辑:程序博客网 时间:2024/06/06 02:56
两台虚拟机
master 192.168.32.128slave1 192.168.32.129
1.安装linux系统(我是在Ubuntu系统在搭建的)
(可以根据自己的需要创建一个用户,也可以不创建,由于博主用的是虚拟机,就不创建了)
2.设置hosts
sudo vim /etc/hosts
将master与slave1的ip信息加入到hosts文件中(master与slave1中都要设置)
192.168.32.128 master 192.168.32.129 slave1
3.替换源
sudo vim /etc/apt/source.list
//下面是我用的源,还挺快
deb http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-security main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-updates main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-proposed main restricted universe multiversedeb-src http://mirrors.163.com/ubuntu/ trusty-backports main restricted universe multiverse
更新源
sudo apt-get update
可以安装vim编辑器,对于后面更改配置非常方便
sudo apt-get install vim
4.安装jdk
sudo apt-get install openjdk-7-jdk
配置jdk 环境变量
sudo vim /etc/profile
环境变量配置
export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64export JRE_HOME=/usr/lib/jvm/java-7-openjdk-amd64/jreexport CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATHexport PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
其中JAVA_HOME和JRE_HOME的路径改为你自己的jdk的路径
可以通过以下命令查看自己jdk的路径
dpkg -L openjdk-7-jdk | grep '/bin/javac'
该命令会输出一个路径,除去路径末尾的 “/bin/javac”,剩下的就是正确的路径了
如输出路径为 /usr/lib/jvm/java-7-openjdk-amd64/bin/javac,则我们需要的路径为 /usr/lib/jvm/java-7-openjdk-amd64。
更改完成后执行以下命令,使文件更改生效
source /etc/profile
查看jdk是否配置好了
java -version
会出现java的版本信息,就说明配置好了
5.安装ssh,并配置ssh无密码登录
sudo apt-get install openssh-server
安装以后可以使用以下命令登录
ssh localhost
此时会有如下提示(SSH首次登陆提示),输入 yes 。然后按提示输入密码 hadoop,这样就登陆到本机了
设置无密码登录
首先退出刚才的 ssh,就回到了我们原先的终端窗口,然后利用 ssh-keygen 生成密钥,并将密钥加入到授权中:
exitcd ~/.ssh/ssh-keygen -t rsacat ./id_rsa.pub >> ./authorized_keys
再用 ssh localhost 就可以无密码登录了
master与节点slave1都要实现无密码登录
接着在 Master 节点上将公匙传输到 Slave1 节点:
scp ~/.ssh/id_rsa.pub slave1p@slave1:/home/hadoop/
接着在 Slave1 节点上,将 ssh 公匙加入授权:
cat ~/id_rsa.pub >> ~/.ssh/authorized_keysrm ~/id_rsa.pub # 用完就可以删掉了
如果有其他 Slave 节点,也要执行将 Master 公匙传输到 Slave 节点、在 Slave 节点上加入授权这两步。
这样,在 Master 节点上就可以无密码 SSH 到各个 Slave 节点了,可在 Master 节点上执行如下命令进行检验
ssh slave1
6.安装hadoop
Hadoop 2 可以通过 链接1 或者 链接2 下载
hadoop配置文件配置(都在/home/wh/hadoop/etc/hadoop/下)
修改hadoop-env.sh
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
修改core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/home/wh/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property></configuration>
修改hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/wh/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/wh/hadoop/tmp/dfs/data</value> </property></configuration>
修改mapred-site.xml(cp mapred-site.xml.template 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> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
将hadoop文件复制到slave1节点,并在slave1节点执行解压
master上的执行:
tar -zcf ~/master.master.tar.gz ./hadoop # 先压缩再复制cd ~scp ./master.master.tar.gz slave1:/home/hadoop
Slave1 节点上执行:
sudo tar -zxf ~/master.master.tar.gz -C /usr/localsudo chown -R hadoop /usr/local/hadoop
同样,如果有其他 Slave 节点,也要执行将 master.master.tar.gz 传输到 Slave 节点、在 Slave 节点解压文件的操作。
首次启动需要先在 Master 节点执行 NameNode 的格式化:
(在hadoop目录下执行)
bin/hdfs namenode -format
接着可以启动 hadoop 了,启动需要在 Master 节点上进行:(任然在hadoop目录下执行)
sbin/start-all.shsbin/mr-jobhistory-daemon.sh start historyserver
最后输入jps命令即可查看hadoop启动信息
jps
通过http://(master的Ip):50070 查看结果
通过以下命令关闭hadoop集群
sbin/stop-all.shsbin/mr-jobhistory-daemon.sh stop historyserver
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- hadoop集群搭建
- Hadoop集群的搭建
- Hadoop集群搭建
- Hadoop集群搭建
- 搭建hadoop集群
- Nutch+Hadoop集群搭建
- Hadoop集群搭建
- Hadoop集群搭建
- Hadoop环境搭建-集群
- 搭建hadoop集群
- 搭建hadoop集群
- Hadoop集群搭建
- Nutch+Hadoop集群搭建
- 如何搭建hadoop集群
- hadoop分布式集群搭建
- Hadoop集群搭建
- 第12周项目3—数组类运算的实现
- sas:利用SQL连接表
- html学习笔记(一)
- 日常开发——Service, Notification显示下载进度
- C# 委托 回调 操作UI主线程 学习笔记
- hadoop集群搭建
- JAVA学习(10) 继承(4) 抽象类和抽象方法
- Freemodbus RTU在stm32上的移植分析
- MyBatis注意事项
- 第十四周阅读程序(2)
- 开源智能家居系统openHAB的安装使用
- c++ 优先队列
- 〔C# Note〕面向对象篇
- uva10976—分数拆分