hadoop生态搭建(3节点)-12.rabbitmq配置

# 安装 需要相关包
# ==================================================================node1 node2 node3

yum install -y gcc gcc-c++ zlib zlin-devel perl ncurses-devel

# 安装 openssl
# ==================================================================node1

scp -r ~/openssl-1.1.0g.tar.gz node2:~/
scp -r ~/openssl-1.1.0g.tar.gz node3:~/

# ==================================================================node1 node2 node3

tar -zvxf ~/openssl-1.1.0g.tar.gz

cd openssl-1.1.0g

./config --prefix=/usr/local/openssl

# 修改Makefile
vi Makefile

#CFLAG= -DOPENSSL_THREADS
CFLAG= -fPIC -DOPENSSL_THREADS


# 执行执行
make && make install


rm -rf ~/openssl-1.1.0g.tar.gz
rm -rf ~/openssl-1.1.0g

# 安装 erlang
# ==================================================================node1

scp -r ~/otp_src_20.3.tar.gz node2:~/
scp -r ~/otp_src_20.3.tar.gz node3:~/

# ==================================================================node1 node2 node3

cd ~
tar -xf ~/otp_src_20.3.tar.gz

mkdir /usr/local/erlang

cd otp_src_20.3


# 配置安装路径编译代码
./configure --prefix=/usr/local/erlang --without-javac --with-ssl=/usr/local/openssl


# 执行编译结果
make && make install


# 完成后进入/usr/local/erlang查看执行结果
ls /usr/local/erlang


rm -rf ~/otp_src_20.3.tar.gz
rm -rf ~/otp_src_20.3


# 环境变量
vi /etc/profile

# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加

export JAVA_HOME=/usr/java/jdk1.8.0_111
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export MYSQL_HOME=/usr/local/mysql
export HBASE_HOME=/usr/local/hbase-1.2.4
export HIVE_HOME=/usr/local/hive-2.1.1
export SCALA_HOME=/usr/local/scala-2.12.4
export KAFKA_HOME=/usr/local/kafka_2.12-0.10.2.1
export FLUME_HOME=/usr/local/flume-1.8.0
export SPARK_HOME=/usr/local/spark-2.3.0
export STORM_HOME=/usr/local/storm-1.1.0
export ERLANG_HOME=/usr/local/erlang

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$STORM_HOME/bin:$ERLANG_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native


# 使环境变量生效
cd ~
source /etc/profile


# 查看配置结果
echo $ERLANG_HOME


cd $ERLANG_HOME

erl

# 退出
> halt().

 

# 安装 rabbitmq

# ==================================================================node1
# 解压rabbitmq,官方给的包是xz压缩包,所以需要使用xz命令

cd ~
xz -d ~/rabbitmq-server-generic-unix-3.7.5.tar.xz


#xz解压后得到.tar包,再用tar命令解压
tar -xvf rabbitmq-server-generic-unix-3.7.5.tar -C /usr/local


rm -rf ~/rabbitmq-server-generic-unix-3.7.5.tar

# 环境变量
# ==================================================================node1 node2 node3

vi /etc/profile

# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加

export JAVA_HOME=/usr/java/jdk1.8.0_111
export ZOOKEEPER_HOME=/usr/local/zookeeper-3.4.12
export HADOOP_HOME=/usr/local/hadoop-2.7.6
export MYSQL_HOME=/usr/local/mysql
export HBASE_HOME=/usr/local/hbase-1.2.4
export HIVE_HOME=/usr/local/hive-2.1.1
export SCALA_HOME=/usr/local/scala-2.12.4
export KAFKA_HOME=/usr/local/kafka_2.12-0.10.2.1
export FLUME_HOME=/usr/local/flume-1.8.0
export SPARK_HOME=/usr/local/spark-2.3.0
export STORM_HOME=/usr/local/storm-1.1.0
export ERLANG_HOME=/usr/local/erlang
export RABBITMQ_HOME=/usr/local/rabbitmq_server-3.7.5

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ZOOKEEPER_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$MYSQL_HOME/bin:$HBASE_HOME/bin:$HIVE_HOME/bin:$SCALA_HOME/bin:$KAFKA_HOME/bin:$FLUME_HOME/bin:$SPARK_HOME/bin:$SPARK_HOME/sbin:$STORM_HOME/bin:$ERLANG_HOME/bin:$RABBITMQ_HOME/ebin:$RABBITMQ_HOME/sbin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

# ==================================================================node1

# 使环境变量生效
source /etc/profile


