hadoop为分部安装步骤:使用root用户登陆,不是su root
(1)配置完网络之后(也就是可以正常访问外网),可以通过service network restart来进行重启网卡
修改主机名:
(2)修改当前会话中的主机名执行hostname hadoop
(3)修改配置文件中的主机名,执行vi/etc/sysconfig/network 重启机器
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=bp1
GATEWAY=192.168.1.1
(4)将主机名(hadoop)与ip绑定:vi/etc/hosts 最后添加:192.168.159.12 hadoop 也就是vmware 的ip+主机名
(5)关闭防火墙
执行:service iptables stop
验证:service iptables status
(6)关闭防火墙的自动进行:查看防火墙是否还会在某一个等级上进行启动:
chkconfig –list | grep iptables会查看到有的还会在on状态
执行chkconfig iptables off进行关闭,再次查看就会看到全是off
(7)ssh(secureshell)的免密码登陆
①执行命令ssh-keygen –t rsa产生秘钥位于~/.ssh文件夹中
②执行命令cp ~/.ssh/id_rsa.pub ~/.ssh authorized_keys
验证:ssh localhost
(8)安装jdk
①执行rm –rf /usr/local/*删除所有的无用文件
②用winscp把jdk文件从wincdows复制到/tmp/lsp下
③执行命令chmod u+x jdk-6u24-linux-i586.bin赋予执行那个I权限
④执行./jdk-6u24-linux-i586.bin解压缩
⑤执行命令mv jdk1.6.0_24 jdk进行文件夹的重命名(主要是为了简单)
⑥设置环境变量,执行命令vi /etc/profile设置环境变量,增加了2行内容
export JAVA_HOME=/usr/local/jdk
export PATH=.:$JAVA_HOME/bin:$PATH
保存退出
执行命令:source/etc/profile让设置立即生效
验证:java –version 即可
(9)安装hadoop
①执行命令:tar –zxvf hadoop-1.1.2.tar.gz进行解压
②执行命令:mv hadoop-1.1.2 hadoop 重命名
③设置环境变量vi /etc/profile 设置环境变量,增加
export HADOOP_HOME=/usr/local/jdk
修改export PATH=.:$HADOOP_HOME/bin: $HADOOP_HOME/bin:$PATH
保存退出
执行命令:source/etc/profile立即使用
④默认情况下hadoop是一种本地执行模式,为了适应为分部形式需要
修改hadoop配置文件:位于$HADOOP_HOME/conf目录下
修改四个文件hadoop-env.sh、core-site.xml、hdfs-site.xml mapred-site.xml
1.hadoop-env.sh 修改第9行
export JAVA_HOME=/usr/local/jdk/
2.core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://hadoop:9000</value> 这个的地方是自己电脑的主机名
<description>change your ownhostname</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
</property>
</configuration>
3.hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
4.mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hadoop:9001</value> 这个的地方是自己电脑的主机名
<description>change your own hostname</description>
</property>
</configuration>
5、对Hadoop进行格式化 执行命令:hadoopnamenode –format
6、启动hadoop:start-all.sh
验证成功启动(1)其实启动的就是java进程,可以通过命令:jps查看启动的java进程,应该是有5个:namenode、datanode、SecondaryNameNode、jobtracker、tasktracker
(2)通过虚拟机linux的浏览器:50070端口(namenode是否存活)和50030(jobtracker是否存活)
http://hadoop:50070 http://hadoop:50030
如果要使得可以在windows下直接访问以上的连接,可以通过修改windows的配置文件进行修改映射,文件路径为:C:\Windows\System32\drivers\etc\hosts文件 增加:
192.168.159.12 hadoop 即可完成在windows下面通过浏览器来访问
7、namenode进程(节点)没有启动成功?
原因:(1)没有格式化
(2)配置文件只拷贝,不修改
(3)主机名hostname与ip没有绑定
(4)ssh的免密码登陆没有配置成功
8、多次格式化hadoop也是错误的?
如果多次格式化了,解决方案:删除/usr/local/hadoop/tmp文件夹,重新格式化
对于真实的集群配置,和伪分布的形式差不多,需要增加的地方是:
(1)在编辑/etc/hosts文件时候,除了自身的内容也要加上之外,集群中的其它服务器也要加上,以NameNode为例
图片中的bp1为NameNode节点声明,其它的都是slave节点,在其它的slave节点服务器上也要进行完全相同的修改,以此让所有服务器之间都能够互相通信
(2)编辑hadoop安装目录/usr/hadoop/conf/下的masters文件,声明主机是哪一个服务器,所有的slave服务器也要做完全相同的配置,知晓哪一台是主NameNode
(3)编辑hadoop安装目录/usr/hadoop/conf/下的slaves文件,声明哪些是slave节点,只需做slave节点的配置就可以了,每个集群中的服务器都要进行配置
除了以上几点,集群的配置和伪分布式配置基本完全一样,按流程走下来之后,再进行配置修改就可以了