1.1.安装包
-
安装配置Java环境:jdk-7u80-linux-x64.tar.gz
-
安装配置Hadoop:hadoop-2.6.0.tar.gz
-
安装配置Hbase:hbase-1.0.2-bin.tar.gz
1.2.网络配置
主机名 | IP |
Node1 | 192.168.1.100 |
Node2 | 192.168.1.101 |
1.3.常用命令
# systemctl start foo.service #运行一个服务
# systemctl stop foo.service #停止一个服务
# systemctl restart foo.service #重启一个服务
# systemctl status foo.service #显示一个服务(无论运行与否)的状态
# systemctl enable foo.service #在开机时启用一个服务
# systemctl disable foo.service #在开机时禁用一个服务
# systemctl is-enablediptables.service #查看服务是否开机启动
# reboot #重启主机
# shutdown -h now #立即关机
# source /etc/profile #配置文件修改立即生效
# yum install net-tools
2. 安装配置CentOS
2.1.配置IP
虚拟机ip配置忽略
2.1.1.配置hosts
# vi /etc/hosts
编辑内容:
192.168.1.100 node1
192.168.1.101 node2
2.2.关闭防火墙
# systemctl status firewalld.service #检查防火墙状态
# systemctl stop firewalld.service #关闭防火墙
# systemctl disable firewalld.service #禁止开机启动防火墙
2.3.关闭SELINUX
# vi /etc/selinux/config
编辑内容:
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
# setenforce 0 #使配置立即生效
2.4.时间同步
# yum install -y ntp #安装ntp服务
# ntpdate cn.pool.ntp.org #同步网络时间
2.5.配置nscd
安装nscd用于DNS刷新
# yum install nscd
# systemctl start nscd.service
2.6.安装配置jdk
2.6.1.安装jdk
上传jdk-7u80-linux-x64.tar.gz安装包到root根目录
# mkdir /usr/jdk1.7.0_80
# tar -zxvf jdk-7u80-linux-x64.tar.gz -C/usr/ jdk1.7.0_80/
# rm -rf jdk-7u80-linux-x64.tar.gz
2.6.2.各个主机之间复制jdk
# scp -r /usr/java node2:/usr
2.6.3.各个主机配置jdk环境变量
# vi /root/.profile
编辑内容:
export JAVA_HOME=/usr/jdk1.7.0_80
# source /etc/profile #使配置文件生效
# java -version #查看java版本
2.7.配置ssh无密钥访问
分别在各个主机上检查ssh服务状态:
# systemctl status sshd.service #检查ssh服务状态
# yum install openssh-serveropenssh-clients #安装ssh服务,如果已安装,则不用执行该步骤
# systemctl start sshd.service #启动ssh服务,如果已安装,则不用执行该步骤
分别在各个主机上生成密钥
# ssh-keygen -t rsa #生成密钥
在node2上
# cp ~/.ssh/id_rsa.pub ~/.ssh/node2.id_rsa.pub
# scp ~/.ssh/node2.id_rsa.pub node1:~/.ssh
在node1上
# cd ~/.ssh
# cat id_rsa.pub >> authorized_keys
# cat node2.id_rsa.pub >>authorized_keys
# scp authorized_keys node2:~/.ssh
3. 安装配置hadoop
3.1.安装hadoop
上传hadoop-2.6.0-x64.tar.gz安装包到root根目录
# tar -zxvf hadoop-2.6.0-x64.tar.gz -C /usr
# rm -rf hadoop-2.6.0-x64.tar.gz
# mkdir /usr/hadoop-2.6.0/tmp
# mkdir /usr/hadoop-2.6.0/logs
# mkdir /usr/hadoop-2.6.0/hdf
# mkdir /usr/hadoop-2.6.0/hdf/data
# mkdir /usr/hadoop-2.6.0/hdf/name
3.1.1.修改slaves
# vi /usr/hadoop-2.6.0/etc/hadoop/slaves
配置内容:
删除:localhost
添加:
node2
3.1.2.修改core-site.xml
# vi/usr/hadoop-2.6.0/etc/hadoop/core-site.xml
配置内容:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://node1:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop-2.6.0/tmp</value>
</property>
</configuration>
3.1.3.修改hdfs-site.xml
# vi/usr/hadoop-2.6.0/etc/hadoop/hdfs-site.xml
配置内容:
<configuration>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/hadoop-2.6.0/hdf/data</value>
<final>true</final>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/hadoop-2.6.0/hdf/name</value>
<final>true</final>
</property>
</configuration>
3.1.4.修改mapred-site.xml
# cp/usr/hadoop-2.6.0/etc/hadoop/mapred-site.xml.template/usr/hadoop-2.6.0/etc/hadoop/mapred-site.xml
# vi/usr/hadoop-2.6.0/etc/hadoop/mapred-site.xml
配置内容:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>node1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>node1:19888</value>
</property>
</configuration>
3.1.5.修改yarn-site.xml
# vi /usr/hadoop-2.6.0/etc/hadoop/yarn-site.xml
配置内容:
<configuration>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>node1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>node1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>node1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>node1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>node1:8088</value>
</property>
</configuration>
3.2.各个主机之间复制hadoop
# scp -r /usr/hadoop-2.6.0 node2:/usr
3.3.各个主机配置hadoop环境变量
# vi /root/.profile
编辑内容:
export HADOOP_HOME=/usr/hadoop-2.6.0
exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
exportHADOOP_LOG_DIR=/usr/hadoop-2.6.0/logs
export YARN_LOG_DIR=$HADOOP_LOG_DIR
3.4.格式化namenode
# cd /usr/hadoop-2.6.0/sbin
# hdfs namenode -format
3.5.启动hadoop
启动hdfs:
# cd /usr/hadoop-2.6.0/sbin
# start-all.sh
检查hadoop启动情况:
http://192.168.1.100:8088/cluster
检查进程:
# jps
node1主机包含ResourceManager、SecondaryNameNode、NameNode等,则表示启动成功,例如
2212 ResourceManager
2484 Jps
1917 NameNode
2078 SecondaryNameNode
各个slave主机包含DataNode、NodeManager等,则表示启用成功,例如
17153 DataNode
17334 Jps
17241 NodeManager
4. 安装配置hbase
4.1.安装hbase
上传hbase-1.0.2-bin.tar.gz安装包到root根目录
# tar -zxvf hbase-1.0.2-bin.tar.gz -C /usr
# mkdir /usr/hbase-1.0.2/logs
4.1.1.修改hbase-env.sh
# vi /usr/hbase-1.0.2/conf/hbase-env.sh
配置内容:
export JAVA_HOME=/usr/jdk1.7.0_80
export HBASE_LOG_DIR=${HBASE_HOME}/logs
export HBASE_MANAGES_ZK=true
4.1.2.修改regionservers
# vi /usr/hbase-1.0.2/conf/regionservers
配置内容:
删除:localhost
添加:
node1
node2
4.1.3.修改hbase-site.xml
# vi /usr/hbase-1.0.2/conf/hbase-site.xml
配置内容:
<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://node1:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>node1,node2,node3</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/zk-data</value>
</property>
<property>
<name>hbase.node1</name>
<value>hdfs://node1:60000</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>60010</value>
</property>
</configuration>
4.2.各个主机之间复制hbase
# scp -r /usr/hbase-1.0.2 node2:/usr
4.3.启动hbase
启动hbase:
# cd /usr/hbase-1.0.2/bin
# ./start-hbase.sh
检查hbase启动情况(之前版本hbase站点的端口为60010):
http://192.168.1.100:16010/master-status
http:// 192.168.1.101:16030/rs-status
检查进程:
# jps
node1主机包含ResourceManager、SecondaryNameNode、NameNode、HQuorumPeer、HMaster等,则表示启动成功,例如
2212 ResourceManager
2999 Jps
2697 HQuorumPeer
1917 NameNode
2078 SecondaryNameNode
2751 HMaster
各个slave主机包含DataNode、NodeManager、HRegionServer、HQuorumPeer等,则表示启用成功,例如
17540 Jps
17142 NodeManager
17338 HRegionServer
17278 HQuorumPeer
17055 DataNode