1.环境
1.1.虚拟机
准备3台虚拟机,安装redhat6 64-bit操作系统,采用最小安装,内存均分配512MB。在笔记本上这样配置略慢
虚拟机一律配置静态IP地址,配置域名解析,各虚拟机时间同步。
一、 配置hosts文件
将每个结点的 IP 地址设置完成后,就可以配置 hosts 文件了, hosts 文件路径为 /etc/hosts ,我的 hosts 文件配置如下,大家可以参考自己的 IP 地址以及相应的主机名完成配置
192.168.1.104 node1
192.168.1.106 node2
192.168.1.105 master
二、 配置ssh免密码连入
(1) 每个结点分别产生公私密钥。
每个结点: ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa cat id_dsa.pub >> authorized_keys
单机回环登录测试 ssh localhost
让主节点通过ssh免登录到子节点,两个子节点的公钥必须包含主节点的公钥信息
1.例如 node1 : scp root@master:~/.ssh/id_dsa.pub ./master_dsa.pub
cat master_dsa.pub >> authorized_keys
master: ssh node1
node1,node2和master都做相同的步骤
参考截图:
2 hadoop安装
2.3.配置文件
进入配置文件目录:cd hadoop-2.5.0/etc/hadoop
2.3.1.core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
2.3.2.hdfs-site.xml
<configuration>
<property>
<name>dfs.nameservices</name>
<value>hadoop-cluster1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///home/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///home/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permission</name>
<value>false</value>
</property>
</configuration>
2.3.3.mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobtracker.http.address</name>
<value>master:50030</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>
2.3.4.yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:8088</value>
</property>
</configuration>
2.3.5.slaves
node1
node2
2.3.6.修改JAVA_HOME
分别在文件 hadoop-env.sh和yarn-env.sh中添加JAVA_HOME配置export JAVA_HOME=/usr/java/jdk1.7.0_71
</pre><pre name="code" class="html"><strong>
</strong>
2.3.7 复制到各个节点中
<span style="font-size: 14px; font-family: Arial, Helvetica, sans-serif;">scp -r ./hadoop2.5.0 node1:/usr/local/</span>
scp -r ./hadoop2.5.0 node2:/usr/local/
2.4.格式化文件系统
bin/hdfs namenode -format 用hadoop namenode -format会提示hadoop命令已经废弃但是还能用
<span style="font-size:24px;">2.5.启动、停止服务</span>
1. 启动
[root@master sbin]# ./start-dfs.sh
[root@master sbin]# ./start-yarn.sh
2. 停止
[root@master sbin]# ./stop-dfs.sh
[root@master sbin]# ./stop-yarn.sh
./start-all.sh 和./stop-all.sh都已经被废弃
3.验证
3.1.查看启动的进程
[root@master sbin]# jps
7854 Jps
7594 ResourceManager
7357 NameNode
http://192.168.1.105:50070/dfshealth.html#tab-overview
3 hbase安装
1. hbase-site.xml配置
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://master:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>master,node1,node2</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/home/hadoop/zk</value>
</property>
<property>
<name>hbase.zookeeper.property.clientPort</name>
<value>2181</value>
</property>
</configuration>
2. hbase-env.sh配置
export JAVA_HOME=/usr/java/jdk1.7.0_71/
export HBASE_MANAGES_ZK=true
3.regionservers配置
node1
node2
</pre><pre name="code" class="html"><span style="font-size:24px;"><strong>4.分发到各个节点</strong></span>
<span style="font-family: Arial, Helvetica, sans-serif;">scp -r ./hbase-0.98.7 node1:/usr/local/</span>
scp -r ./hbase-0.98.7 node2:/usr/local/
5. 启动hbase
start-hbase.sh
6. 问题
如果启动hbase后Hmaster秒退,可以关闭防火墙 service iptables stop 和关闭hadoop安全模式 hdfs dfsadmin -safemode leave
7. 验证
hbase shell ---> list
http://192.168.1.105:60010/master-status
**可配置环境变量/etc/profile
<pre name="code" class="html">JAVA_HOME=/usr/java/jdk1.7.0_51
HADOOP_HOME=/usr/local/hadoop
HBASE_HOME=/usr/local/hbase
PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin
export JAVA_HOME HADOOP_HOME HBASE_HOME PATH