1. 程式人生 > >hadoop生態搭建(3節點)-12.rabbitmq配置

hadoop生態搭建(3節點)-12.rabbitmq配置

sysctl stop 3.0 dfs use erl boot 限制 app

# 安裝 需要相關包
# ==================================================================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

hadoop生態搭建(3節點)-12.rabbitmq配置