您的当前位置:首页部署HADOOP的实现过程

部署HADOOP的实现过程

2021-07-21 来源:飒榕旅游知识分享网


HADOOP集群安装部署

1 前言

本文档是设想在多台服务器上部署HADOOP的实现过程;

2 创建用户

建议同个集群中的用户和用户组,都是相同的,以便管理和维护。

2.1 生成创建用户的运行角本

为不同服务器创建同样的用户和组,创建脚本的目的是让不同服务器可以直接运行此脚本,实现用户创建的过程。

用root用户登录linux,运行命令:

[root@T5038 opt]# vi createuser.sh

[root@T5038 opt]# chmod 777 createuser.sh

文件内容如下:

mkdir /opt;

mkdir /opt/analysis;

export LANG=\"zh_CN.GB18030\";

groupadd analyzer -f;

useradd analyzer -d /opt/analysis -g analyzer -p analyzer@123;

chmod 755 -R /opt/analysis;

chown analyzer:analyzer /opt/analysis;

passwd analyzer<< EOF

analyzer@123

analyzer@123

EOF

2.2 同步创建用户脚本

同步上面的createuser.sh到各服务器:

[root@T5038 opt]# rsync -avz createuser.sh root@10.12.3.93:/opt/ << EOF

111mm@sz.com

EOF

或:

[root@T5038 opt]# scp -P 7411 /opt/createuser.sh root@10.12.3.93:/opt/

2.3 运行创建用户脚本

用root登录各服务器,运行脚本:

[root@T5038 opt]# ./ createuser.sh

3 设置/etc/hosts文件

3.1 设置/etc/hosts文件内容:

[root@T5038 opt]# su – root

[root@T5038 opt]# vi /etc/hosts

Hosts的内容参考:

---IP地址--- ---机器名---

10.12.3.88 T5038

10.12.3.89 T5039

10.12.3.90 T5040

3.2 同步/etc/hosts到其它各服务器

[root@T5038 opt]# scp -P 7411 /etc/hosts 10.12.3.103:/etc/hosts

yes

111mm@sz.com

4 设置免密码登录

设置集群中各服务器间免密码登录对hadoop的运行没影响,但设置后,可以通过一台服务器启动集群中所有的hadoop节点,而不用频繁登录到各台服务器进行逐台启动。

设置过程:本地运行ssh-keygen -t rsa后,把生成的id_rsa.pub在多台机器间相互拷贝;

4.1 生成生成公钥、密钥

切换到analyzer用户,运行命令:ssh-keygen -t rsa,运行过程中,直接多次按回车键即可;

[root@T5038 opt]# su - search

[analyzer @T5038 opt]# ssh-keygen -t rsa

Generating public/private rsa key pair.

Enter file in which to save the key (/opt/analysis/hadoop/.ssh/id_rsa):

Created directory '/opt/analysis/hadoop/.ssh'.

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /opt/analysis/hadoop/.ssh/id_rsa.

Your public key has been saved in /opt/analysis/hadoop/.ssh/id_rsa.pub.

The key fingerprint is:

c1:d4:a5:56:94:ca:d4:27:15:6b:6f:5f:c3:c9:23:e2 hadoop@T5037

4.2 复制id_rsa.pub文件

复制本地id_rsa.pub到远程服务器,使远程服务器登录本地可以免密码登录。

[analyzer@T5038 opt]#cd /opt/ analysis /.ssh

[analyzer@T5038 /id_rsa_ip1.pub

opt]#scp -P 7411 id_rsa.pub analyzer@remoteIP:/opt

4.3 生成authorized_keys文件内容

在各服务器,生成authorized_keys文件的内容,它可以是多个不同服务器的id_rsa.pub的内容整合,命令如下:

[analyzer@T5038 opt]#cat id_rsa_ip1.pub id_rsa_ip2.pub >authorized_keys

4.4 设置权限

权限问题(权限过大或过小)都可能导致远程免密码登录失败。

[analyzer@T5038 opt]#chmod 644 authorized_keys

-rw-r--r-- 1 hadoop hadoop 788 06-17 09:59 authorized_keys

4.5 测试免密码登录

如不用输入密码而直接登录远程服务器,则表示设置成功;运行命令如下:

[analyzer@T5038 opt]#ssh -p 7411 10.12.3.88

5 设置环境变量

5.1 设置.bash_profile文件

[analyzer@linux434 ~]$ vi ~/.bash_profile

PATH=$PATH:$HOME/bin

export PATH

unset USERNAME

export JAVA_HOME=$HOME/jdk1.6.0_21

export PATH=$JAVA_HOME/bin:$PATH

export HADOOP_HOME=$HOME/hadoop-0.20.3

export HIVE_HOME=$HOME/hive

5.2 生效处理

[analyzer@linux434 ~]$ source ~/.bash_profile

6 jdk 安装

如果还没安装JDK,则先进行安装。

[analyzer@linux434 ~]$ su - root

[analyzer@linux434 ~]$ mkdir /application/search/jdk1.6.0_21/

[analyzer@linux434 ~]$ vi .bash_profile

JAVA_HOME=/application/search/jdk1.6.0_21

PATH=$JAVA_HOME/bin:$PATH

CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export JAVA_HOME

export PATH

export CLASSPATH

7 hadoop install

7.1 hadoop配置

1.登录到master节点linux430,首先将hadoop压缩包hadoop-0.20.2.tar.gz分别远程拷贝到所有slave的用户根目录上,\"scp hadoop-0.20.2.tar.gz hadoop@linux426:~\"。

2.在各个slave解压该文件,\"tar xvzf hadoop-0.20.2.tar.gz\"。

3.在master上,切换到~/hadoop-0.20.2/conf目录,vi打开hadoop-env.sh,为方便起见,统一修改JAVA_HOME的路径,\"export JAVA_HOME=/opt/jdk1.6.0_18\"。jdk事先已安装,且每个节点路径一致。这里hadoop-env.sh是每个节点用于配置自身运行环境的脚本,可以自行设置节点特定的内容。

4.编辑masters文件,设置masters节点地址为linux430。编辑slaves文件,同样输入所有slave节点,以回车分隔,分别为:linux425,linux426,linux427,linux428,linux429,linux431,linux432。

5.编辑core-site.xml文件,设置hdfs对外的统一地址,内容如下:

fs.default.name

hdfs://T5401:9000/

true

6.编辑hdfs-site.xml文件,设置hdfs的真实文件存放位置,内容如下:

dfs.name.dir

/application/search/hadoop/hdfs/name

true

dfs.data.dir

/application/search/hadoop/hdfs/data

true

fs.checkpoint.dir

/application/search/hadoop/hdfs/namesecondary

true

7.编辑mapred-site.xml文件,设置mapreduce的一些重要参数,内容如下:

mapred.job.tracker

T5041:9001

true

mapred.local.dir

/application/search/hadoop/mapred/local

true

mapred.system.dir

/tmp/hadoop/mapred/system

true

mapred.tasktracker.map.tasks.maximum

7

true

mapred.tasktracker.reduce.tasks.maximum

7

true

mapred.child.java.opts

-Xmx600m

7.2 设置hadoop中用到的SSH端口号

系统默认的SSH端口号是22,当使用其它端口时,为使start-all.sh能正常运行,可以设置hadoop中用到的SSH端口号,在conf/hadoop-env.sh文件中增加:

export HADOOP_SSH_OPTS=\"-p 7411\" 即可。

7.3 同步hadoop安装文件到集群中的其它服务器

scp -P 7411 -r /opt/analysis/hadoop-0.20.3 analyzer@10.12.3.87: /opt/analysis /hadoop-0.20.3

scp -P 7411 -r /opt/analysis/hadoop-0.20.3 analyzer@10.12.3.88: /opt/analysis /hadoop-0.20.3

7.4 hadoop集群初始化

./hadoop-0.20.3/bin/hadoop namenode -format

7.5 Hadoop启动

7.5.1 启动命令

./hadoop-0.20.3/bin/start-all.sh

7.5.2 正常的启动日志

-bash-3.2$ ./hadoop-0.20.3/bin/start-all.sh

starting namenode, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-namenode-T5038.out

T5037: starting datanode, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-datanode-T5037.out

T5038: starting datanode, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-datanode-T5038.out

T5038: starting secondarynamenode, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-secondarynamenode-T5038.out

starting jobtracker, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-jobtracker-T5038.out

T5037: starting tasktracker, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-tasktracker-T5037.out

T5038: starting tasktracker, logging to

/opt/analysis/hadoop-0.20.3/bin/../logs/hadoop-analyzer-tasktracker-T5038.out

7.6 Hadoop关闭

7.6.1 关闭命令

./hadoop-0.20.3/bin/stop-all.sh

7.6.2 正常的关闭日志

-bash-3.2$ ./hadoop-0.20.3/bin/stop-all.sh

stopping jobtracker

T5037: stopping tasktracker

T5038: stopping tasktracker

stopping namenode

T5037: stopping datanode

T5038: stopping datanode

T5038: stopping secondarynamenode

8 HIVE安装部署

从网上下载后,直接解压即可。

9 安装部署derby

9.1 官方文档网址

http://wiki.apache.org/hadoop/HiveDerbyServerMode

9.2 下载derby

下载地址:http://db.apache.org/derby/derby_downloads.html

或者可以直接从其他已有derby的服务器上,把文件夹复制到待安装服务器。

下载后,无须安装,直接解压在某指定目录,即可。

设置

Derby启动时,默认是启动本地(localhost)的1527端口的服务,在/etc/hosts文件中配置以下内容:

127.0.0.1 localhost.localdomain localhost

9.3 启动及关闭

启动和关闭时,参数-h需一致。

9.3.1 启动命令

nohup /application/search/db-derby-10.6.2.1-bin/bin/startNetworkServer -h 127.0.0.1 &

9.3.2 关闭命令

nohup /application/search/db-derby-10.6.2.1-bin/bin/stopNetworkServer -h 127.0.0.1 &

./hadoop fs -ls

./hadoop fs -rm /warehouse/dict.txt

./hadoop fs -put /application/search/sls-0.1/conf/dict.txt /warehouse/dict.txt

因篇幅问题不能全部显示,请点此查看更多更全内容