Linux

Uninstall openJDK in centOS6.x
# java -version
java version "1.6.0_24"
OpenJDK Runtime Environment (IcedTea6 1.11.1) (rhel-1.45.1.11.1.el6- x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b12, mixed mode)

# rpm -qa|grep java
tzdata-java-2012c-1.el6.noarch
java-1.6.0-openjdk-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

# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.45.1.11.1.el6.x86_64
# rpm -e --nodeps java-1.6.0-openjdk-devel-1.6.0.0-1.45.1.11.1.el6.x86_64
# java -versions
bash: /usr/bin/java: No such file or directory
# echo %PATH%
%PATH%
# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/vbird/bin

#可看到openJDK已经卸载啦。
===============================
# chmod +755 ./jdk-6u27-linux-x64.bin
#./jdk-6u27-linux-x64.bin

=================================

设置环境变量的三种方法:
#当前shell生效法
export JAVA_HOME=/root/jdk1.6.0_33
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH

#/etc/profile 所有用户都可共享的一种方法
#set JDK1.6,TOMCAT6.x,Hadoop1.0环境
export JAVA_HOME=/usr/local/jdk1.6.0_33
export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar
export PATH=$JAVA_HOME/bin:$PATH
export TOMCAT_HOME=/usr/local/apache-tomcat-6.0.35
export HADOOP_HOME=/usr/local/hadoop-1.0.0
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export CLASSPATH=$HADOOP_HOME/share/hadoop/hadoop-core-1.0.0.jar
#用source运行该配置文件,使其立即生效
source /etc/profile


#单独设置当前login的帐号的配置文件只对当前用户有效。 /home/用户/.bashrc
#root帐号:/root/.bashrc
#set java environment

JAVA_HOME=/root/jdk1.6.0_33

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

PATH=$JAVA_HOME/bin:$PATH

export JAVA_HOME CLASSPATH PATH
#用source运行该配置文件,使其立即生效
source /root/.bashrc
echo $PATH
=================
master:制密钥:
1,ssh-keygen -t rsa
(默认~/.ssh/id_rsa)
2,# scp /root/.ssh/
id_rsa id_rsa.pub known_hosts
3,将id_rsa.pub(公钥)分发你所信任的主机上:
分发公钥
scp ~/.ssh/id_rsa.pub 用户名@IP:~/master_key
如:(我用的是root用户)
scp /root/.ssh/id_rsa.pub root@192.168.1.107:~/master_key
===slaves:
1,mkdir /root/.ssh (我当前用的是root用户)
2,chmod 700 /root/.ssh/
3,mv /root/master_key /root/.ssh/authorized_keys
4,chmod 600 /root/.ssh/authorized_keys

Linux基础服务:FTP、SSH、Telnet、SVN、Xmanager
应用软件:Haproxy、Keepalive
缓存:Memcached、Libevent
CentOS-5.6
netstat -a |more
>tcp :ssh LIST
/etc/rc.d/init.d/sshd start 重启

安装Hadoop集群简要步骤:
1) 规划服务器
2) 安装Linux服务器
3) 创建用户
4) 开启FTP服务
5) 配置SSH无密码登录
6) 安装JDK
7) 安装和配置Hadoop
8) 启动验证Hadoop
具体如下:
前六步略。

安装和配置Hadoop
第零步:修改机器名
默认系统没有机器名称,需要统一规划集群名称例如:slave01表示集群网络中IP地址为x.x.x.1所在的服务设备。
例如:设备修改机器名
1,vi /etc/hosts 新增如下内容
192.168.1.122 master
192.168.1.124 slave01
192.168.1.107 slave02
2,修改/etc/sysconfig/network文件中的HOSTNAME为主机名
NETWORKING=yes
HOSTNAME=master
以相同方式分别修改:192.168.1.124及192.168.1.107,
主机名为:slave01及slave02

hostname重启生效。
一,在namenode上按如下修改hadoop六大配置文件:
6337
修改后的文件如下:
1,cat hadoop-env.sh
# The java implementation to use. Required.
export JAVA_HOME=/usr/local/jdk1.6.0_33

2,cat hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
3,cat core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.1.122:9000</value>
</property>
</configuration>
4,cat mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>192.168.1.122:9001</value>
</property>
</configuration>
5,# cat masters
192.168.1.124
6,# cat slaves
192.168.1.124
192.168.1.107
二:将其复制到其他datanode节点上:
scp core-site.xml hadoop-env.sh hdfs-site.xml mapred-site.xml masters slaves @192.168.1.122:/usr/local/hadoop-1.0.0/etc/hadoop
将六大配置文件copy到192.168.1.122(默认root用户,是login shell)的安装目录相应的配置文件目录下。
如:/usr/local/hadoop-1.0.0/etc/hadoop
三:查看是否有执行权限,无则给,有执行start-all.sh 启动hadoop.用stop-all.sh来停止hadoop.
最后启动验证Hadoop是否成功:
######192.168.1.122#####
主节点(namenode)
# jps
31092 JobTracker
30915 NameNode
31798 Jps

######192.168.1.124#####
从节点1(datenode)
# jps
8273 Jps
8213 TaskTracker
8108 SecondaryNameNode
8003 DataNode

######192.168.1.107#####
从节点2(datenode)
# jps
21664 TaskTracker
21543 DataNode
22574 Jps

