【大数据(一)】hadoop2.4.1集群搭建(重点)
?
1.准备Linux环境
1.0先将虚拟机的网络模式选为NAT
1.1修改主机名
vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=server1.itcast.cn
1.2修改ip地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
重新启动网络:service network restart
1.3修改ip地址和主机名的映射关系
vi /etc/hosts
127.0.0.1 ??localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 ????????localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.101 server1.itcast.cn
1.4关闭防火墙iptables并设置其开机启动/不启动
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
1.5 修改sudo
(sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具)
1.??su root???#进入超级用户
2.??ll /etc/sudoers???#查看/etc/sudoers的权限
3.??chmod 777 /etc/sudoers??#修改/etc/sudoers文件的权限成可读可写可执行
4 ???vi ?/etc/sudoers
# 给hadoop用户添加执行的权限
??root ???ALL=(ALL) ??????ALL
hadoop ?ALL=(ALL) ??????ALL?
5.??chmod 440 /etc/sudoers???#退出保存/etc/sudoers文件
6.??su username??#切换用户到指定用户
7. 关闭linux服务器的图形界面:
(1)vi ?/etc/inittab
(2)id:5:initdefault:??------>??id:3:initdefault:
8.重启Linux:Reboot?
1.6 虚拟机复制??
?右键-->管理-->克隆
(1)解决克隆后eth0不见的问题
直接修改 ?/etc/sysconfig/network-script/ifcfg-eth0
删掉UUID ?HWADDR
配置静态地址
(2)然后:
vi /etc/udev/rules.d/70-persistent-net.rules
???删除eth0的一段
???把第二段的最后 eth1 改成eth0
然后 reboot
????????????????????????????????????????
2.安装JDK
2.1上传安装包
alt+p 后出现sftp窗口,然后put d:\xxx\yy\ll\jdk-7u_65-i585.tar.gz
2.2解压jdk
#创建文件夹
mkdir /home/hadoop/app
#解压
tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app
2.3将java添加到环境变量中
vi /etc/profile
#在文件最后添加
export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#刷新配置
source /etc/profile
3.安装hadoop2.4.1
3.1上传安装包
alt+p 后出现sftp窗口先上传hadoop的安装包到服务器上去/home/hadoop/
解压到 Hadoop/apps :?tar -zxvf hadoop-2.6.4.tar.gz -C /home/hadoop/apps
注意:hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件
3.2配置hadoop
????进入目录:cd ?/home/hadoop/apps/hadoop-2.6.4/etc/hadoop
第一个:hadoop-env.sh
vi hadoop-env.sh
#第27行?
编辑
export JAVA_HOME=/home/hadoop/apps/jdk1.7.0_45
第二个:core-site.xml
vi ?core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://mini1:9000</value>
</property>
(修改前的<value>hdfs://weekend-1206-01:9000</value>)
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hdpdata</value>
????????</property>
(修改前的<value>/home/hadoop/hadoop-2.4.1/tmp</value> ?)
</configuration>
第三个:hdfs-site.xml ??
???vi hdfs-site.xml
<!-- 指定HDFS副本的数量 -->
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>192.168.1.152:50090</value>
</property>
</configuration>
第四个:mapred-site.xml
(mv mapred-site.xml. ?template mapred-site.xml)
mv mapred-site.xml.template ?????mapred-site.xml
vim mapred-site.xml
<!-- 指定mr运行在yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
重命名:mv mapred-site.xml.template ???mapred-site.xml
第五个:yarn-site.xml
vi yarn-site.xml
<!-- 指定YARN的老大(ResourceManager)的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>mini1</value>
</property>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
??分发到各个mini2 ,mini3 的机器上
scp -r /home/hadoop/apps?mini2:/home/hadoop/
scp -r /home/hadoop/apps?mini3:/home/hadoop/
3.3将hadoop添加到环境变量
sudo vi /etc/profile
export JAVA_HOME=/usr/java/jdk1.7.0_65
export HADOOP_HOME=?/home/hadoop/apps/hadoop-2.6.4?
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile
分发到各个mini2 ,mini3 的机器上
sudo scp /etc/profile mini2:/etc/
sudo scp /etc/profile mini3:/etc/
3.4格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)
hdfs datanode -format
添加从节点
vi /home/hadoop/apps/hadoop-2.6.4/etc/Hadoop/slaves
localhost
mini2
mini3
3.5启动/关闭hadoop
#mini1:cd ?/home/hadoop/apps/hadoop-2.6.4/sbin
启动: hadoop-daemon.sh ?start namenode
关闭:hadoop-daemon.sh ?stop?namenode
#mini2: source /etc/profile
启动:hadoop-daemon.sh ?start datanode
关闭:hadoop-daemon.sh ?stop?datanode
#mini3
启动:hadoop-daemon.sh ?start datanode
关闭:hadoop-daemon.sh ?stop?datanode
先启动HDFS
sbin/start-dfs.sh
再启动YARN
sbin/start-yarn.sh
------------------------------------------------------------------------------
全部启动
路径:?cd ?/home/hadoop/apps/hadoop-2.6.4/sbin
./start-all.sh
./stop-all.sh
启动namenode
hadoop-daemon.sh start namenode
启动datanode
hadoop-daemon.sh start datanode
启动yarn
hadoop-daemon.sh start yarn
查看hdfs 状态
hdfs ?dfsadmin ?-report
??
3.6验证是否启动成功
使用jps命令验证
27408 NameNode
28218 Jps
27643 SecondaryNameNode
28066 NodeManager
27803 ResourceManager
27512 DataNode
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
4.配置ssh免登陆
系统重装后修改 ssh:
进入是vi ?/root/.ssh/known_hosts?删除对应的节点内容
--------------------------------------------------------------------------------
#生成ssh免登陆密钥
#进入到我的home目录:cd ~/.ssh
?(1) ssh-keygen (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免密登陆的目标机器上
?(2) ssh-copy-id mini2
---------------------------
ssh免登陆:
生成key:
ssh-keygen
复制从A复制到B上:
ssh-copy-id B
验证:
ssh localhost/exit,ps -e|grep ssh
ssh A ?#在B中执行
?
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!