hadoop集群安装(多机,非伪集群)
2015-07-27 17:54
417 查看
1. 创建用户
创建hadoop用户组:sudo addgroup hadoop
创建hadoop用户:sudo adduser -ingroup hadoop hadoop
为hadoop用户分配root权限:sudo gedit /etc/sudoers
按回车键就可以打开sudoers文件
在root ALL=(ALL:ALL) ALL下面添加hadoop ALL=(ALL:ALL) ALL
2. 修改机器名
系统安装之后默认的名称为"ubuntu",为了在集群中能够分辨各台服务器,我们需要修改机器名,机器名由/etc/hostname文件决定。
打开/etc/hostname文件:sudo gedit /etc/hostname
将"ubuntu"改为规定的机器名,比如"master"
3. 安装JDK
将已经下载的jdk-7u79-linux-x64.tar.gz复制到ubuntu上。
拷贝到/usr/local路径:
解压:cd /usr/local进入到jdk压缩包所在路径;解压缩sudo tar -zxvf jdk-7u79-linux-x64.tar.gz,回车出现量的压缩信息,压缩完之后查看该目录下的文件,会发现多了个文件夹,如图
设置环境变量
打开/etc/profile文件,将以下内容拷贝进去。
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300 sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300 sudo update-alternatives --config java sudo update-alternatives --remove-all 变量名 测试JDK
输入java -version测试环境
系统Java环境安装完毕
4. 安装SSH服务
hdfs通过ssh控制节点之间的通讯,所以ssh一定要设置。
sudo apt-get install ssh openssh-server
5. 设置SSH免密码连接,在master节点上生成key成功流程: hadoop@master 用户下 sudo gedit /home/sudoers 添加权限 hadoop@master 用户下 sudo gedit /etc/hosts 添加客户机/服务器 cd ~/.ssh ssh-keygen -t rsa 然后无脑回车 cat id_rsa.pub >> authorized_keys 将密钥写入公钥 cat authorized_keys 查看公钥 sudo scp authorized_keys hadoop@slave03:/home/hadoop/.ssh 将公钥发给客户机/3号服务器 ssh slave03 链接客户机/服务器
出现上图所示就说明可以连通,输入exit命令,推出ssh登陆状态。再次输入ssh slave03即可自动链接,否则没成功
二、 配置集群
1. 解压hadoop安装包
与安装jdk的步骤一样,将hadoop-2.6.0.tar.gz移动到/usr/local下,解压后在/usr/local目录下多一个文件夹,如图
将hadoop-2.6.0.tar.gz文件重命名为hadoop
sudo mv hadoop-2.6.0.tar.gz hadoop
2. 将hadoop文件的权限添加给hadoop组的hadoop用户
sudo chown -R hadoop:hadoop hadoop
3. 设置linux系统的hadoop环境变量
export J***A_HOME=/opt/jdk1.7.0_79
export JRE_HOME=$J***A_HOME/jre
export HADOOP_HOME=/usr/local/hadoop
export CLASSPATH=.:$J***A_HOME/lib:$JRE_HOME/lib
export PATH=$J***A_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH
4. 修改/etc/hosts文件
打开/etc/hosts文件,将各个节点的机器名与IP对应
211.69.255.01 slave01 ................
5. 配置/etc/hadoop/hadoop-env.sh文件
指定其中的jdk路径[code]/opt/jdk1.7.0_79
6. 配置/etc/hadoop/core-site.xml文件
打开core-site.xml文件,配置如下。<property> <name>fs.default.name</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop-datastore/hadoop-hadoop</value> </property>
(注:其中的hadoop.tmp.dir项不要按默认的设置,默认的设置会将这个文件夹指定到tmp目录下,一旦NameNode关机或者重启,集群中所有的存储文件将丢失)
7. 配置hdfs-site.xml文件
打开hdfs-site.xml文件,配置如下<property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property>8。配置mapred-site.xml文件<property> <name>mapred.job.tracker</name> <value>master:9001</value> </property>
9. 配置slaves文件
里面配置的都是集群中的机器名,与hosts文件形成映射。
打开etc/hadoop/slaves文件,配置如下masterslave01slave02slave03
(注意这里必须加入master主机域名)10. 将配置好的hadoop发给每一个slave节点scp -r /usr/local/hadoop hadoop@slave01:/usr/local这个命令很6哦,如果发现一台机子配置没配好,或者有更改,就用这种命令将文件发给每一台机子
在slave节点上,分别把得到的hadoo文件的权限分配给hadoop用户组的hadoop用户,执行如下命令
sudo chown -R hadoop:hadoop hadoop
11. 启动hadoop这里则要注意是在bin的上一层目录执行
第一次启动hadoop集群需要对namenode进行格式化,执行命令:bin/hdfs namenode -format。只有第一次启动的时候需要格式化,以后都不需要。
格式化完成后执行sbin/start-all.sh脚本启动全部服务。
三、 测试集群
运行 bin/hdfs dfsadmin -report在控制台查看dfs的状态
也可在浏览器访问master节点的50070端口
可以看到有3个活着的datanode。注意:(1)如果搭建不成功则sbin/stop-all.sh关闭服务,清除tmp和你配置的存储数据的文件夹,清空后,然后在配置
恭喜你搭建成功
相关文章推荐
- 在32位ubuntu中安装docker并且成功启动容器
- errno值(linux )
- operator 的主要用法
- RGB图像转换到CIELab空间的研究及优化
- css 网站大背景(按比例缩放背景图片)
- 阿里云Linux新手入门一
- 解决Linux系统在设置alias命令重启后失效的问题
- 让 Vim 支持 nginx 语法(syntax) 格式化配置文件
- 【linux高级程序设计】(第九章)进程间通信-管道 2
- 运维必须掌握的Linux面试题
- Centos6.3 中文输入法
- opencv各类滤波器详解
- SAP HANA 高可用性 (High Availability) 解决方案 (二) - Host Auto-Failover, 节点失效自动切换
- linux学习
- PopupWindow点击外部区域消失(二)
- CentOS6.6下安装JDK7
- 查看linux系统的版本,查看linux系统对的位数
- with admin option 与with grant option
- 系统架构师经验总结
- thinkphp nginx 上配置 并解决get获取到数据现象