hadoop121与habase分布式搭建Word文档格式.docx
《hadoop121与habase分布式搭建Word文档格式.docx》由会员分享,可在线阅读,更多相关《hadoop121与habase分布式搭建Word文档格式.docx(25页珍藏版)》请在冰豆网上搜索。
TYPE=Ethernet
UUID=088c53ce-94c9-4c48-86fc-109d817c3ff3
NM_CONTROLLED=yes
DNS1=61.139.2.69
DNS2=8.8.8.8
IPV6INIT=yes
IPV6_AUTOCONF=yes
重启网络配置
Servicenetworkrestart
静止使用IP6
serviceip6tablesstop#停止IPV6服务
chkconfigip6tablesoff#禁止IPV6开机启动
配置网络主机名
vi/etc/sysconfig/network#编辑配置文件
Vi/etc/hosts
4、安装wget
yum-yinstallwget
5、安装JDK
输入命令java-version查看是否默认已经安装jdk
如果默认已经安装jdk,则卸载自带版本
Rpm-qa|grepjdk查看默认版本
yumremovejava-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64(删除java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64)
在home下创建java目录
Mkdir/home/java
进入/home/java
Cd/home/java
下载jdk
Wget
解压jdk
tarzxvfjdk-7u60-linux-x64.tar.gz
配置jdk环境变量
Vi/etc/profile
新增如下内容:
#setjavaenvironment
exportJAVA_HOME=/home/java/jdk1.7.0_60
exportJRE_HOME=$JAVA_HOME/jre
exportCLASSPATH=.:
$JAVA_HOME/lib:
$JAVA_HOME/jre/lib:
$CLASSPATH
exportPATH=$JAVA_HOME/bin:
$PATH
重启/etc/profile
Source/etc/profile
6、配置master和slave
机器名
IP
作用
master
10.20.200.217
Namenode、master、jobtracker
slave1
Datanode、slave、tasktracker
Slave2
修改各服务器的/etc/hosts配置
vi/etc/hosts
内容为:
10.20.200.217mastermaster
10.20.200.217slave1slave1
10.20.200.217slave2slave2
修改各服务器/etc/sysconfig/network
vi/etc/sysconfig/network
NETWORKING=yes
HOSTNAME=master(master为各服务器名称master/slave1/slave2)
7、配置无密码ssh
查看有没有安装openssh-clients
Rpm-qa|grepopenssh-clients
如果没有就安装
yum-yinstallopenssh-clients
创建hadoop文件夹
Mkdir/usr/hadoop
把hadoop文件夹下配置ssh无密码登陆
ssh-keygen-trsa-f~/.ssh/id_rsa这里会提示输入passphrase,一定不要输入任何字符,回车即可
cat~/.ssh/id_rsa.pub>
>
~/.ssh/authorized_keys
测试ssh
sshlocalhost
如果还是提示需要输入密码,请修改:
chmod600~/.ssh/authorized_keys
还可以用rsa认证方式:
使用root登陆所有机器后,所有的机器都创建hadoop用户。
使用以下命令:
useraddhadoop--创建hadoop用户
passwdhadoop--设置hadoop用户密码
把/home/hadoop中hadoop文件夹授权给hadoop账号,首先到/home目录命令:
cd/home
授权命令:
chown
-R
hadoop.hadoop
hadoop/
用root账户登陆所有节点,修改linux系统安全配置。
命令:
vi/etc/selinux/config按键盘小写i进行编辑,设置SELINUX=disabled
按键盘Esc退出编辑,输入命令:
:
wq保存退出文件
用hadoop账号登陆master,进入hadoop文件夹,命令:
cd/hadoop
生成其无密码秘钥对,命令:
ssh-keygen-trsa-P'
'
对/home/hadoop/.ssh的.ssh文件夹授权,命令:
chmod755~/.ssh
在master节点进入.ssh目录,命令:
cd.ssh
执行把id_rsa.pub追加到授权key里面命令:
cat/home/hadoop/.ssh/id_rsa.pub>
/home/hadoop/.ssh/authorized_keys
用root账号登陆master节点,进入.ssh目录,命令:
cd/home/hadoop/.ssh
安全设置,会让RSA功能生效,命令:
chmod644/home/hadoop/.ssh/authorized_keys(备注:
如果不进行设置,在验证时,仍提示你输入密码。
)
用root用户登录master修改SSH配置文件"
/etc/ssh/sshd_config"
的下列内容。
RSAAuthenticationyes#启用RSA认证
PubkeyAuthenticationyes#启用公钥私钥配对认证方式
AuthorizedKeysFile.ssh/authorized_keys#公钥文件路径(和上面生成的文件同)
命令:
vi/etc/ssh/sshd_config
按键盘小写的i进入编辑,对照上面的配置进行编辑,编辑完成后按键盘Esc退出编辑,然后数据命令:
wq退出保存文件
重启ssh,使其配置生效,命令:
servicesshdrestart
验证是否是无密码登陆,命令:
suhadoop
cd/home/hadoop
sshlocalhost
效果如下图:
把公钥从master节点复制所有的Slave机器上,
复制到192.168.1.27命令:
scp/home/hadoop/.ssh/id_rsa.pubhadoop@192.168.1.27:
/home/hadoop/.ssh/
复制到192.168.1.26命令:
scp/home/hadoop/.ssh/id_rsa.pubhadoop@192.168.1.26:
复制到192.168.1.25命令:
scp/home/hadoop/.ssh/id_rsa.pubhadoop@192.168.1.25:
用hadoop账号登陆各slave节点把Master.Hadoop的公钥追加到各个slave.Hadoop的授权文件"
authorized_keys"
中去,命令:
追加并修改"
文件权限,命令:
chmod644/home/hadoop/.ssh/authorized_keys
把所有节点下的"
/home/hadoop/.ssh"
目录下的"
id_rsa.pub"
文件删除掉。
rm/home/hadoop/.ssh/id_rsa.pub-rf
退出所有slave节点hadoop登陆,命令:
exit
用root用户在各个slave节点上修改SSH配置文件"
用hadoop账号所有slave节点,进入hadoop文件夹,命令:
把所有slave数据节点的秘钥分别(注意:
要一个配置完成后,删除拷贝到master节点上的id_rsa.pub文件后,再继续下一个)拷贝到master节点,命令:
scp/home/hadoop/.ssh/id_rsa.pubhadoop@192.168.1.28:
/home/hadoop/
用hadoop账号登陆master节点,把slave数据节点的秘钥追加到master的授权key里面,命令:
cat/home/hadoop/id_rsa.pub>
删除id_rsa.pub文件,直到把所有slave数据节点的秘钥追加到master节点为止:
删除id_rsa.pub文件命令:
rm/home/hadoop/id_rsa.pub
8、安装hadoop
进入hadoop文件夹
Cd/usr/hadoop
下载hadoop
解压hadoop
tarzxvfhadoop-1.2.1.tar.gz
配置hadoop环境变量
vi/etc/profile
#sethadooppath
exportHADOOP_HOME=/usr/hadoop/hadoop-1.2.1
exportPATH=$PATH:
$HADOOP_HOME/bin
重新执行配置文件,命令:
source/etc/profile
创建hadoop运行时的临时目录
Mkdir/usr/hadoop/hadoop-1.2.1/tmp
进入hadoop/conf目录
Cd/user/hadoop/hadoop-1.2.1/conf
修改"
/user/hadoop/hadoop-1.2.1/conf/hadoop-env.sh"
vi/usr/hadoop/hadoop-1.2.1/conf/hadoop-env.sh
添加JAVA_HOME,命令:
#setjavaenvironment
exportJAVA_HOME=/home/java/jdk1.7.0_60
修改修改Hadoop核心配置文件core-site.xml,这里配置的是HDFS的地址和端口号
core-site.xml:
<
configuration>
<
property>
<
name>
fs.default.name<
/name>
value>
hdfs:
//hadoop.cd.test:
9000<
/value>
/property>
hadoop.tmp.dir<
/usr/hadoop/tmp<
/configuration>
备注:
如没有配置hadoop.tmp.dir参数,此时系统默认的临时目录为:
/tmp/hadoo-hadoop。
而这个目录在每次重启后都会被干掉,必须重新执行format才行,否则会出错。
修改hdfs-site.xml:
<
<
dfs.replication<
2<
dfs.support.append<
true<
dfs.permissions<
false<
dfs.datanode.max.xcievers<
4096<
<
replication第一项设定了文件系统备份的个数,默认为3,salve少于3台就会报错,第二项允许对文件的append操作,是为HBase设置的,第三项关闭权限检查,方便以后的远程的hadoop-eclipse插件访问hdfs,第四项设置DataNode同时可供访问的文件数上限,由于HBase需要同时操作大量的文件,该项至少要设置为4096。
修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。
mapred-site.xml:
mapred.job.tracker<
hadoop.cd.test:
9001<
配置masters,配置masters文件有两种方案:
一种是修改localhost为Master.Hadoop;
另一种是去掉"
localhost"
,加入Master机器的IP:
192.168.1.28,为保险起见,启用第二种,因为万一忘记配置"
/etc/hosts"
局域网的DNS失效,这样就会出现意想不到的错误,但是一旦IP配对,网络畅通,就能通过IP找到相应主机。
配置hadoop的master
vimasters
192.168.1.28
配置slaves文件(Master主机特有)也有两种方案:
一种是去掉"
,每行只添加一个主机名,把剩余的Slave主机名都填上;
,加入集群中所有Slave机器的IP,也是每行一个。
这里采用第二种,原因和添加"
masters"
文件一样,选择第二种方式。
vislaves
192.168.1.27
192.168.1.26
用hadoop账号登陆master节点,把hadoop安装及配置拷到各Slave节点,命令:
Scp-r/usr/hadoop/hadoop-1.2.1/hadoop@192.168.1.27:
/usr/hadoop/hadoop-1.2.1/
scp-r/usr/hadoop/hadoop-1.2.1/hadoop@192.168.1.26:
格式化,命令:
./bin/hadoopnamenode–format
启用hadoop,命令:
./bin/start-all.sh
9、安装zookeeper
登陆master节点,在hadoop目录下创建zookeeper目录
Cd/usr/hadoop/hadoop-1.2.1
mkdirzookeeper
进入zookeeper目录
cdzookeeper/
下载zookeeper-3.4.5.tar.gz
wget
在zookeeper目录下创建zookeeper日志文件目录,命令:
mkdir/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeper-3.4.5/data
mkdir/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeper-3.4.5/logs
解压zookeeper-3.4.5.tar.gz,命令:
tarzxvfzookeeper-3.4.5.tar.gz
解压后,将conf目录下的zoo-example.cfg文件重命名为zoo.cfg,命令:
cdzookeeper-3.4.5/conf/
mvzoo-example.cfgzoo.cfg
#新建myid文件
~echo"
1"
>
/home/conan/zoo/zk1/myid
新建myid文件
Echo“1”/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeper-3.4.5/data/myid
修改配置文件,命令;
vizookeeper-3.4.5/conf/zoo.cfg
dataDir=/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeper-3.4.5/data
dataLogDir=/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeper-3.4.5/logs
server.1=10.20.200.217:
2888:
3888
server.2=10.20.200.217:
3888
dataDir默认在/tmp下,系统重启会导致数据丢失。
后面的三行在文件的末尾,每行描述一个节点。
然后将配置好的Zookeeper分发到server.1/2/3上的/usr/hadoop/hadoop-1.2.1/zookeeper/zookeeprt-3.4.5下,并在每一个节点的dataDir,即/usr/hadoop/hadoop-1.2.1/zookeeper/data下创建一个myid文件,其中包含一个该节点对应的数字,即server.1/2/3中'
.'
后面的数字,该数字应该在1-255之间。
把master节点配置好的zookeeper拷贝到所有slave节点,命令:
scp-r/usr/hadoop/hadoop-1.2.1/zookeeper/*hadoop@192.168.1.27:
/usr/hadoop/hadoop-1.2.1/zookeeper/
scp-r/usr/hadoop/hadoop-1.2.1/zookeeper/*hadoop@192.168.1.26:
在各个slave节点的启动zookeeper,命令:
./zookeeper-3.4.5/bin/zkServer.shstart
查看各个slave节点zookeeper状态,命令:
./zookeeper-3.4.3/bin/zkServer.shstatus
停止zookeeper,命令:
./zookeeper-3.4.5/bin/zkServer.shstop
10、安装hbase
登陆master服务器,创建hbase目录
Cd/usr/hadoop/hadoop-1.2.1
mkdirhbase
进入hbase