下载Hadoop-2.7.2
下载JAVA
VMware启动linux
注意事项:
- VMware设置网络为nat模式
- linux设置启动后自动连接网络
方法一:修改配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0
,将ONBOOT=no 改成 yes 就表示开机后默认链接etho
方法二:右击网络链接图标-> Edit Connections… -> 选中“System eth0” 选择Edit 出现下面的对话框 把 Connect automatically 选上->右下角Apply - linux设置开机进入文本模式
修改配置文件vi /etc/inittab
,将最后一行 id:5 中的5改为3
windows下ssh连接linux
- 下载Xshell或putty
Xshell 百度云下载
putty百度云下载 - 查看linux的ip命令:
ifconfig
,假设查出的ip为192.168.1.5 - 使用Xshell连接linux命令:
ssh 192.168.1.5
- 在Xshell中就可以操作linux了
更改linux主机名
vi /etc/sysconfig/network
,修改HOSTNAME=node1(主机名)vi /etc/hosts
,最后添加一行:192.168.1.5 node1reboot
重启ping node1
检查是否配置成功
Windows下上传文件到linux
- 安装winscp:百度云下载
- 以sftp方式连接到192.168.1.5
- 上传hadoop和java文件到/home目录下
linux安装java
删除自带的OpenJDK
[root@node1 ~]# rpm -qa|grep java java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 tzdata-java-2013g-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 [root@node1 ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
- 安装java:
[root@node1 home]# rpm -ivh jdk-8u91-linux-x64.rpm
设置JAVA_HOME:修改配置文件
vi /etc/profile
,最后一行添加以下代码export JAVA_HOME=/usr/java/jdk1.8.0_91 export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$PATH:$JAVA_HOME/bin
- 命令:
source /etc/profile
使文件立即生效 - 命令:
java -version
检测是否安装成功
linux配置ssh免密码登录
- 生成密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
- 把公钥加到用于认证的公钥文件中
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
- 验证ssh免密码登录
ssh localhost
若不需要输入密码则配置成功 - 如果登陆失败,把.ssh文件夹删除,做以上步骤
安装hadoop
- 解压hadoop文件:
tar -zxvf hadoop-2.7.2.tar.gz
新建文件夹
[root@node1 hadoop-2.7.2]# mkdir tmp [root@node1 hadoop-2.7.2]# mkdir tmp/dfs [root@node1 hadoop-2.7.2]# mkdir tmp/dfs/data [root@node1 hadoop-2.7.2]# mkdir tmp/dfs/name
配置hadoop-env.sh和yarn-env.sh中的JAVA_HOME
[root@node1 hadoop-2.7.2]# vim etc/hadoop/hadoop-env.sh
export JAVA_HOME=/usr/java/jdk1.8.0_91
单机模式运行
core-site.xml -------------------------------- <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.232.130:9000</value> </property> <property> <name>mapred.job.tracker</name> <value>hdfs://192.168.233.130:9001</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop-2.7.2/tmp</value> </property> </configuration> hdfs-site.xml ------------------------------- <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.permissions</name> <value>false</value> </property> <property> <name>dfs.hosts.exclude</name> <value>node2,node3</value> </property> </configuration> slaves ------------------------------- node1
运行命令:
bin/hdfs namenode -format sbin/start-dfs.sh
至此hdfs分布式文件系统已启用
配置hadoop的HA(高可用性)修改hdfs-site.xml文件:
[root@node1 hadoop-2.7.2]# vim etc/hadoop/hdfs-site.xml
<configuration> <property> <name>dfs.nameservices</name> <value>jhclu</value> </property> <property> <name>dfs.ha.namenodes.jhclu</name> <property> <name>dfs.namenode.rpc-address.jhclu.nn1</name> <value>node1:8020</value> </property> <property> <name>dfs.namenode.rpc-address.jhclu.nn2</name> <value>node2:8020</value> </property> <property> <name>dfs.namenode.http-address.jhclu.nn1</name> <value>node1:50070</value> </property> <property> <name>dfs.namenode.http-address.jhclu.nn2</name> <value>node2:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://node2:8485;node3:8485;node4:8485/jhclu</value> </property> <property> <name>dfs.client.failover.proxy.provider.jhclu</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/root/.ssh/id_dsa</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/jn/data</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> </configuration>