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
hadoop生態搭建(3節點)-12.rabbitmq配置