或者:
http://192.168.1.122:50030/jobtracker.jsp
在Cluster Summary表格中可以看Nodes这一列,因为我布署了两个数据节点(datanode),所以这儿的Nodes为2.
====================HAProxy的安装=======
负载均衡主要两种实现方式,一种是硬负载,一种是软负载。硬负载是用专门的硬件(服务器)来作其负载均衡器,但昂贵。
HAProxy - 可靠、高性能的TCP/HTTP 软件负载均衡器.
软件负载均衡一般通过两种方式来实现:基于操作系统的软负载实现和基于第三方应用的软负载实现。LVS就是基于Linux操作系统实现的一种软负载,HAProxy就是开源的并且基于第三应用实现的软负载。

HAProxy相比LVS的使用要简单很多,功能方面也很丰富。当前,HAProxy支持两种主要的代理模式:"tcp"也即4层(大多用于邮件服务器、内部协议通信服务器等),和7层(HTTP)。在4层模式下,HAproxy仅在客户端和服务器之间转发双向流量。7层模式下,HAProxy会分析协议,并且能通过允许、拒绝、交换、增加、修改或者删除请求(request)或者回应(response)里指定内容来控制协议,这种操作要基于特定规则。
HAProxy安装:
0,下载并复制。
如:/usr/local
1,解压缩
tar -zxvf haproxy-1.4.13.tar.gz -C /usr/local
2,对所有者给其执行权限
chmod u+x haproxy-1.4.13.tar.gz
3,进入解压后的源代码目录,编译安装
make TARGET=linux26 PREFIX=/usr/local/haproxy install
安装完成后会在安装目录下生成doc ,sbin ,share三个文件夹。解压的源码文件也可以删除掉。
# cd haproxy
# ll -l
total 12
drwxr-xr-x 3 root root 4096 Aug 16 12:15 doc
drwxr-xr-x 2 root root 4096 Aug 16 12:15 sbin
drwxr-xr-x 3 root root 4096 Aug 16 12:15 share
4,创建配置文件
4,创建配置文件
在安装目录下建立配置文件目录
mkdir conf
并在conf下建立haproxy.cfg文件。
最小文件内容如下:
####haproxy cfg maked by me #####
global
log 127.0.0.1 local0 info #[err warning info debug]
maxconn 4096
user root
group root
daemon
nbproc 1
pidfile /root/haproxy/logs/haproxy.pid
defaults
maxconn 2000
contimeout 5000
clitimeout 30000
srvtimeout 30000
listen admin_stats
bind 0.0.0.0:1080
mode http
log 127.0.0.1 local0 err

stats uri /admin?stats
4.启动HAProxy
===/root/haproxy/logs/haproxy.pid===
==应在当前的用户家目录下提前建好目录haproxy,logs。
如用户vbird,则vbird家目录为:/home/vbird/,
就root用户很特殊,root的家目录为:/root。

进入安装目录下的sbin目录

启动HAProxy

./haproxy -f /usr/local/haproxy/conf/haproxy.cfg

通过浏览器访问“http://xxx.xxx.xxx.xxx:1080/admin?stats“(xxx为IP),看到管理页面即OK
如:http://192.168.1.122:1080/admin?stats
5.修改haproxy启动文件权限
(如果你是用ROOT用户启动HAProxy,这步可以省略,这个步骤是为了能让非ROOT用户也能通过HAProxy监听80端口,因为LIUNX的80端口一定要使用ROOT账户启动)

使用root账户进入sbin目录

更改haproxy的所有者为root

chown root:root haproxy

给haproxy增加S权限

chmod u+s haproxy
注意:S权限

6,配置日志

创建日志目录

使用非root账户这里是admin账户创建日志文件

#mkdir /home/admin/haproxy/logs
mkdir /root/haproxy/logs
修改操作系统的日志配置

HAProxy可以收集本机及其他后端服务器日志,但是需要在HAProxy和操作系统上作一些配置。

使用root账户首先修改/etc/sysconfig/syslog文件,将SYSLOGD_OPTIONS="-m 0” 修改为SYSLOGD_OPTIONS="-m 0 -r -x",支持收集远程服务器日志。
然后修改/etc/syslog.conf,增加如下语句:

local0.* /home/admin/haproxy/logs/haproxy.log // haproxy.log地址代表了需要存储日志的地址,其中local0这个级别要和haproxy.cfg配置的log级别一样

执行service syslog restart,重新启动系统日志器

更改日志文件用户

chown admin:admin /home/admin/haproxy/logs/haproxy.log

7.创建启动/停止脚本(如果你认为现在的启动脚本已经够方便了,这步可以省略)
为了方便以后启动或停止,所以编写一个启动脚本

在sbin目录下创建hactl.sh

vi hactl.sh

填入一下内容

#!/bin/sh#

cd `dirname $0`/..

BASE_DIR="`pwd`"

ARGV="$@"

start()

{

echo "START HAPoxy SERVERS"

$BASE_DIR/sbin/haproxy -f $BASE_DIR/conf/haproxy.cfg

}

stop()

{

#haproxy.pid的路径是haproxy.cfg文件中配置的

echo "STOP HAPoxy Listen"

kill -TTOU $(cat $BASE_DIR/logs/haproxy.pid)

echo "STOP HAPoxy process"

kill -USR1 $(cat $BASE_DIR/logs/haproxy.pid)

}

case $ARGV in

start)

start

ERROR=$?

;;

stop)

stop

ERROR=$?

;;

restart)

stop

start

ERROR=$?

;;

*)

echo "hactl.sh [start|restart|stop]"

esac

exit $ERROR

保存后,给hactl.sh增加可执行权限

chmod 755 hactl.sh

这样就可以使用./ hactl.sh [start|restart|stop] 的方式启动,关闭,重启了,如果你使用的目录和例子中不一样的话,需要自己对应的修改下以上脚本的目录地址

经过以上1-6步骤以后HAProxy的安装已经结束,之后就是详细的配置下haproxy.cfg文件了
(这一步我没有试过)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值