hadoop 安装步骤
1.准备Linux环境
1.0先将虚拟机的网络模式选为NAT
1.1修改主机名
hostnamectl set-hostname server1
1.2修改IP
修改配置文件方式(修改的是网卡信息 ip a 查看网卡),第一次启动时没有ip的,需要将 网卡配置之中 ONBOOT=yes, 然后重启网络
vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="static" ### HWADDR="00:0C:29:3C:BF:E7" IPV6INIT="yes" NM_CONTROLLED="yes" ONBOOT="yes" TYPE="Ethernet" UUID="ce22eeca-ecde-4536-8cc2-ef0dc36d4a8c" IPADDR="192.168.1.101" ### NETMASK="255.255.255.0" ### GATEWAY="192.168.1.1" ###
1.3修改主机名和IP的映射关系(每台机器都要有)
192.168.33.101 server1
192.168.33.102 server2
192.168.33.103 server3
1.4关闭防火墙
#查看防火墙状态 service iptables status #关闭防火墙 service iptables stop #查看防火墙开机启动状态 chkconfig iptables --list #关闭防火墙开机启动 chkconfig iptables off
1.5 关闭linux服务器的图形界面:
vi /etc/inittab
1.6重启Linux
reboot
2.安装JDK
#创建文件夹 mkdir /home/hadoop/app #解压 tar -zxvf jdk-7u55-linux-i586.tar.gz -C /home/hadoop/app
2.3将java添加到环境变量中(如果在 .bashrc 之中配置了java环境变量,hadoop 是不需要指定 JAVA_HOME,如果在 /etc/profile 需要指定,因为 ssh 默认不会加载 /et/profile)
vim ~/.bashrc #在文件最后添加 export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585 export PATH=$PATH:$JAVA_HOME/bin
#刷新配置
source ~/.bashrc
3.安装hadoop2.4.1(要保证以下文件都有读写权限)
先上传hadoop的安装包到服务器上去/home/hadoop/
分布式需要修改5个配置文件
3.1配置hadoop
vim hadoop-env.sh
export JAVA_HOME=/home/hadoop/app/jdk-7u_65-i585
第二个:core-site.xml
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://server1:9000</value> </property> <!--hadoop 的默认用户--> <property> <name>hadoop.http.staticuser.user</name> <value>master</value> </property> <!--datanode.data.dir 存储文件目录, namenode.name.dir 元数据,namenode.edits.dir 日志目录 三者都依赖于此目录--> <property> <name>hadoop.tmp.dir</name> <value>/opt/modules/hadoop-2.7.0/data/tmp</value> </property>
第三个:hdfs-site.xml
<!--其他用户使用hdfs 操作文件,是否进行验证!--> <property> <name>dfs.permissions</name> <value>false</value> </property>
第四个:mapred-site.xml (mv mapred-site.xml.template mapred-site.xml)
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <!--日志页面的显示 ip:port--> <property> <name>mapreduce.jobhistory.address</name> <value>sserver1:10020</value> </property> <!--运行 yarn 任务跳转的页面--> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>server1:19888</value> </property>
第五个:yarn-site.xml
<property> <name>yarn.resourcemanager.hostname</name> <value>server1</value> </property> <!-- reducer获取数据的方式,一种辅助 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <!--开启日志聚集--> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!--日志存放的时间(s)--> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>100000</value> </property>
第六个 salves(代表着 DataNode个数, 在sbin/slaves 之中 ssh 遍历连接)
server1
server2
server3
3.2将hadoop添加到环境变量
vim /etc/proflie export JAVA_HOME=/usr/java/jdk1.7.0_65 export HADOOP_HOME=/master/hadoop-2.4.1 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin source /etc/profile
3.3 将 app 文件夹 配置到 其他的节点之上(节点信息与master配置信息是一样的)
scp -r app/ hdp-node-01:/home/slave
3.4 格式化namenode(是对namenode进行初始化)
hdfs namenode -format (hadoop namenode -format)
3.5启动hadoop
先启动HDFS sbin/start-dfs.sh 再启动YARN sbin/start-yarn.sh
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免登陆密钥 #进入到我的home目录 cd ~ ssh-keygen -t rsa #四个回车 #执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥) # master ,authorized_keys 文件(新生成) ssh-copy-id -i ~/.ssh/id_rsa.pub localhost #slave, authorized_keys 文件(新生成),此处是在 /etc/hosts 写入的(集群是相同的用户名) ssh-copy-id -i ~/.ssh/id_rsa.pub server1
5,注:更改文件夹权限
更改文件夹权限 # 切换超级权限 su # 当前文件夹所有的用户与组 chown -R hadoop:hadoop *