Hadoop安装配置文件(超级详细)-文件名太长

Hadoop安装配置文件(超级详细)-文件名太长

1. 创建虚拟机、安装CentOS6.5操作系统(此过程省略);

2. 将虚拟机克隆三个;

3. 把克隆出来的三个虚拟机修改主机名;vi /etc/sysconfig/network

4. 配置网卡:vi /etc/sysconfig/network-scripts/ifcfg-eth0

注意:在VMware里克隆出来的CentOS Linux,开机执行命令:ifconfig...没有看到eth0网卡。然后重启网卡又报以下错误:

Bringing up interface eth0: Device eth0 does not seem to be present,delaying initialization. [FAILED]

解决办法:

首先,打开/etc/udev/rules.d/70-persistent-net.rules内容如下面所示:

记录下eth1网卡的mac地址

接下来,打开/etc/sysconfig/network-scripts/ifcfg-eth0网卡配置文件

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

将 DEVICE="eth0" 改成 DEVICE="eth1" ,

HWADDR="00:0c:29:8f:89:97" 改成上面的mac地址 HWADDR="00:0c:29:50:bd:17"

最后,重启网络# /etc/init.d/network restart正常了。

5. 添加主机名和IP地址映射关系:sudo vi /etc/hosts添加“主机名 IP地址”

192.168.46.120 hadoop0

192.168.46.121 hadoop1

192.168.46.122 hadoop2

192.168.46.123 hadoop3

6. 关闭防火墙:sudo service iptables stop

7. 检查防火墙关闭情况:service iptables status

8. 关闭防火墙自启动:chkconfig iptables off

9. 查看防火墙自启动情况:chkconfig iptables –list

10. 关闭Slinx:(修改配置文件需要重启机器)

修改/etc/selinux/config 文件(vi /etc/selinux/config )将SELINUX=enforcing改为SELINUX=disabled重启机器即可

11. 配置SSH免密码登录:

1) 查看是否安装ssh服务命令:yum list installed | grep ssh

2) 查看进程中是否启动了ssh:ps -Af | grep sshd

3) 生成当前用户下公私密钥对:ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

4) 复制粘贴主节点的公钥到其他三台主机(从节点)的authorized_keys(文件名位置固定就在~/.ssh下面)中(authorized_keys文件自建,也可以id_rsa.pub改名字为authorized_keys)

5) 修改authorized_keys权限为644:chmod 644 authorized_keys

12. 根目录下建个soft文件夹用来存放jdk和hadoop的安装包:mkdir /soft

13. 进入soft文件夹下面,上传jdk和hadoop的安装包:rz 文件名

14. 解压:tar -xzvf jdk-8u144-linux-x64.tar.gz

15. 解压:tar -xzvf hadoop-2.7.3.tar.gz

16. 可以删除压缩包hadoop-2.7.3.tar.gz 和jdk-8u144-linux-x64.tar.gz了:rm –rf hadoop-2.7.3.tar.gz,rm -rf hadoop-2.7.3.tar.gz 。jdk1.8.0_144、hadoop-2.7.3太长,配置环境变量的时候麻烦,修改一下名字:mv jdk1.8.0_144 jdk,mv hadoop-2.7.3 hadoop。

17. 在/soft/tmp创建一个文件夹,用来存放HDFS临时文件:mkdir tmp

18. 配置JDK环境变量:编辑/etc/profile文件:vi /etc/profile在文档的最后面添加

export JAVA_HOME=/soft/jdk

export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:$JAVA_HOME/bin

export HADOOP_HOME=/soft/hadoop

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

19. 配置生效:source /etc/profile

20. 配置core-site.xml文件(先建立文件夹/soft/hadoop/tmp): vi core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/soft/tmp</value>

</property>

<property>

<name>fs.default.name</name>

<value>hdfs://hadoop0:9000</value>

</property>

</configuration>

21. 配置hdfs-site.xml文件:vi hdfs-site.xml

<configuration>

<property>

<name>dfs.http.address</name>

<value>hadoop0:50070</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>hadoop0:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>3</value>

</property>

</configuration>

22. 配置vi mapred-site.xml文件(先改名:mv mapred-site.xml.template mapred-site.xml)

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hadoop0:9001</value>

</property>

<property>

<name>mapred.map.tasks</name>

<value>20</value>

</property>

<property>

<name>mapred.reduce.tasks</name>

<value>4</value>

</property>

<property>

<name>mapreduce.framwork.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>hadoop0:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>hadoop0:19888</value>

</property>

</configuration>

23. 配置hadoop-env.sh:vi hadoop-env.sh

这个文件要修改的地方就是JAVA_HOME环境变量,刚才我们设置过JAVA_HOME的,在我的案例里改成如下——

# The java implementation to use.

export JAVA_HOME=/soft/jdk

24. 配置yarn-env.sh: vi yarn-env.sh

yarn的环境配置,同样只需要修改JAVA_HOME就行,找到下面这行——

# some Java parameters

export JAVA_HOME=/soft/jdk

25. 配置slaves: vi slaves

这是设置从节点hostname的地方,一行一个,我们的例子里只要在文件里写上如下两行就行了

hadoop1

hadoop2

hadoop3

26. 配置yarn-site.xml文件:vi yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

<name>yarn.resourcemanager.address</name>

<value>hadoop0:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>hadoop0:8030</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>hadoop0:8088</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>hadoop0:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>hadoop0:8033</value>

</property>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>

<value>org.apache.hadoop.mapred.ShuffleHandler</value>

</property>

</configuration>

27. 格式化namenode: ./bin/hdfs namenode –format(在/soft/hadoop下进行)

推荐阅读