# 查看配置结果
echo $RABBITMQ_HOME


scp -r $RABBITMQ_HOME node2:/usr/local/
scp -r $RABBITMQ_HOME node3:/usr/local/

# ==================================================================node2 node3

# 使环境变量生效
source /etc/profile


# 查看配置结果
echo $RABBITMQ_HOME

# 高并发设置

# ==================================================================node1 node2 node3

# 调整可打开文件/文件描述符数目(高并发支持)
# 调整系统限制
vi /etc/sysctl.conf

fs.file-max = 100000


# 使设置生效
sysctl -p


# 查看系统限制
sysctl fs.file-max


# 调整用户限制
vi /etc/security/limits.conf

* soft nofile 65536
* hard nofile 65536

 

shutdown -h now
# 快照 rabbitmq集群前

# ==================================================================node1 node2 node3

# 在后台启动Rabbit
rabbitmq-server -detached


# 安装web插件管理界面
# ==================================================================安装 rabbitmq_management插件
rabbitmq-plugins enable rabbitmq_management


# ==================================================================安全认证
# 添加用户(用户名 admin 密码 Rabbitmq*123456 )
rabbitmqctl add_user admin Rabbitmq*123456


# 设置用户角色(设置admin用户为管理员角色)
rabbitmqctl set_user_tags admin administrator


# 设置用户权限(设置admin用户配置、写、读的权限)
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"


# 删除用户(删除guest用户)
rabbitmqctl delete_user guest
# 注意:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。


# 创建和赋角色完成后查看并确认
rabbitmqctl list_users


# 查看状态
rabbitmqctl status


# 查看 admin 用户的权限
rabbitmqctl list_user_permissions admin


# 浏览器输入地址:http://node1:15672/
# 用户名密码: admin/Rabbitmq*123456


# 浏览器输入地址:http://node2:15672/
# 用户名密码: admin/Rabbitmq*123456

 

# 集群配置

# ==================================================================node1
find / -name ".erlang.cookie"


ll /root/.erlang.cookie


chmod 600 /root/.erlang.cookie


# 读取其中一个节点的cookie, 并复制到其他节点(节点之间通过cookie确定相互是否可通信)
# 查看rabbitmq的启动日志中 home dir
echo -n "RABBITMQERLANGCOOKIE" > /root/.erlang.cookie


cat /root/.erlang.cookie
#RABBITMQERLANGCOOKIE

# ==================================================================node2 node3
chmod 600 /root/.erlang.cookie


# ==================================================================node1
scp /root/.erlang.cookie node2:/root/.erlang.cookie
scp /root/.erlang.cookie node3:/root/.erlang.cookie


# ==================================================================node1 node2 node3


reboot


rabbitmq-server -detached


# 加入集群
# 默认是磁盘节点,如果是内存节点的话,需要加--ram参数
# 其中--ram代表是内存节点,如果希望是磁盘节点则不用加--ram,在rabbitmq集群中,至少需要一个磁盘节点
# ==================================================================node1
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
rabbitmqctl status


# ==================================================================node2
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster --ram rabbit@node1
rabbitmqctl start_app
rabbitmqctl status


# ==================================================================node3
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@node1
rabbitmqctl start_app
rabbitmqctl status


# ==================================================================node1
# 设置镜像策略
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'


rabbitmqctl cluster_status


# ==================================================================node1
# 创建和赋角色完成后查看并确认
rabbitmqctl list_users


# 需重新添加用户(用户名 admin 密码 Rabbitmq*123456 )
rabbitmqctl add_user admin Rabbitmq*123456


# 设置用户角色(设置admin用户为管理员角色)
rabbitmqctl set_user_tags admin administrator


# 设置用户权限(设置admin用户配置、写、读的权限)
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"


# 删除用户(删除guest用户)
rabbitmqctl delete_user guest
# 注意:rabbitmq从3.3.0开始禁止使用guest/guest权限通过除localhost外的访问。


# ==================================================================node1 node2 node3
# 创建和赋角色完成后查看并确认
rabbitmqctl list_users


rabbitmqctl cluster_status


# 浏览器输入地址:http://node1:15672/
# 用户名密码: admin/Rabbitmq*123456


# 浏览器输入地址:http://node2:15672/
# 用户名密码: admin/Rabbitmq*123456


rabbitmqctl stop



shutdown -h now
# 快照 rabbitmq

 

posted on 2018-10-16 21:57  风中追影  阅读(310)  评论(0编辑  收藏  举报

导航